@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Urbanist:wght@400;700&display=swap');

html {
	font-size: 16px;
}

body {
	position: relative;
	line-height: 1.75;
	font-family: 'Noto Sans JP', sans-serif;
	color: #262626;
	word-break: break-all;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	font-weight: 400;
	overflow-x: hidden;
}



p {
	display: block;
	margin-block-start: 0em;
	margin-block-end: 0em;
	margin-inline-start: 0px;
	margin-inline-end: 0px;
}

.bold {
	font-weight: 700 !important;
}


* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

*::after,
*::before {
	box-sizing: border-box;
}

img {
	max-width: 100%;
	height: auto;
}

main {
	display: block;
}


a {
	text-decoration: none;
	color: inherit
}

.clear {
	clear: both;
}

a[href^="tel:"] {
	cursor: default;
}

a[href^="tel:"]:hover {
	text-decoration: none;
}

br {
	font-size: 0;
}

.u-desktop {
	display: none;
}

main {
	overflow: hidden;
}

/* header */
.header__light {
	background-image: url(../images/common/base.png);
	background-repeat: no-repeat;
	background-size: cover;
	padding-top: 4vw;
	padding-bottom: 3.733vw;
	padding-left: 5.298vw;
	padding-right: 5.298vw;
	display: flex;
	justify-content: space-between;
}

.header__toggle-btn {
	width: 11.258vw;
	height: 11.258vw;
	background-color: transparent;
	border: 1px solid #fff;
	border-radius: 2px;
}

.toggle-btn {
	position: fixed;
	right: 5.298vw;
	z-index: 1000;
	background-color: #004cbc !important;
}

.header__logo-image {
	width: 59.205vw;
	height: 8.079vw;
	margin-top: 2.5vw;
}

/* menu button */
body .js-is-open {
	overflow: hidden;
}

.toggle-btn__items {
	width: 11.258vw;
	height: 11.258vw;
	position: relative;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	-o-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	background-color: transparent;
	display: block;
}

.toggle-btn__items .toggle-btn__item {
	display: block;
	position: absolute;
	height: 0.8vw;
	width: 6.3vw;
	background: #fff;
	opacity: 1;
	left: 48.5%;
	-webkit-transform: rotate(0deg) translateX(-50%);
	-moz-transform: rotate(0deg) translateX(-50%);
	-o-transform: rotate(0deg) translateX(-50%);
	transform: rotate(0deg) translateX(-50%);
	-webkit-transition: .25s ease-in-out;
	-moz-transition: .25s ease-in-out;
	-o-transition: .25s ease-in-out;
	transition: .25s ease-in-out;
	border-radius: 999px;
}

.toggle-btn__items .toggle-btn__item:nth-child(1) {
	top: 2.65vw;
}

.toggle-btn__items .toggle-btn__item:nth-child(2) {
	top: 5vw;
}

.toggle-btn__items .toggle-btn__item:nth-child(3) {
	top: 7.285vw;
}

.toggle-btn.js-is-open .toggle-btn__item:nth-child(1) {
	top: 4.7vw;
	left: 2.3vw;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-o-transform: rotate(135deg);
	transform: rotate(135deg);
}

.toggle-btn.js-is-open .toggle-btn__item:nth-child(2) {
	opacity: 0;
	left: -60px;
}

.toggle-btn.js-is-open .toggle-btn__item:nth-child(3) {
	top: 4.7vw;
	left: 2.3vw;
	-webkit-transform: rotate(-135deg);
	-moz-transform: rotate(-135deg);
	-o-transform: rotate(-135deg);
	transform: rotate(-135deg);
}

/* end menu button */
/* header-info */
.info-group {
	padding-bottom: 5.298vw;
}

.info-group__inner {
	padding-left: 5.298vw;
	padding-right: 1.3vw;
}

.info-group__upper {
	margin-top: 5.298vw;
	margin-bottom: 3vw;
	display: inline-flex;
	align-items: flex-end;
}

.info-group__tel-number {
	line-height: 1;
}

.tel-number__text {
	font-size: max(6.623vw, 16px);
	font-weight: 900;
}

.tel-number__icon-wrapper {
	margin-right: 2.649vw;
}

.tel-number__icon-img {
	width: 8.742vw;
	height: auto;
}

.info-group__work-time-text {
	font-size: max(3.974vw, 16px);
	font-weight: 500;
}

.tel-number {
	display: inline-flex;
	align-items: center;
}


.info-group__button-border {
	text-align: center;
}

.button-border {
	display: block;
	border: 2px solid #004cbc;
	padding: 3.467vw 12vw 3.067vw;
	border-radius: 999px;
	max-width: 100%;
	background-color: #fff;
	margin: 0 auto;
	transition: 0.3s background-color ease;
}

.button-border:hover {
	background-color: #004cbc;
}

.button-border:hover .button-border__text {
	color: #fff;
}

.button-border--arrow-right {
	position: relative;
}

.button-border:hover.button-border--arrow-right::after {
	background-image: url(../images/icon/icon-arrow-right--white.png);
}

.button-border--arrow-right::after {
	position: absolute;
	content: '';
	width: max(3.733vw, 16px);
	height: max(3.867vw, 16px);
	top: 50%;
	transform: translateY(-50%);
	right: max(2.667vw, 16px);
	background-image: url(../images/icon/icon-arrow-right.png);
	background-repeat: no-repeat;
	background-size: contain;
}

.button-border__text {
	font-size: max(4.503vw, 16px);
	font-weight: 500;
	color: #004cbc;
}

/* toggle */

.nav__item {
	border-top: 1px solid #004cbc;
	text-align: center;
	padding-top: 4.267vw;
	padding-bottom: 4.667vw;
	padding: 4.267vw 0 4.667vw;
}

.nav__link {
	padding: 0 1rem 0;
	display: inline-block;
	color: #004cbc;
	font-weight: 500;
	font-size: max(4.503vw, 16px);
}

.toggle {
	display: none;
	position: fixed;
	top: 0;
	width: 100vw;
	height: 100vh;
	z-index: 100;
	background-color: #fff;
	overflow-y: scroll;

}

.toggle__light {
	background-image: url(../images/common/base.png);
	background-repeat: no-repeat;
	background-size: cover;
	padding-top: 4vw;
	padding-bottom: 3.733vw;
	padding-left: 5.298vw;
	padding-right: 5.298vw;
	display: flex;
	justify-content: space-between;
}

.toggle__logo-image {
	width: 59.205vw;
	height: 8.079vw;
	margin-top: 2.5vw;
}

.toggle__link-group {
	background-color: #004CBC;
	height: 31.788vw;
	display: inline-flex;
	align-items: center;
	width: 100vw;
}

.link-group {
	display: flex;
	width: 100%;
	justify-content: space-between;
	align-items: center;
	padding-top: 3px;
	padding-bottom: 3px;
	padding-left: 5vw;
	padding-right: 5vw;
	overflow: hidden;
}

.icon__img--facebook {
	width: 9.669vw;
}

.icon__img--twitter {
	width: 7.550vw;
}

.icon__img--youtube {
	width: 10.464vw;
}

.icon__img--instagram {
	width: 9.272vw;
}

.icon__img--threads {
	width: 8.97vw;
}

.icon__img--tiktok {
	width: 7.69vw;
}

.link-group__icon {
	display: inline-flex;
	align-items: center;
}

.icon__link {
	display: inline-flex;
	align-items: center;
}

.toggle__logo-company {
	background-image: url(../images/common/toggle__company-bottom-backgroud.jpg);
	background-size: cover;
	height: auto;
}

.logo-company__inner {
	padding-top: 8vw;
	padding-bottom: 6.360vw;
	line-height: 1;
	margin-top: -6.623vw;
}

.logo-company__group {
	text-align: center;
}

.logo-company__text {
	font-size: max(3.974vw, 16px);
	color: #fff;
	margin: 1.6vw;
	font-weight: 400;
}

.logo-company__group {
	margin-top: 6.623vw;
}

.logo-company__img--cyber-cats {
	width: 63.179vw;
}

.logo-company__img--chaco-web {
	width: 43.444vw;
}

/* End header */
.fv {
	position: relative;
	overflow: hidden;
}

.fv__title-wrapper {
	position: absolute;
	width: 100%;
	bottom: 100px;
	bottom: -6vw;
}

.fv__title {
	position: relative;
	font-size: max(7.947vw, 16px);
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
	margin-bottom: 4.333vw;
	background: rgba(255, 255, 255, .7);
	padding-top: 2vw;
}

.fv__subtitle {
	font-size: max(5.298vw, 16px);
	font-weight: 500;
	line-height: 1.5;
	display: inline-block;
	margin-top: 3.333vw;
}

.fv__shadow--sp {
	position: relative;
}

.fv__shadow--sp::after {
	/* content: '';
	position: absolute;
	width: 100%;
	height: 55.467vw;
	background-image: url(../images/front-page/shadow_backgroud--sp.png);
	background-repeat: no-repeat;
	background-size: cover;
	left: 0;
	bottom: -30px; */
}

.fv__img {
	width: 100%;
}

@media screen and (max-width: 420px) {
	.tel-number__text {
		font-size: max(6vw, 16px);
	}

	.info-group__work-time-text {
		letter-spacing: -1px;
	}
}

@media screen and (min-width: 768px) {
	.u-mobile {
		display: none;
	}

	.u-desktop {
		display: block;
	}

	/* header */
	.header__upper {
		display: flex;
		flex-wrap: wrap;
		max-width: 91.875rem;
		margin: 0 auto;
		padding: 2.5rem 0.938rem 1.25rem;
		justify-content: space-between;
	}

	.header__logo-desktop {
		width: 21.875rem;
	}

	.header__info-group {
		width: calc(100% - 21.875rem);
		max-width: 41rem;
	}

	.info-group {
		padding-bottom: 0;
	}

	.tel-number__icon-wrapper {
		margin-right: 0.625rem;
	}

	.tel-number__icon-img {
		width: 2.625rem;
		height: 2.625rem;
	}

	.tel-number__text {
		font-size: 1.875rem;
	}

	.info-group__work-time-text {
		font-size: 1.063rem;
	}

	.info-group__inner {
		position: relative;
		margin-top: -4px;
		padding: 0;
		display: flex;
		align-items: center;
		justify-content: right;
	}

	.info-group__upper {
		margin-top: 0;
		margin-bottom: 0;
		padding-right: 10px;
	}

	.button-border {
		padding: 0.7rem 3.375rem 0.95rem 1.75rem;
	}

	.button-border--arrow-right::after {
		width: 1.375rem;
		height: 1.25rem;
		right: 1.1rem;
	}

	.button-border__text {
		font-size: 1.063rem;
	}


	.header__logo-desktop-link {
		display: inline-block;
	}

	.nav--light-gradient-blue {
		background-image: url(../images/common/base-desktop.jpg);
		background-repeat: no-repeat;
		background-size: cover;
	}

	.nav__list {
		display: flex;
		justify-content: center;
		margin-bottom: 0;

	}

	.nav__item {
		border-top: 0px solid #004cbc;
		padding: 1.1rem 2.313rem 0.9rem;
		list-style: none;
	}

	.nav__link {
		font-size: 1.063rem;
		padding: 0 0 4px 0;
		color: #fff;
	}

	.nav--light-gradient-blue .js-current .nav__link {
		-webkit-text-decoration: underline solid #fff;
		text-decoration: underline solid #fff;
		text-underline-offset: 10px;
		text-underline-offset: 0.625rem;
	}

	/* banner */
	.fv__title-wrapper {
		width: 50%;
		min-width: 37.5rem;
		padding-left: 0.938rem;
		top: 9.500vw;
		right: 0;
		bottom: auto;
	}

	.fv__title {
		font-size: 3.063rem;
		text-align: left;
		line-height: 1.4;
		background-color: transparent;
	}

	.fv__subtitle {
		position: relative;
		top: -22px;
		font-size: 1.5rem;
		margin-top: 0;
	}

	.fv__shadow--pc {
		position: relative;
	}

	.fv__shadow--pc::after {
		/* content: '';
		position: absolute;
		width: 72.250vw;
		height: 100%;
		background-image: url(../images/front-page/shadow_backgroud--pc.png);
		background-repeat: no-repeat;
		background-size: cover;
		right: 0;
		bottom: 0px; */
	}
}

@media screen and (min-width: 1100px) {
	.button-border {
		padding: 0.7rem 4.375rem 0.95rem 3.75rem;
	}
}

@media screen and (min-width: 1400px) {
	.fv__title {
		font-size: 4.063rem;
	}

	.fv__subtitle {
		font-size: 1.875rem;
	}

	.fv__title-wrapper {
		width: 50%;
		min-width: 50rem;
	}
}


/* aboutus */
.guidance{
	margin-bottom: 15vw;
}

.guidance__text{
	margin-bottom: 4vw;
	font-size: max(4.533vw, 16px);
	font-weight: 700;
	text-align: center;
}

.aboutus__wrapper {
	padding-top: 13.333vw;
	padding-left: max(4.5vw, 15px);
	padding-right: max(4.5vw, 15px);
	padding-bottom: 1px;
	background-image: url(../images/common/grid-background.jpg);
	background-size: 750px auto;
}

.aboutus__title-text {
	font-size: max(7.947vw, 16px);
	font-weight: bold;
	text-align: center;
	line-height: 1.41;
}

.aboutus__logo-img-wrapper {
	margin-top: 4vw;
	margin-bottom: 6.667vw;
	text-align: center;
}

.aboutus__logo-img {
	width: max(57.867vw, 260px);
	height: auto;
}

.aboutus__text {
	margin-bottom: 8vw;
	font-size: max(4.533vw, 16px);
	font-weight: 400;
	line-height: 1.65;
	text-align: center;
}

.aboutus__wrapper .aboutus__text:last-child {
	margin-bottom: 7.7vw;
}

@media screen and (max-width: 333px) {
	.aboutus__text {
		letter-spacing: -0.7px !important;
	}
}

@media screen and (max-width: 320px) {
	.aboutus__title-text {
		font-size: max(11vw, 16px);
		font-weight: bold;
	}
}

@media screen and (min-width: 768px) {
	.guidance{
		margin-bottom: 5rem;
	}

	.guidance__text{
		font-size: 1.188rem;
		margin-bottom: 1.2rem;
	}

	.aboutus__wrapper {
		padding-top: 5rem;
		padding-bottom: 5.938rem;
	}

	.aboutus__logo-img-wrapper {
		margin-top: 1.688rem;
		margin-bottom: 3.125rem;
	}

	.aboutus__title-text {
		font-size: 3.125rem;
	}

	.aboutus__logo-img {
		width: 16rem;
	}

	.aboutus__text {
		font-size: 1.188rem;
		margin-bottom: 2.188rem;
	}

	.aboutus__wrapper .aboutus__text:last-child {
		margin-bottom: 0;
	}
}

/* information-content */
.information-content__inner {
	background-color: #e9f0fc;
}

/* feature */

.feature__inner {
	padding: 5.333vw;
}

.feature__upper {
	padding-top: 8.8vw;
	padding-bottom: 12.667vw;
	background-color: #fff;
}

.feature__bottom {
	background-color: #fff;
}

.title {
	text-align: center;
}

.title__text--en {
	font-family: 'Urbanist', sans-serif;
	display: inline-block;
	font-size: max(16vw, 16px);
	background: -webkit-linear-gradient(#0346cb, #0273f4);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	line-height: 1;
	font-weight: bold;
	border-bottom: 1px solid #0458e9;
	word-break: break-word;
}

.title__text--ja {
	font-weight: bold;
	font-size: 5.067vw;
}

.feature__emphasis-text {
	margin-top: 2.667vw;
	margin-bottom: 6.667vw;
	font-size: max(6.667vw, 16px);
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
}

.reasons {
	padding-bottom: 5.333vw;
}

.reason {
	margin-bottom: 4.667vw;
}

.reason__img-wrapper {
	text-align: center;
}

.reason__img {
	max-width: 50%;
}

.tag-round {
	margin-top: 4vw;
	margin-bottom: 2vw;
	text-align: center;
}

.tag-round__text {
	font-size: max(4.533vw, 16px);
	font-weight: bold;
	background-color: #262626;
	border-radius: 999px;
	color: #fff;
	padding-top: 0.800vw;
	padding-left: 4.667vw;
	padding-bottom: 1.200vw;
	padding-right: 4vw;
}

.reason__title {
	font-size: max(5.333vw, 16px);
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
}

.reason__text {
	font-size: max(4.533vw, 16px);
	font-weight: 400;
	text-align: center;
}

.button-border--large-and-arrow {
	padding: 2.5vw 7vw 2.6vw 3vw;
	position: relative;
	min-width: 82%;
}

.button-border--large-and-arrow::after {
	position: absolute;
	content: '';
	width: max(3.733vw, 16px);
	height: max(3.867vw, 16px);
	top: 50%;
	transform: translateY(-50%);
	right: max(2.667vw, 16px);
	background-image: url(../images/icon/icon-arrow-right.png);
	background-repeat: no-repeat;
	background-size: contain;
}

.button-border:hover.button-border--large-and-arrow::after {
	background-image: url(../images/icon/icon-arrow-right--white.png);
}

.title__text--en-small {
	font-family: 'Urbanist', sans-serif;
	display: inline-block;
	font-size: max(6.667vw, 16px);
	background: -webkit-linear-gradient(#0346cb, #0273f4);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	line-height: 1;
	font-weight: bold;
	border-bottom: 1px solid #0458e9;
	word-break: break-word;
	padding-bottom: 10px;
	margin-bottom: 6px;
}

.information-content__bottom {
	padding: 0 5.333vw 5.333vw;
}

.box-contents {
	margin-bottom: -5.333vw;
}

.box-content {
	padding-top: 8.667vw;
	padding-bottom: 6.667vw;
	margin-bottom: 5.333vw;
	background-color: #fff;
	border-radius: 10px;
}

.box-content__text {
	font-size: max(4.533vw, 16px);
	text-align: center;
	margin-top: 2vw;
	margin-bottom: 4vw;
	font-weight: 400;
}

@media screen and (min-width: 768px) {
	.feature__inner {
		padding: 5rem 1.25rem 1.25rem;
	}

	.reasons {
		padding-bottom: 0;
	}

	.reason {
		margin-bottom: 5rem;
	}

	.feature__upper {
		padding-top: 85px;
		padding-bottom: 90px;
		max-width: 1440px;
		margin: 0 auto;
	}

	.title__text--en {
		font-size: 4.375rem;
	}

	.title__text--ja {
		font-size: 1.25rem;
	}

	.feature__emphasis-text {
		font-size: 2.5rem;
		margin-top: 1.875rem;
		margin-bottom: 3.75rem;
	}

	.reasons {
		display: flex;
		justify-content: space-between;
	}

	.reason {
		width: calc(33.333333% - 20px);
		padding: 0 10px;
	}

	.reason__img {
		width: 130px;
	}

	.tag-round {
		margin-top: 1.25rem;
		margin-bottom: 1rem;
	}

	.tag-round__text {
		padding: 3px 15px 5px;
	}

	.reason__title {
		font-size: 1.25rem;
	}

	.tag-round__text {
		font-size: 16px;
	}

	.reason__text {
		font-size: 1.063rem;
		margin-top: 12px;
	}

	.button-border--large-and-arrow::after {
		width: 1.375rem;
		height: 1.25rem;
		right: 1.1rem;
	}

	.button-border--large-and-arrow {
		padding: 1rem 4.375rem 1.2rem 3.75rem;
		min-width: 320px;
	}

	.information-content__bottom {
		padding: 0 1.25rem 3.75rem;
	}

	.feature__bottom {
		max-width: 1440px;
		margin: 0 auto;
	}

	.box-contents {
		display: flex;
		max-width: 1440px;
		margin: 0 auto;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.box-content {
		width: calc(50% - 10px);
		margin-bottom: 20px;
		padding-top: 3.875rem;
		padding-bottom: 3.75rem;
	}

	.title__text--en-small {
		font-size: 2.188rem;
	}

	.box-content__text {
		font-size: 1.063rem;
		margin-top: 1.8rem;
		margin-bottom: 1.7rem;
	}

	.box-content__text {
		min-height: 150px;
		padding-left: 10px;
		padding-right: 10px;
	}

	.u-desktop--small {
		display: block;
	}
}


@media screen and (min-width: 1300px) {
	.reason {
		width: calc(33.333333% - 40px);
		padding: 0;
	}

	.box-content__text {
		min-height: 90px;
	}

	.u-desktop--small {
		display: none;
	}
}


/* blog */
.blog__title {
	margin-top: 5.5vw;
	margin-bottom: 4.5vw;
}

.blog__inner {
	padding-left: max(5.333vw, 15px);
	padding-right: max(5.333vw, 15px);
	width: 100%;
}

.card {
	width: 100%;
}

.cards {
	display: flex;
	flex-wrap: wrap;
	row-gap: max(9.333vw, 30px);
}

.card__link {
	display: block;
}

.card__info-text {
	font-size: max(3.067vw, 16px);
	column-gap: max(4vw, 15px);
	padding-top: max(1.867vw, 8px);
	padding-bottom: max(1.867vw, 8px);
	padding-left: max(2.667vw, 10px);
	padding-right: max(6.667vw, 30px);
	margin-top: max(3.733vw, 15px);
	background-color: #F2F2F3;
	display: flex;
	line-height: 1.6;
	flex-wrap: wrap;
	font-weight: 700;
}

.card__title {
	font-size: max(3vw, 15px);
	padding-top: max(3.867vw, 15px);
	font-weight: 400;
}

.card__img {
	width: 100%;
	height: auto;
}

.card__info-wrapper {
	position: relative;
}

.card__info-icon {
	width: max(3.467vw, 18px);
	right: max(2.667vw, 10px);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.blog {
	padding-bottom: 11.200vw;
}

@media screen and (min-width:768px) {
	.blog__title {
		margin-top: 95px;
		margin-bottom: 43px;
	}

	.cards {
		display: flex;
		flex-wrap: wrap;
		column-gap: 2.75%;
	}

	.blog__inner {
		max-width: 1440px;
		width: calc(100% - 30px);
		margin-left: auto;
		margin-right: auto;
	}

	.card {
		width: 31.5%;
	}

	.card__info-text {
		font-size: 16px;
		column-gap: 20px;
		row-gap: 5px;
		padding-left: 15px;
		padding-right: 40px;
		padding-top: 9px;
		padding-bottom: 9px;
		margin-top: 20px;
	}

	.card__title {
		font-size: 15px;
		line-height: 1.875;
		padding-top: 20px;
	}

	.card__info-icon {
		width: 18px;
		right: 15px;
	}

	.card__img {
		width: 100%;
		height: 250px;
		object-fit: cover;
		object-position: center;
		transition: all 0.3s ease-in-out;
	}

	.card__link:hover .card__img {
		transform: scale(1.1);
	}

	.card__img-wrapper {
		overflow: hidden;
	}

	.blog {
		padding-bottom: 93px;
	}

}

@media screen and (min-width:768px) and (max-width:1300px) {
	.card {
		width: 32%;
	}

	.cards {
		column-gap: 2%;
	}

	.card__img {
		height: max(19.231vw, 230px);
	}
}

@media screen and (min-width:768px) and (max-width:1350px) {
	.card__date {
		width: 100%;
	}

	.card__category {
		width: 100%;
	}

}

/* footer */

.footer__upper {
	padding-top: 14vw;
	padding-left: 5.333vw;
	padding-right: 5.333vw;
	padding-bottom: 7.5vw;
	background-color: #004cbc;
}

.title--white {
	color: #fff;
}

.title--white .title__text--en-small {
	background: none;
	-webkit-text-fill-color: initial;
	border-bottom: 1px solid #fff;
}

.group-data-link {
	background-color: #fff;
	padding-top: 3.333vw;
	padding-bottom: 4vw;
	border-radius: 10px;
}

.icon-book {
	text-align: center;
}

.icon-book__img {
	width: max(8.400vw, 16px);
	height: auto;
}

.group-data-link__text {
	text-align: center;
	font-size: max(4.533vw, 16px);
	font-weight: 400;
	margin-top: 3vw;
	margin-bottom: 2.5vw;
}

.button-border-white {
	display: block;
	border: 2px solid #fff;
	padding: 3.467vw 12vw 3.067vw;
	border-radius: 999px;
	max-width: 100%;
	background-color: #004cbc;
	margin: 0 auto;
	transition: 0.3s background-color ease;
	min-width: 73.333vw;
}

.button-border-white__text {
	color: #fff;
	font-size: max(4.503vw, 16px);
	font-weight: 500;
}

.button-border-white:hover {
	background-color: #fff;
}

.button-border-white:hover .button-border-white__text {
	color: #004CBC;
}

.button-border-white:hover.button-border-whiter--icon-link::after {
	background-image: url(../images/icon/icon-arrow-right.png);
}

.button-border-whiter--icon-link {
	position: relative;
}

.button-border-whiter--icon-link::after {
	position: absolute;
	content: '';
	width: max(3.733vw, 16px);
	height: max(3.867vw, 16px);
	top: 50%;
	transform: translateY(-50%);
	right: max(2.667vw, 16px);
	background-image: url(../images/icon/icon-arrow-right--white.png);
	background-repeat: no-repeat;
	background-size: contain;
}

.info-group__text {
	font-weight: 500;
	font-size: max(4.533vw, 16px);
	text-align: center;
	color: #fff;
	width: 100%;
	line-height: 1.4;
	margin-bottom: 1.333vw;
}

.info-group--mobile {
	margin-bottom: -3vw;
}

.info-group--mobile .info-group__upper {
	flex-wrap: wrap;
}

.info-group--mobile .info-group__tel-number {
	width: 100%;
	text-align: center;
}

.info-group--mobile .info-group__work-time {
	width: 100%;
	text-align: center;
}

.tel-number__text--white {
	color: #fff;
}

.work-time-text--white {
	color: #fff;
}

.button-border--icon-link {
	position: relative;
	padding: 3.467vw 15vw 3.067vw 6vw;
}

.button-border--icon-link::after {
	position: absolute;
	content: '';
	width: max(4.667vw, 16px);
	height: max(4.667vw, 16px);
	top: 50%;
	transform: translateY(-50%);
	right: max(6.667vw, 16px);
	background-image: url(../images/icon/icon-link.png);
	background-repeat: no-repeat;
	background-size: contain;
}

.button-border--icon-link:hover.button-border--icon-link::after {
	background-image: url(../images/icon/icon-link--white.png);
}


.group-contact__text {
	margin-top: 7vw;
	margin-bottom: 6vw;
	font-size: max(5.333vw, 16px);
	color: #fff;
	text-align: center;
	font-weight: 400;
}

.nav--white .nav__item .nav__link {
	color: #fff;
	font-weight: 400;
}

.nav__link:hover {
	color: #fff;
	text-decoration: none;
}

.nav--white .nav__item {
	border-top: 1px solid #789bd6;
}

.nav--white .nav__item:last-child {
	border-bottom: 1px solid #789bd6;
}

.footer__bottom {
	padding-left: 5.333vw;
	padding-right: 5.333vw;
	background: rgb(1, 62, 172);
	background: linear-gradient(180deg, rgba(1, 62, 172, 1) 0%, rgba(0, 100, 214, 1) 100%);
}

.logo-company--set-witdh {
	margin-top: 5.5vw;
	margin-bottom: 5.333vw;
}

.logo-company--set-witdh .logo-company__img--cyber-cats {
	width: 72vw;
}

.logo-company--set-witdh .logo-company__img--chaco-web {
	width: 49.1vw;
}

.group-row__link-group {
	margin-top: 14vw;
}

.group-row__copy {
	padding-top: 10.667vw;
	padding-bottom: 11.333vw;
}

.group-row__copy-text {
	text-align: center;
	font-size: max(3.467vw, 16px);
	font-weight: 400;
	color: #fff;
}

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

	.footer__bottom {
		padding: 0;
	}

	.footer__upper {
		padding-top: 85px;
		padding-left: 20px;
		padding-right: 20px;
		padding-bottom: 90px;
	}

	.info-group--mobile {
		margin-top: 2.813rem;
		margin-bottom: 3.75rem;
	}

	.info-group--mobile .info-group__inner {
		justify-content: center;
	}

	.info-group--mobile .info-group__upper {
		flex-wrap: nowrap;
		align-items: center;
	}

	.info-group__text {
		width: auto;
		margin-bottom: 0;
		margin-right: 12px;
	}

	.info-group--mobile .info-group__tel-number {
		width: auto;
		text-align: left;
	}

	.info-group--mobile .info-group__work-time {
		width: auto;
		text-align: left;
	}

	.group-data-link {
		display: flex;
		align-items: center;
		justify-content: center;
		max-width: 1000px;
		margin: 0 auto;
		padding-top: 30px;
		padding-bottom: 30px;
	}

	.group-contact__text {
		margin-top: 35px;
		margin-bottom: 37px;
	}

	.group-contact__text {
		font-size: 1.25rem;
	}

	.button-border-white__text {
		font-size: 1.063rem;
	}

	.info-group__text {
		font-size: 1.063rem;
	}

	.group-data-link__text {
		font-size: 1.063rem;
		margin: 0 20px;
	}

	.logo-company__text {
		font-size: 0.938rem;
	}

	.logo-company--set-witdh .logo-company__img--cyber-cats {
		width: 300px;
		height: auto;
	}

	.logo-company--set-witdh .logo-company__img--chaco-web {
		width: 200px;
	}

	.icon__img--facebook {
		width: 40px;
	}

	.icon__img--twitter {
		width: 30px;
	}

	.icon__img--youtube {
		width: 40px;
	}

	.icon__img--instagram {
		width: 40px;
	}
	
	.icon__img--threads {
		width: 37px;
	}
	
	.icon__img--tiktok {
		width: 35px;
	}

	.group-row__copy-text {
		font-size: 13px;
	}

	.icon-book__img {
		width: 38px;
	}

	.button-border--icon-link::after {
		width: 25px;
		height: 26px;
		right: 20px;
	}

	.button-border-whiter--icon-link::after {
		width: 1.375rem;
		height: 1.25rem;
		right: 1.1rem;
	}

	.button-border-white {
		padding: 1rem 4.375rem 1.2rem 3.75rem;
		min-width: 320px;
	}

	.button-border--icon-link {
		padding: 1rem 4.375rem 1.2rem 2.5rem;
		min-width: 320px;
	}

	.logo-company__inner {
		padding-top: 0px;
		padding-bottom: 0;
		margin-top: 0;
	}

	.logo-company__inner {
		margin-bottom: -40px;
	}

	.logo-company--set-witdh {
		margin-top: 0;
		margin-bottom: 60px;
	}

	.logo-company__group {
		margin-top: 0;
		margin-bottom: 40px;
	}

	.logo-company__text {
		margin: 10px 0;
	}

	.group-row--desktop {
		max-width: 1300px;
		margin: 0px auto;
		padding-top: 50px;
		padding-left: 15px;
		padding-right: 15px;
		padding-bottom: 56px;
	}

	.group-row__inner {
		display: flex;
	}

	.group-row__logo-company {
		width: 300px;
	}

	.footer__nav {
		width: calc(100% - 300px);
	}

	.nav--white .nav__list {
		justify-content: flex-end;
	}

	.nav--white .nav__item {
		border-top: 0px solid #004cbc;
		margin: 1.2rem 0 0.9rem;
		padding: 0 1.25rem 0;
		border-right: 1px solid #fff;
	}

	.nav--white .nav__item .nav__link {
		line-height: 1;
		padding-bottom: 1px;
	}

	.nav--white .nav__item {
		border-top: 0px solid #789bd6;
	}

	.nav--white .nav__item:last-child {
		border-bottom: 0px solid #789bd6;
		border-right: 0px;
	}

	.group-row__link-group {
		margin-top: -9.5rem;
		overflow: hidden;
	}

	.logo-company__group {
		text-align: left;
	}

	.link-group {
		justify-content: flex-start;
		padding-left: 3px;
		padding-right: 3px;
		margin-left: 367px;
	}

	.group-row__copy {
		padding-top: 2rem;
		padding-bottom: 0;
	}

	.link-group__icon {
		margin-right: 20px;
	}

	.group-row__copy-text {
		text-align: left;
		margin-left: 370px;
	}
}


@media screen and (min-width: 768px) and (max-width: 1450px) {
	.group-row__inner {
		display: block;
	}

	.group-row__logo-company {
		margin: 0 auto;
	}

	.logo-company__group {
		text-align: center;
	}

	.nav--white .nav__list {
		justify-content: center;
	}

	.footer__nav {

		width: 100%;
		margin: 2rem auto 0;
		justify-content: center;
	}

	.group-row__link-group {
		margin-top: 2rem;
	}

	.link-group {
		justify-content: center;
		margin-left: 0;
	}

	.group-row__copy-text {
		text-align: center;
		margin-left: 0;
	}
}

@media screen and (max-width: 767px) {
	.pc-sp {
		display: none !important;
	}

	.top-mainvisual-button {
		margin: 4vw 0;
	}

	.top-mainvisual-button__item {
		width: max(10vw, 44px);
		height: max(5vw, 24px);
	}

	.top-mainvisual-button .slick-dots li button::before {
		right: 0;
		bottom: 0;
		width: max(2vw, 10px);
		height: max(2vw, 10px);
	}
}

.sp-pc {
	display: none !important;
}

/* page */
.banner {
	background-size: cover;
	background-position: center top;
	margin: 0 calc(50% - 50vw) 0;
	width: 100vw;
	margin-top: 0;
	padding-top: 10.5vw;
	padding-bottom: 50vw;
	padding-left: max(5.333vw, 15px);
	padding-right: max(5.333vw, 15px);
}

.banner__title {
	text-align: center;
}

.banner__title-text {
	line-height: 1.2;
}

.banner__title-text--en {
	position: relative;
	font-family: 'Urbanist', sans-serif;
	font-size: max(7.200vw, 16px);
	font-weight: bold;
	color: #0458e9;
	background: -webkit-linear-gradient(#0352D6, #0273F4);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	word-break: break-word;
}

.banner__title-text--en::after {
	content: '';
	position: absolute;
	width: 100%;
	height: 1px;
	background-color: #0458e9;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0px;
}

.banner__title-text--ja {
	font-size: max(5.333vw, 16px);
	font-weight: bold;
	margin-top: 4px;
}

.breadcrumbs {
	margin-top: max(5vw, 15px);
	margin-bottom: max(9vw, 15px);
}

.breadcrumbs__list {
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	white-space: nowrap;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	align-items: flex-end;
	vertical-align: bottom;
	flex-wrap: wrap;
	padding: 3px;
	margin: -3px;
}

.breadcrumbs__list a {
	text-decoration: underline;
}

.breadcrumbs__item {
	font-size: max(3.200vw, 16px);
	font-weight: 400;
}

.breadcrumbs__list .breadcrumbs__item:first-child {
	position: relative;
	padding-left: max(6.2vw, 25px);
}

.breadcrumbs__list .breadcrumbs__item:first-child::before {
	content: '';
	position: absolute;
	background-image: url(../images/icon/icon-house.png);
	left: 0;
	width: max(5.200vw, 18px);
	height: max(4.533vw, 16px);
	background-size: cover;
	background-position: left;
	top: 0px;
}

.breadcrumbs__list .breadcrumbs__item::after {
	content: ">";
	display: inline-block;
	padding: 0 8px;
	padding: 0 4px;
}

.breadcrumbs__list .breadcrumbs__item:last-child::after {
	content: none;
}

.rim-section-title {
	position: relative;
	overflow: hidden;
	padding-left: max(3vw, 15px);
	margin-top: -2vw;
}

.rim-section-title::after {
	content: '';
	position: absolute;
	width: 5px;
	height: 100%;
	background-color: #0274f4;
	border-radius: 999px;
	left: 0;
	bottom: 0;
}

.rim-section-title__title-text {
	line-height: 1;
}

.rim-section-title__title-text--ja {
	font-size: max(6.667vw, 16px);
	font-weight: 500;
	margin-bottom: .8vw;
	line-height: 1.4;
	margin-top: -2vw;
}

.rim-section-title__title-text--en {
	font-family: 'Urbanist', sans-serif;
	font-size: max(4vw, 16px);
	font-weight: 400;
	word-break: break-word;
}

@media screen and (max-width: 480px) {
	.breadcrumbs__list .breadcrumbs__item:first-child::before {
		top: 48%;
		transform: translateY(-50%);
	}

}

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

	.banner {
		background-color: #f0f5fe;
		background-position: right center;
		background-repeat: no-repeat;
		padding-top: 135px;
		padding-bottom: 132px;
		padding-left: 15px;
		padding-right: 15px;
	}

	.banner__inner {
		max-width: 1440px;
		margin: 0 auto;
	}

	.breadcrumbs {
		margin-top: 25px;
		margin-bottom: 45px;
	}

	.rim-section-title {
		margin-top: 0vw;
	}

	.banner__title-text--en {
		font-size: 2.5rem;
	}

	.banner__title-text--ja {
		font-size: 1.563rem;
	}

	.rim-section-title__title-text--ja {
		font-size: 1.875rem;
		margin-top: 0vw;
		margin-bottom: 0;
		line-height: 1.07;
	}

	.rim-section-title__title-text--en {
		font-size: 1.063rem;
	}
}

/* accessibility-policy */
.banner--accessibility-policy {
	background-image: url(../images/accessibility-policy/banner__accessibility-policy--sp.jpg);
}

.accessibility-policy__inner {
	padding-left: max(5.333vw, 15px);
	padding-right: max(5.333vw, 15px);
	/* overflow: hidden; */
}

.sentence-content {
	margin-bottom: 20.7vw;
}

.sentence-content__text {
	font-size: max(4.533vw, 16px);
	font-weight: 400;
	line-height: 1.65;
}

.sentence-content__rim-section-title {
	margin-bottom: 11vw;

}

.sentence-content__link {
	position: relative;
	text-decoration: none;
	box-shadow: 0 1px #262626;
	display: initial;
	padding-right: max(8vw, 30px);
}

.link-icon {
	width: max(4.667vw, 16px);
	height: max(4.667vw, 16px);
	margin-left: 2vw;
	margin-top: 2vw;
	position: absolute;
}

.accessibility-policy__inner .sentence-content:last-child {
	margin-bottom: 12vw;
}

.accessibility-policy-table {
	width: 100%;
	white-space: nowrap;
	border-collapse: collapse;
	font-size: max(4.533vw, 16px)
}

.accessibility-policy-table th,
.accessibility-policy-table td {
	border: 1px solid black;
	padding: 8px;
	text-align: left;
}

.accessibility-policy-table th {
	background-color: #F1F5FE;
	font-weight: 500;
}

.accessibility-policy-table a {
	text-decoration: underline;
	-webkit-text-decoration: underline;
}

.accessibility-policy-table-wrapper {
	overflow-x: auto;
}

.accessibility-policy-table .accessibility-policy-table__table-horizontal-header {
  text-align: center;
}

.accessibility-policy-table__table-horizontal-header--leftmost-column {
  width: 45%;
}

.accessibility-policy-table__table-horizontal-header--rightmost-column {
  width: 23%;
}

@media screen and (max-width: 450px) {
	.rim-section-title__title-text--ja {
		font-size: max(6.4vw, 16px);
	}
}

@media screen and (min-width: 768px) {
	.banner--accessibility-policy {
		background-image: url(../images/accessibility-policy/banner__accessibility-policy--pc.jpg);
		width: 100vw;
		background-size: 2000px 350px;
		background-position: right center;
	}

	.breadcrumbs__item {
		font-size: 1.063rem;
	}

	.sentence-content__rim-section-title {
		padding-left: 25px;
		margin-bottom: 45px;
	}

	.sentence-content__text {
		font-size: 1.063rem;
	}

	.banner__title {
		text-align: left;
	}

	.breadcrumbs__item {
		line-height: 1.3;
	}

	.breadcrumbs__list .breadcrumbs__item:first-child {
		padding-left: 30px;
	}

	.breadcrumbs__list .breadcrumbs__item:first-child::before {
		width: 22px;
		height: 19px;
	}

	.accessibility-policy__inner {
		max-width: 1470px;
		padding-left: 15px;
		padding-right: 15px;
		margin: 0 auto;
	}

	.sentence-content {
		margin-bottom: 95px;
	}

	.sentence-content__link {
		padding-right: 36px;
		padding-bottom: 3px;
		border-bottom: 1px solid #262626;
		box-shadow: none;
	}

	.link-icon {
		width: 17px;
		height: 17px;
		margin-left: 10px;
		margin-top: 6px;
	}

	.accessibility-policy__inner .sentence-content:last-child {
		margin-bottom: 85px;
	}

	.accessibility-policy-table {
		font-size: 1.063rem;
	}
}

/* business */
.business__inner {
	padding-left: max(5.333vw, 15px);
	padding-right: max(5.333vw, 15px);
	/* overflow: hidden; */
}

.banner--business {
	background-image: url(../images/business/banner__business--sp.jpg);
}

.img-text-list__item {
	margin: 0 calc(50% - 50vw) 0;
	padding-left: max(5.333vw, 15px);
	padding-right: max(5.333vw, 15px);
}

.img-text-list .img-text-list__item:first-child .img-text {
	margin-top: -15.333vw;
}

.img-text {
	padding-top: 13.333vw;
	padding-bottom: 13.333vw;
}

.img-text-list__item--gray {
	background-color: #F7F7F8;
}

.img-text__img-wrapper {
	margin-bottom: 15.3vw;
}

.img-text__rim-section-title {
	margin-bottom: 10.667vw;
}



.img-text__text {
	font-size: max(4.533vw, 16px);
	font-weight: 400;
	line-height: 1.65;
	margin-bottom: 11.5vw;
}

.img-text__button-border .button-border {
	padding: 3.467vw 10.2vw 3.067vw;
}

.button-border__text--center {
	text-align: center;
}

@media screen and (min-width: 768px) {
	.banner--business {
		background-image: url(../images/business/banner__business--pc.jpg);
		width: 100vw;
		background-size: 1804px 350px;
		background-position: right center;
	}

	.business__inner {
		max-width: 1470px;
		padding-left: 15px;
		padding-right: 15px;
		margin: 0 auto;
	}

	.img-text-list .img-text-list__item:first-child .img-text {
		margin-top: -98px;
	}

	.img-text {
		padding-top: 100px;
		padding-bottom: 100px;
	}

	.img-text__rim-section-title {
		padding-left: 25px;
		margin-bottom: 45px;
	}


	.img-text__text {
		font-size: 1.063rem;
	}

	.img-text-list__item {
		margin: 0 calc(50% - 50vw) 0;
		padding-left: 15px;
		padding-right: 15px;
	}

	.img-text {
		max-width: 1440px;
		margin: 0 auto;
	}

	.img-text__upper {
		width: 41.67%;
	}

	.img-text__bottom {
		width: 58.33%;
		padding-left: 50px;
		display: flex;
		flex-direction: column;
	}

	.img-text__inner {
		display: flex;
	}

	.img-text__img-wrapper {
		margin-bottom: 0vw;
	}

	.img-text__text {
		margin-bottom: 45px;
	}

	.img-text__button-border {
		margin-top: auto;
	}

	.img-text__button-border .button-border {
		padding: 18px 65px 18px 34px;
		margin-left: 0;
	}

}

/* initiatives-for-society */

.initiatives-for-society__inner {
	padding-left: max(5.333vw, 15px);
	padding-right: max(5.333vw, 15px);
	/* overflow: hidden; */
}

.banner--initiatives-for-society {
	background-image: url(../images/initiatives-for-society/banner__initiatives-for-society--sp.jpg);
}

.title-square {
	margin: 0 calc(50% - 50vw) 0;
	padding-top: 10vw;
	padding-left: max(5.333vw, 15px);
	padding-right: max(5.333vw, 15px);
	padding-bottom: 11.5vw;
	background-image: url(../images/common/grid-background.jpg);
	background-size: 750px auto;
}

.img-content-list .img-content-list__item:first-child {
	margin-top: -2vw;
}

.title-square__text {
	font-size: max(11.333vw, 16px);
	text-align: center;
	line-height: 1.4;
	font-weight: bold;
	letter-spacing: -0.5px;
}

.title-and-content {
	padding-bottom: 12vw;
}

.title-and-content--un-padding {
	padding-bottom: 0vw;
}

.title-and-content__img-wrapper {
	margin-top: 6.667vw;
	margin-bottom: 5vw;
}

.text-content__text {
	font-size: max(4.533vw, 16px);
	font-weight: 400;
	line-height: 1.65;

}

.text-content__list {
	margin-top: 9.5vw;
	margin-left: 6vw;
	margin-bottom: 11.5vw;
}

.text-content__item {
	padding-left: 2vw;
	list-style: auto;
	font-size: max(5.333vw, 16px);
	font-weight: 500;
	line-height: 1.62;
	border-bottom: 1px solid #e4e4e4;
	padding-bottom: 5vw;
	margin-bottom: 5vw;
}

.text-content__list .text-content__item:last-child {
	padding-bottom: 0vw;
	border-bottom: 0px solid #262626;
}

.title-line-vertical {
	margin-bottom: 3.5vw;
}

.title-line-vertical__title-text {
	position: relative;
	font-size: 6.667vw;
	font-weight: 500;
	line-height: 1.4;
	padding-left: 4.4vw;
}

.title-line-vertical__title-text::after {
	content: '';
	position: absolute;
	width: 5px;
	height: 90%;
	background-color: #0274f4;
	border-radius: 999px;
	left: 0;
	top: 52%;
	transform: translateY(-50%);
}

.improvement-content__sentence-text {
	font-size: max(4.533vw, 16px);
	font-weight: 400;
	line-height: 1.65;
}

.point-list__item {
	font-size: max(4.533vw, 16px);
	font-weight: 500;
	line-height: 1.65;
	list-style: inside;
	margin-bottom: 3.5vw;
}

.title-and-content__bottom--gray {
	background-color: #f7f7f8;
	padding-top: 1.5vw;
	padding-bottom: 11.5vw;
	margin: 0 calc(50% - 50vw) 0;
	padding-left: max(5.333vw, 15px);
	padding-right: max(5.333vw, 15px);
}

.improvement-content {
	padding-top: 10.5vw;
}

.point-list {
	margin-top: 10.5vw;
	margin-bottom: -3.5vw;
}

@media screen and (max-width: 335px) {
	.u-mobile--small {
		display: none;
	}

	/* .aboutus__text{
		letter-spacing: -1px !important;
	} */
}

@media screen and (min-width: 768px) {
	.banner--initiatives-for-society {
		background-image: url(../images/initiatives-for-society/banner__initiatives-for-society--pc.jpg);
		width: 100vw;
		background-size: 2000px 350px;
		background-position: right center;
	}

	.initiatives-for-society__inner {
		max-width: 1470px;
		padding-left: 15px;
		padding-right: 15px;
		margin: 0 auto;
	}

	.title-and-content__upper {
		display: flex;
		flex-wrap: wrap;
	}

	.title-square {
		margin: 0 calc(50% - 50vw) 0;
		padding-top: 3.8rem;
		padding-left: 15px;
		padding-right: 15px;
		padding-bottom: 3.8rem;
		width: 100vw;
	}

	.title-square__text {
		font-size: 3.125rem;
	}

	.img-content-list .img-content-list__item:first-child {
		margin-top: 0;
	}

	.title-and-content__img-wrapper {
		width: 34.723%;
		margin-top: 0;
		margin-bottom: 0;
		padding-top: 50px;
		padding-bottom: 50px;
	}

	.text-content {
		width: 65.277%;
		padding-left: 60px;
		padding-top: 50px;
		padding-bottom: 50px;
	}

	.text-content__text {
		font-size: 1.063rem;
		margin-bottom: 40px;
	}

	.text-content__list {
		margin-top: 60px;
		margin-left: 25px;
		margin-bottom: 0;
	}

	.text-content__item {
		font-size: 1.25rem;
		margin-bottom: 14px;
		padding-bottom: 14px;
	}

	.text-content__item {
		padding-left: 5px;
	}

	.title-and-content {
		padding-bottom: 0px;
	}

	.img-content-list .img-content-list__item:last-child {
		padding-bottom: 50px;
	}

	.title-line-vertical__title-text {
		font-size: 1.875rem;
	}

	.improvement-content__sentence-text {
		font-size: 1.063rem;
	}


	.point-list__item {
		font-size: 1.063rem;
		margin-bottom: 0.8rem;
	}

	.improvement-content {
		max-width: 900px;
		margin: 0 auto;
	}

	.point-list {
		margin-top: 3rem;
		margin-bottom: -0.8rem;
	}

	.title-line-vertical {
		margin-bottom: 1.3rem;
	}

	.improvement-content {
		padding-top: 4.5rem;
	}

	.title-line-vertical__title-text {
		padding-left: 25px;
	}

	.title-and-content__bottom--gray {
		padding-top: 1rem;
		padding-bottom: 5.8rem;
		padding-left: 15px;
		padding-right: 15px;
	}

	.title-line-vertical__title-text::after {
		height: 100%;
	}
}


/* company */
.company__inner {
	padding-left: max(5.333vw, 15px);
	padding-right: max(5.333vw, 15px);
	/* overflow: hidden; */
}

.banner--company {
	background-image: url(../images/company/banner__company--sp.jpg);
}

.company__aboutus {
	margin: -1.5vw calc(50% - 50vw) 0;
	padding-bottom: 3.5vw;
}

.aboutus__subtitle {
	font-size: max(8vw, 16px);
	font-weight: bold;
	display: block;
	text-align: center;
	line-height: 1;
}

.sentence-img__container {
	margin: -1.5vw calc(50% - 50vw) 0;
	padding-top: 13.333vw;
	padding-bottom: 11.7vw;
	padding-left: max(5.333vw, 15px);
	padding-right: max(5.333vw, 15px);
}

.sentence-img__inner {
	text-align: center;
}

.company__sentence-img {
	padding-top: 12vw;
}

.caption-img {
	text-align: left;
	position: relative;
	margin-top: 11vw;
	margin-bottom: 10.5vw;
	padding-left: 12.333vw;
	display: inline-block;
}

.caption-img::after {
	content: '';
	position: absolute;
	width: 6.533vw;
	height: 9.600vw;
	left: 3vw;
	bottom: 1vw;
	background-image: url(../images/icon/icon-user.png);
	background-size: cover;
	background-repeat: no-repeat;
}

.sentence-img__rim-section-title {
	display: inline-block;
}

.caption-img__text--large {
	font-family: 'Urbanist', sans-serif;
	font-weight: bold;
	font-size: max(6.667vw, 16px);
	line-height: 1;
}

.caption-img__text--small {
	font-weight: 500;
	font-size: max(4.533vw, 16px);
}

.sentence-img__text {
	text-align: left;
	font-size: max(4.533vw, 16px);
	font-weight: 400;
	line-height: 1.65;
}

.sentence-img__container--gray {
	background-color: #F7F7F8;
}

.table {
	width: 100%;
}

.table a {
	text-decoration: underline;
}

.company__table-section {
	padding-top: 15.5vw;
	padding-bottom: 11vw;
}

.table-section__table-wrapper {
	margin-top: 6.5vw;
}

.table__row {
	text-align: left;
}

.table__header {
	font-weight: 400;
	float: left;
	width: 100%;
	border-bottom: 1px solid #262626;
	padding-top: 4.5vw;
	font-size: max(4.533vw, 16px);
}

.table__data {
	font-weight: 400;
	float: left;
	width: 100%;
	font-size: max(4.533vw, 16px);
}

.table-section__inner {
	text-align: center;
}

.table-section__rim-section-title {
	display: inline-block;
}

@media screen and (max-width: 400px) {
	.caption-img {
		padding-left: 8.333vw;
		letter-spacing: -1px;
	}

	.caption-img::after {
		left: 1vw;
	}
}

@media screen and (min-width: 768px) {
	.banner--company {
		background-image: url(../images/company/banner__company--pc.jpg);
		width: 100vw;
		background-size: 1738px 350px;
		background-position: right center;
	}

	.company__inner {
		max-width: 1470px;
		padding-left: 15px;
		padding-right: 15px;
		margin: 0 auto;
	}

	.table-section__inner {
		text-align: left;
	}

	.aboutus__subtitle {
		font-size: 1.875rem;
	}

	.company__aboutus {
		margin: 0 calc(50% - 50vw) 0;
		padding-bottom: 0;
	}

	.company__aboutus .aboutus__wrapper {
		padding-top: 3.5rem;
		padding-bottom: 3.5rem;
	}

	.company__sentence-img {
		padding-top: 30px;
	}

	.sentence-img__container {
		padding-top: 100px;
		padding-bottom: 100px;
		margin: 0 calc(50% - 50vw) 0;
		padding-left: 0;
		padding-right: 0;
	}

	.sentence-img__inner .sentence-img__rim-section-title {
		margin-bottom: -58px !important;
	}

	.caption-img__text--large {
		font-size: 1.875rem;
	}

	.caption-img__text--small {
		font-size: 1.063rem;
	}

	.sentence-img__text {
		font-size: 1.063rem;
	}

	.table__header {
		float: initial;
		width: 18.4%;
		font-size: 1.063rem;
		padding-top: 1.5rem;
		padding-bottom: 1.3rem;
	}

	.table__data {
		font-weight: 400;
		float: initial;
		width: 81.6%;
		font-size: 1.063rem;
		padding-top: 1.5rem;
		padding-bottom: 1.3rem;
		border-bottom: 1px solid #262626;
	}

	.company__table-section {
		padding-top: 80px;
		padding-bottom: 170px;
	}

	.table-section__table-wrapper {
		margin-top: 1rem;
	}

	.sentence-img__row {
		display: flex;
		padding-left: 15px;
		padding-right: 15px;
		max-width: 1470px;
		margin: 0 auto;
		justify-content: space-between;
	}

	.sentence-img__inner {
		text-align: left;
	}

	.caption-img {
		padding-left: 50px;
		margin-top: 0;
		margin-bottom: 32px;
	}

	.caption-img::after {
		width: 31px;
		height: 47px;
		left: 0;
		bottom: 3px;
	}

	.sentence-img__img-cap-wrapper {
		width: 28%;
	}

	.sentence-img__text-wrapper {
		width: calc(72% - 48px);

	}

	.sentence-img__container--gray .sentence-img__text-wrapper {
		order: 1;
	}

	.sentence-img__container--gray .sentence-img__img-cap-wrapper {
		order: 2;
	}
}


/* contact */
.contact__inner {
	padding-left: max(5.333vw, 15px);
	padding-right: max(5.333vw, 15px);
	margin-bottom: 13.5vw;
}

.banner--contact {
	background-image: url(../images/contact/banner__contact--sp.jpg);
}

.text-and-link__link {
	font-size: max(4vw, 16px);
	font-weight: 400;
	line-height: 1.65;
	position: relative;
	text-decoration: none;
	box-shadow: 0 1px #262626;
	display: initial;
	margin-right: max(8vw, 30px);
	letter-spacing: -1px;
}

.contact__sentence-content {
	margin-top: -4vw;
	margin-bottom: 10vw;
	text-align: center;
}

.text-and-link {
	text-align: center;
	margin-bottom: 12vw;
}

.text-and-link__link:focus-visible {
	outline: none;
	-webkit-box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #333333 !important;
	box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #333333 !important;
}

.text-and-link__link .link-icon {
	margin-top: 1vw;
}

.text-and-link__text {
	font-size: max(4.533vw, 16px);
	font-weight: 400;
	line-height: 1.65;
}

.label {
	font-size: max(4.533vw, 16px);
	font-weight: 400;
	line-height: 1.65;
	display: block;
	border: none;
	text-align: left;
	cursor: default !important;
}

.label--center {
	text-align: center;
	letter-spacing: -1px;
	margin-top: 8.5vw;
	margin-bottom: 9.5vw;
	margin-left: -2.5vw;
	margin-right: -2.5vw;
}

::-webkit-input-placeholder {
	color: #999999;
	letter-spacing: -.5px;
}

:-ms-input-placeholder {
	color: #999999;
	letter-spacing: -.5px;
}

::placeholder {
	color: #999999;
	letter-spacing: -.5px;
}

.form_input {
	font-size: max(4.533vw, 16px);
	font-weight: 400;
	line-height: 1.65;
	padding-left: 3.333vw;
	padding-right: 3.333vw;
	padding-top: 2.667vw;
	padding-bottom: 2.667vw;
	width: 100%;
	border: 1px solid #262626;
}

.form_textarea {
	width: 100%;
	resize: none;
	height: max(47.333vw, 170px);
	border: 1px solid #262626;
	padding-left: 3.333vw;
	padding-right: 3.333vw;
	padding-top: 2.667vw;
	padding-bottom: 2.667vw;
	font-size: max(4.533vw, 16px);
}

.form__upper {
	float: left;
	width: 100%;
}

.form__bottom {
	float: left;
	width: 100%;
	padding-top: 4vw;
	padding-bottom: 13.333vw;
}

.form__checkbox input {
	width: 7.467vw;
	height: 7.467vw;
	margin-right: 4vw;
}

.checkbox--left input {
	margin-left: -8.6vw;
}

.form__submit-btn {
	position: relative;
	display: block;
	border: 2px solid #004cbc;
	padding: 3vw 11.333vw 3.3vw 8vw;
	border-radius: 999px;
	max-width: 100%;
	background-color: #fff;
	margin: 0 auto;
	transition: 0.3s background-color ease;
	font-size: max(4.533vw, 16px);
	font-weight: 500;
	color: #004cbc;
	background-image: url(../images/icon/icon-arrow-right.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: calc(100% - max(2.667vw, 16px)) center;
	background-size: max(3.733vw, 16px) max(3.867vw, 16px);
}

.form__submit-btn:hover {
	background-color: #004cbc;
	color: #fff;
	background-image: url(../images/icon/icon-arrow-right--white.png);
}

.label--required {
	position: relative;
	padding-left: 29vw;
}

.label--required::after {
	content: '必須';
	position: absolute;
	background-color: #004cbc;
	color: #fff;
	font-size: max(4.533vw, 16px);
	top: 50%;
	transform: translateY(-50%);
	left: 0px;
	border-radius: 999px;
	padding: 0.27vw 8.1vw;
}

.label--any {
	position: relative;
	padding-left: 29vw;
}

.label--any::after {
	content: '任意';
	position: absolute;
	background-color: #fff;
	border: #004cbc solid 1px;
	color: #004cbc;
	font-size: max(4.533vw, 16px);
	top: 50%;
	transform: translateY(-50%);
	left: 0px;
	border-radius: 999px;
	padding: 0.27vw 8.1vw;
}

.form__table {
	width: 100%;
}

div.form__row {
	display: flex;
}

.form__link:focus-visible {
	outline: none;
	-webkit-box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #333333;
	box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #333333;
}

.label__text-special {
	margin-top: 3.5vw;
	margin-left: -1.5vw;
	margin-right: -1.5vw;
	display: block;
}

.label__text-special--checkbox {
	display: initial;
}

.label--center .wpcf7-form-control-wrap {
	position: relative;
}

.label--center .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
	position: absolute;
	top: -7vw;
	left: -4vw;
	min-width: max(40vw, 180px);
}

.label--center .wpcf7-form-control-wrap .wpcf7-list-item-label {
	display: none;
}

.wpcf7-not-valid-tip {
	font-size: max(4.533vw, 16px) !important;
}

@media screen and (max-width: 450px) {
	.label--center .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
		min-width: 170px;
	}

	::-webkit-input-placeholder {
		color: #999999;
		letter-spacing: -1.5px;
	}

	:-ms-input-placeholder {
		color: #999999;
		letter-spacing: -1.5px;
	}

	::placeholder {
		color: #999999;
		letter-spacing: -1.5px;
	}
}

@media screen and (max-width: 400px) {
	.text-and-link__link {
		letter-spacing: -1.3px;
		margin: 0 -5px 0 -30px;
	}

	.label--center .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
		min-width: 154px;
	}
}

@media screen and (max-width: 350px) {
	.label--center {
		letter-spacing: -1.8px;
	}

	.label--center .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
		min-width: 130px;
	}
}

@media screen and (min-width: 768px) {
	.contact__sentence-content {
		margin-top: -5px;
	}

	.text-and-link__link {
		font-size: 1.063rem;
	}

	.text-and-link__text {
		font-size: 1.063rem;
	}



	.label {
		font-size: 1.063rem;
	}

	.label--required {
		padding-left: 110px;
	}

	.label--required::after {
		font-size: 1.063rem;
		padding: 2px 33px 4px;
	}

	.label--any {
		padding-left: 110px;
	}

	.label--any::after {
		font-size: 1.063rem;
		padding: 2px 33px 4px;
	}

	.label--any::after {
		font-size: 1.063rem;
	}

	.form_input {
		font-size: 1.063rem;
		padding: 17px 25px;
	}

	.form_textarea {
		font-size: 1.063rem;
		height: 150px;
		padding: 15px 25px;
	}

	.form__submit-btn {
		font-size: 1.063rem;
		background-size: 1.375rem 1.25rem;
		background-position: calc(100% - 1.1rem) center;
		width: 1.375rem;
		margin-top: -8px;
		padding: 17px 65px 17px 60px;
		min-width: 300px;
	}

	.form__checkbox input {
		width: 28px;
		height: 28px;
		margin-left: 0;
		margin-right: 40px;
	}

	.text-and-link__link {
		padding-bottom: 3px;
		border-bottom: 1px solid #262626;
		box-shadow: none;
		margin-right: 30px;
	}

	.text-and-link__link .link-icon {
		margin-top: 7px;
	}

	.form__upper {
		float: initial;
		padding-top: 12px;
		width: 370px;
		vertical-align: top;
	}

	.form__bottom {
		float: initial;
		padding-top: 0px;
		padding-bottom: 50px;
		width: calc(100% - 370px);
	}

	.contact__inner {
		max-width: 1110px;
		padding-left: 15px;
		padding-right: 15px;
		margin: 0 auto 100px;
	}

	.banner--contact {
		background-image: url(../images/contact/banner__contact--pc.jpg)
	}

	.contact__sentence-content {
		margin-bottom: 95px;
	}

	.label__text-special {
		margin-top: 10px;
	}

	.label--center {
		margin-top: 33px;
		margin-bottom: 37px;
	}

	.text-and-link {
		text-align: center;
		margin-bottom: 42px;
	}

	.label--center .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
		position: absolute;
		top: -38px;
		left: 0;
		min-width: 177px;
		font-size: 1.063rem;
	}

	.wpcf7-not-valid-tip {
		font-size: 1.063rem !important;
	}
}

.thanks__content {
	margin-top: -6vw;
}

.thanks__title-text {
	font-size: max(6.667vw, 16px);
	text-align: center;
	line-height: 1.4;
	margin-bottom: 9vw;
	font-weight: 400;
}

.thanks__text {
	font-size: max(4.533vw, 16px);
	font-weight: 400;
	line-height: 1.65;
	display: block;
	text-align: center;
	margin: 0 -3vw;
}

.thanks__button-border {
	margin-top: 11.5vw;
	margin-bottom: 10.5vw;
}

.thanks__button-border .button-border {
	margin-bottom: 4vw;
	padding: 3.467vw 10.5vw 3.067vw 6.5vw;
}

.thanks__button-border .button-border--icon-link {
	padding: 3.467vw 16vw 3.067vw 10vw;
	position: relative;

}

.thanks__button-border .button-border--icon-link::after {
	right: max(3.667vw, 16px);
}

@media screen and (max-width: 340px) {
	.thanks__text {
		letter-spacing: -0.5px;
	}
}

@media screen and (min-width: 768px) {
	.thanks__content {
		margin-top: -10px;
	}

	.thanks__title-text {
		font-size: 1.875rem;
		line-height: 2;
		margin-bottom: 30px;
	}

	.thanks__text {
		font-size: 17px;
	}

	.thanks__button-border {
		display: flex;
		margin-top: 95px;
		margin-bottom: 100px;
		justify-content: center;
	}

	.thanks__button-border .button-border {
		min-width: 300px;
	}

	.thanks__button-border .button-border {
		margin: 0 20px;
		padding: 1rem 90px 1.1rem;
	}

	.thanks__button-border .button-border--icon-link::after {
		right: 20px;
	}

}

.sentence-content__link--un-icon {
	padding-right: 0 !important;
}

@media screen and (max-width: 400px) {
	.sentence-content__link {
		letter-spacing: -0.6px;
	}

	.label__text-special {
		margin-left: -2.5vw;
		margin-right: -2.5vw;
	}
}

.form__link {
	position: relative;
	text-decoration: none;
	box-shadow: 0 1px #262626;
	padding-right: max(8vw, 30px);
}

@media screen and (min-width: 768px) {
	.form__link {
		padding-right: 30px;
		padding-bottom: 3px;
		border-bottom: 1px solid #262626;
		box-shadow: none;
	}

	.form__link .link-icon {
		margin-top: 7px;
	}

	.label__text-special {
		display: inline-flex;
	}

}

.float-cta {
	display: block;
	position: fixed;
	bottom: 10px;
	bottom: 0.625rem;
	left: 50%;
	-webkit-transform: translate(-50%);
	transform: translate(-50%);
	width: 95%;
	z-index: 1;
}

.cta {
	width: 100%;
	height: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	border: 2px solid #333333;
	border: 0.125rem solid #333333;
	border-radius: 0.4375rem;
	background-color: #fff;
}

.cta__link--tel {
	position: relative;
}

.cta__link {
	width: 50%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.cta__link--tel .cta__img {
	padding-top: 10px;
	padding-top: 0.625rem;
	padding-bottom: 10px;
	padding-bottom: 0.625rem;
}

.cta__img {
	width: 25%;
	height: auto;
	padding: 5px;
	padding: 0.3125rem;
}

.cta__link--tel::after {
	display: block;
	content: "";
	width: 2px;
	width: 0.125rem;
	height: 85%;
	background-color: #333333;
	position: absolute;
	top: auto;
	right: 0;
}

@media screen and (min-width: 768px) {
	.float-cta {
		display: none;
	}

}

@media screen and (max-width: 1023px) {
	div.form__row {
		flex-wrap: wrap;
	}
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
	.contact__sentence-content {
		margin-bottom: 65px;
	}

	.form__upper {
		float: left;
		width: 100%;
		padding-bottom: 20px;
	}

	.form__bottom {
		float: left;
		width: 100%;
		padding-bottom: 30px;
	}

	.nav__item {
		border-top: 0px solid #004cbc;
		padding: 1.1rem 1rem 0.9rem;
	}

	/* .eader__logo-desktop {
		width: 100%;
	}

	.header__info-group {
		width: 100%;
		margin-top: 30px;
	} */

	.group-contact__text {
		letter-spacing: -1px;
	}

	.button-border--icon-link {
		padding: 1rem 4.375rem 1.2rem 1.5rem;
	}

	.group-data-link__icon-book {
		padding-left: 10px;
	}

	.group-data-link__button-border {
		padding-right: 10px;
	}

	.group-row__logo-company {
		margin: 0 auto 70px;
	}

	.nav--white .nav__item {
		padding: 0 0.25rem 0;
	}

	.header__upper {
		width: 100%;
	}

	.info-group__inner {
		justify-content: right;
	}

	.thanks__title-text {
		letter-spacing: -1px;
	}

	.thanks__button-border {
		margin-top: 55px;
		margin-bottom: 70px;
	}

	.sentence-content {
		margin-bottom: 65px;
	}

	.accessibility-policy__inner .sentence-content:last-child {
		margin-bottom: 75px;
	}

	.title-and-content__img-wrapper {
		width: 100%;
		display: flex;
		justify-content: center;
		text-align: center;
		padding-bottom: 0;
	}

	.text-content {
		width: 100%;
	}

	.improvement-content {
		padding-top: 3.5rem;
	}

	.img-content-list .img-content-list__item:last-child {
		padding-bottom: 0px;
	}

	.title-square__text {
		font-size: 2.4rem;
	}

	.aboutus__title-text {
		font-size: 2.4rem;
	}

	.title-line-vertical__title-text {
		font-size: 1.5rem;
	}

	.img-text__inner {
		flex-wrap: wrap;
	}

	.img-text__upper {
		width: 100%;
		margin-bottom: 30px;
		display: flex;
		justify-content: center;
	}

	.img-text__bottom {
		width: 100%;
	}

	.top-mainvisual-slider-item {
		min-height: auto;
	}

	.fv__title {
		font-size: 1.75rem;
		margin-bottom: 0;
	}

	.fv__subtitle {
		font-size: 1.2rem;
	}

	.fv__title-wrapper {
		width: 50%;
		min-width: 25rem;
		right: 15px;
	}

	.button-border--large-and-arrow {
		padding: 1rem 4.375rem 1.2rem 2.75rem;
	}

	.card {
		width: 100%;
	}

	.cards {
		column-gap: 0%;
	}

	.form__checkbox input {
		margin-right: 27px;
	}

	.header__logo-desktop {
		width: 18.875rem;
	}

	.header__info-group {
		width: calc(100% - 18.875rem);
		max-width: 41rem;
	}

}

@media screen and (min-width: 768px) and (max-width: 950px) {

	.header__logo-desktop {
		width: 100%;
		text-align: center;
	}

	.header__info-group {
		width: 100%;
		max-width: none;
		margin-top: 30px;
	}

	.info-group__inner {
		justify-content: center;
	}
}

/* Hide reCAPTCHA mark */
.grecaptcha-badge {
	visibility: hidden;
}

/*=== Blog page ===*/
#blog {
    max-width: 1140px;
    padding: 80px 0;
    margin: 0 auto;
}

.blog-main__title {   
    margin-bottom: 40px;
}

.blog-main__title h2 {
    font-size: 24px;
}

.blog-wrapper {
	display: flex;
    width: 100%;
    flex-wrap: wrap;
    margin-top: 20px;
}

.blog-main {
	flex: 100%;
    max-width: calc(70% - 30px);
    margin: 0 30px 30px 0;
}

.blog-sidebar {
	flex: 100%;
    max-width: calc(30% - 30px);
    margin: 0 0 30px 30px;
}

.blog-main-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    gap: 40px;     
    box-sizing: border-box;
}

.blog-main-item {
    width: calc((100% - 1 * 40px) / 2); /* 4 items per row, 3 gaps */   
    box-sizing: border-box;
}

.blog-main-img img {
    width: 100%;
    height: 250px;
    object-fit: cover;
}

.blog-main-middle {
    color: #777;
    font-size: 13px;
}

.blog-date i {
    margin-right: 5px;
}

.blog-category {
    margin-left: 20px;
}

.blog-category i {
    margin-right: 5px;
}

.blog-main-bottom-title {
    font-size: 16px;
    font-weight: 700;
    color: #000;
}

.blog-main-pagination {
    text-align: center;
    margin-top: 40px;
}

.blog-main-pagination a.page-numbers {
    border: 1px solid #004cbc;
    color: #000;
    padding: 10px 20px;
    border-radius: 10px;
    text-decoration: none;
}

.blog-main-pagination a.page-numbers:hover {
    background: #004cbc;
    color: #fff;
}

.blog-main-pagination .page-numbers.current {
    border: 1px solid #004cbc;
    background: #004cbc;
    color: #fff;
    padding: 10px 20px;
    border-radius: 10px;
    text-decoration: none
}

.blog-main-pagination .page-numbers {
    margin-right: 10px;
}

.sidebar-item-title {
    position: relative;
    font-size: 16px;
    border-bottom: 3px solid #333;
    display: inline-block;
}

.sidebar-item-content-item {
    display: flex;
    flex-wrap: wrap;
    color: rgba(51, 51, 51, 1);
    border-bottom: 1px solid rgba(182, 182, 182, 1);
    padding-top: 30px;
}

.sidebar-item-content-item:hover {
    color: #333;
    text-decoration: none;
}

.sidebar-item-content-item-img {
    flex: 100%;
    max-width: calc(40% - 10px);
    margin: 0 10px 30px 0;
}

.sidebar-item-content-item-img img {
    width: 100%;
	height: 64px;
	object-fit: cover;
}

.sidebar-item-content-item-title {
    flex: 100%;
    max-width: calc(60% - 10px);
    margin: 0 10px 30px 0;
	font-size: 13px;
}

h2.widgettitle {
    display: none;
}

.mgt-40 {
    margin-top: 40px;
}

.mgt-60 {
	margin-top: 60px;
}

.mgt-80 {
	margin-top: 80px;
}

.mgb-30 {
	margin-bottom: 30px;
}

/* Courses Section */

#courses {    
    padding: 40px 20px;   
}

.courses__title {
    margin-bottom: 40px;
}

.courses__inner {
    padding: 5.333vw;
	background: #fff;
    margin: 20px;
	max-width: 1440px;
    margin: 0 auto;
	border-radius: 10px;
}

.courses__title {
    margin-bottom: 8vw;
}

.courses__cards_wrapper {
    display: flex;
    align-items: flex-start;
    gap: 4vw;
    background-color: #fff;
    border-radius: 10px;
    padding: 4vw;
    /* box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); */
}

.courses__cards-image {
    flex: 0 0 44%;
    max-width: 44%;
}

.courses__cards-image img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}

.courses__cards-text {
    flex: 0 0 50%;
    max-width: 50%;
    /* padding-left: 2vw; */
}

.courses__cards-text-tag-round {
    margin-bottom: 2vw;
	text-align: left;
	margin-top: 0!important;
}

.courses__cards-text-title {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
    line-height: 1.4;
}

.courses__cards-text-text {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.65;
    margin-bottom: 4vw;
}

.courses__cards-text-button-border {
    margin-top: auto;
    text-align: right;
}

.courses__cards-text-button-border .button-border {
    display: inline-block;
    margin: 0;
}



/* Mobile layout - stack image on top of text */
@media screen and (max-width: 767px) {
    .courses__cards_wrapper {
        flex-direction: column;
        gap: 4vw;
        padding: 4vw;
		margin-bottom: 40px;
    }
    
    .courses__cards-image {
        flex: none;
        max-width: 100%;
        width: 100%;
    }
    
    .courses__cards-text {
        flex: none;
        max-width: 100%;
        width: 100%;
        padding-left: 0;
        text-align: center;
    }
    
    .courses__cards-text-title {
        font-size: max(6vw, 18px);
		text-align: left;
    }
    
    .courses__cards-text-text {
        font-size: max(4.8vw, 16px);
		text-align: left;
    }

	.courses__cards-text-button-border .button-border {
		min-width: 95%;
	}
}

@media screen and (min-width: 768px) {
    .courses__inner {
        padding: 5rem 1.25rem;		
    }
    
    .courses__title {
        margin-bottom: 3rem;
    }
    
    .courses__cards_wrapper {
        gap: 3rem;
        padding: 3rem;
        max-width: 1440px;
        margin: 0 auto;
    }
    
    .courses__cards-text {
        /* padding-left: 1.5rem; */
    }
    
    .courses__cards-text-title {
        font-size: 1.5rem;
        margin-bottom: 10px;
    }
    
    .courses__cards-text-text {
        font-size: 1.063rem;
        margin-bottom: 2rem;
    }
    
    .courses__cards-text-tag-round {
        margin-bottom: 1rem;
    }
}

/* Specific tablet range adjustments */
@media screen and (min-width: 768px) and (max-width: 936px) {
	.courses__cards-image {
		flex: 0 0 42%;
		max-width: 42%;
	}	
	
	.courses__cards-text {
		flex: 0 0 48%;
		max-width: 48%;		
	}
}



/* Single Blog Page */
.header-blog {     
    font-weight: 700;
    color: #000;      
    border-bottom: 3px solid #333;
    font-size: 24px;      
	display: block;
	width: 100%;
}

.single img {
    max-width: 100%;
    height: auto;
}
.single-date {
    margin: 15px 0;
    color: #777;
	font-size: 13px;
    letter-spacing: 0;
}

.single-date span {
    margin-right: 10px;
    padding: 5px 10px;
}

.single-ct {
    font-size: 16px;
    padding-bottom: 30px;
    letter-spacing: 0;    
}

.my-breadcrumbs {
	padding: 0 15px;
}

@media screen and (max-width: 767px) {
	.blog-main {
		flex: 100%;
		max-width: 100%;
		margin: 0 0 30px 0;
	}
	
	.blog-sidebar {
		flex: 100%;
		max-width: 100%;
		margin: 0 0 0 30px;
	}

	.blog-main-list {
		padding: 0 15px;
	}

	.blog-main-item {
		width: 100%;
		margin-bottom: 30px;
	}
}

nav.toggle__nav.nav {
	display: block;
}