


/* -------------------------------------
	
----------------------------------------*/
:root {
	--main-cp-color: #F14215;
	--bg-color-gray: #F8F8F8;
	--text-color-defo: #2A2A2A;
}
/**/
a:hover {
#	color: var(--main-cp-color);
	border-bottom: 1px solid #b1afaf;
}

/* -------------------------------------
	
----------------------------------------*/
html {
	font-size: 0.625em;
}
body {
	font-family: 'Noto Sans JP',"メイリオ", "Meiryo","游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",  sans-serif;
	touch-action: manipulation;
	word-break: break-all;
	color: var(--text-color-defo);
	letter-spacing: 0.05em;
}



img {
	width: 100%;
	vertical-align: bottom;
}

a {
	color: var(--text-color-defo);
}

.pc {
	display: block;
}
.sp {
	display:none;
}
@media only screen and (max-width: 750px) {
	.pc {
	        display:none;
	}
	.sp {
		display: block;
	}
}


/* -------------------------------------
	header
----------------------------------------*/
.header__container {
	position: -webkit-sticky; /* Safari */
	position: sticky;
	top: 0;
	background: #fff;
	z-index: 15;
	transition: transform 0.5s;
}

.header__container.js_hide {
	transform: translateY(-100%);
}

.header__nav {
	border-bottom: 1px solid #c3bdbd;
}

.nav__container {
	display: flex;
	align-items: center;
	width: 95%;
	margin: auto;
}
@media screen and (max-width: 750px) {
	.nav__container {
		justify-content: space-between;
		padding: 3% 0 2%;
		width: 93%;
	}
}

.nav__logo {
	width: 6%;
#	max-width: 100px;
}
@media only screen and (max-width: 750px) {
	.nav__logo {
		width: 12.5%;
#		max-width: 100px;
	}
}

.nav__menu {
	margin-left: auto;
}

.nav__menu-list {
	display: flex;
	gap: 2.1vw;
	padding-top: 5%;
}

.nav__menu-link a {
	position: relative;
	font-size: 1.1vw;
	line-height: 1.5;
	letter-spacing: 0.05em;
	font-weight: 500;
	padding-bottom: 16px;
	display: block;
}

.nav__menu-link a:hover {
	color: var(--main-cp-color);
	border-bottom: unset;
}

.nav__menu-link a:before {
	content: "";
	position: absolute;
	z-index: 1;
	bottom: -1px;
	left: 1px;
	width: 100%;
	height: 1px;
	transition: background-color 0.25s ease-in-out;
	background: transparent;
}

.nav__menu-link a:hover::before {
	background: var(--main-cp-color);
}

.nav__menu__link-image-icon {
	width: 0.9vw;
	margin-left: 7px;
	vertical-align: baseline;
}

.nav__menu-button {
	width: 2%;
	cursor: pointer;
	margin-left: 5.3%;
}
@media only screen and (max-width: 750px) {
	.nav__menu-button {
		width: 8%;
	}
}

/** sub menu **/
.c-header-pop {
	width: 100vw;
#	height: 100vh;
	height: 100svh;
	position:fixed;
	top: 0;
	left:0;
	z-index:10!important;
	display: none;
}
.c-header-bg {
	background-color: #1119;
	width: 100%;
#	height: 100%;
	height: 100vh;
	position:fixed;
	z-index:11!important;
}

.c-header-main {
	text-align: center;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 12;
	position: absolute;
	width: 100%;
	background: #fff;
	display: none;
#	max-height: 60vh;
	max-height: 80vh;
	overflow-y: auto;
#	opacity: 0;
	transition: 1s;
}

.c-header-main-body {
	opacity: 0;
	transition: 1s;
	position: absolute;
	top:0;
	z-index: 0;
	display:none;
}

.c-header-main-body.active {
	position: relative;
	z-index: 12;
	display:block;
	animation: fadeUp2 800ms ease-in-out forwards;
}
@keyframes fadeUp2 {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}


.nav__menu-sub-box {
	width: 81%;
	margin: 3% auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 3vw;
	text-align: left;
}

.nav__menu-sub-main {
	width: 21%;
}
.nav__menu-sub-links {
	width: 73%;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2vw 2.5vw;
	font-size: 1vw;
	padding-top: 7%;
}

.nav__menu-sub-main-link {
	width: 100%;
	font-size: 1.55vw;
	font-weight: 900;
	margin-bottom: 8%;
}
.nav__menu-sub-main-link a {
	width: 100%;
}
.nav__menu-sub-main-link .common__arrow-link {
	display: block;
}

.nav__menu-sub-main-link .common__arrow-link::after {
	background-size: auto 36%;
	background-position: center right;
	transform: translate(-44%, -50%);
	top: 80%;
}

.nav__menu-sub-main-link span {
	font-size: 0.8vw;
	font-weight: bold;
}

.nav__menu-sub-links  .common__arrow-link {
	display: block;
}


.nav__menu-sub-links-list {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 4vw;
	row-gap: 1.5vw;
	justify-items: flex-start;
	font-size: 0.85vw;
	margin-bottom: 4%;
}

.nav__menu-sub-links-list li {
	width: 100%;
	background-image: url(/images/common/common_btn_arrow_01.png);
	background-position: bottom 50% right;
	background-repeat: no-repeat;
	background-size: auto 62%;
	border-bottom: 1px solid #d1d1d1;
	padding-bottom: 3%;
}

.nav__menu-sub-links-list li:hover {
	background-image: url(/images/common/common_btn_arrow_02.png);
	border-bottom: 1px solid var(--main-cp-color);
}

.nav__menu-sub-links-list li a {
	display: block;
}
.nav__menu-sub-links-list li:hover a {
	color: var(--main-cp-color);
	border: unset;
}
.nav__menu-sub-links-list-child {
	display: flex;
	flex-direction: column;
	gap: 0.5vw;
	font-size: 0.85vw;
}
.nav__menu-sub-links-list-child li:hover a {
	color: var(--main-cp-color);
	border: unset;
}



/* -------------------------------------
	footer
----------------------------------------*/
footer {
	background: #1F1D1D;
	padding-top: 10%;
}
footer a:hover {
#	color: var(--main-cp-color);
}
@media only screen and (max-width: 750px) {
	footer {
		padding-top: 50%;
	}
}
.footer__menu {
	color: #fff;
#	height: min(30vw, 260px);
	position: relative;
	width: 100%;
}
@media only screen and (max-width: 750px) {
	.footer__menu {
#		height: min(70vw, 420px);
#		height: min(90vw, 560px);
##		height: min(100vw, 600px);
#		height: 540px;
	}
}

.footer__menu-logo {
	width: 8%;
	position: absolute;
	bottom: 0;
	left: 6%;
}
@media only screen and (max-width: 750px) {
	.footer__menu-logo {
		width: 27%;
		top: -80%;
		left: 6%;
		bottom: unset;
		right: unset;
	}
}

.footer__menu-sns {
	width: 5%;
	position: absolute;
	bottom: 0;
	left: 16.5%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
@media only screen and (max-width: 750px) {
	.footer__menu-sns {
		width: 19%;
		bottom: -65%;
		left: 50%;
		transform: translateX(-50%);
	}
}

.footer__menu-sns-x,
.footer__menu-sns-yotube {
	width: 37%;
}
@media only screen and (max-width: 750px) {
	.footer__menu-sns-x,
	.footer__menu-sns-yotube {
		width: 41%;
	}
}

.footer__menu-logo a:hover,
.footer__menu-sns a:hover {
	border-bottom: unset;
}

.footer__info {
###	display: grid;
###	grid-template-columns: repeat(2, 1fr);
###	grid-template-rows: repeat(4, 1fr);
	gap: 2vw;
	row-gap: 2vw;
	width: 32.1%;
#	position: absolute;
#	right: 3%;
#	bottom: 14%;

	position: relative;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-left: auto;
	margin-right: 4%;
	margin-bottom: 3%;
}
@media only screen and (max-width: 750px) {
	.footer__info {
		width: 88%;
#		max-width: 640px;
###		top: 51%;
###		left: 50%;
###		right: unset;
###		bottom: unset;
###		transform: translate(-50%, -50%);
	        row-gap: 8vw;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 35%;
	}
}



.footer__info-link.div3 {
    grid-row-start: 2;
}

.footer__info-link.div4 {
    grid-row-start: 2;
}

.footer__info-link.div5 {
    grid-row-start: 3;
    width: 100%;

}

.footer__info-link.div6 {
	grid-row-start: 4;
    width: 100%;
}

.footer__info-link {
	width: 45%;
	font-size: 1.06vw;
	word-spacing: 0.8vw;
}
@media only screen and (max-width: 750px) {
	.footer__info-link {
		width: 48.7%;
		font-size: 3.6vw;
		word-spacing: 1.5vw;
	}
}
.footer__info-link a {
	color: #fff;
}

.footer__bottom {
	background: #1F1D1D;
	color: #fff;
	position: relative;
	padding: 2% 1%;
	border-top: 1px solid #464444;
	font-size: 0.9vw;
}
@media only screen and (max-width: 750px) {
	.footer__bottom {
		font-size: 1.2rem;
		border-top: unset;
	}
}

.footer__bottom-info {
	position: relative;
#	display: grid;
#	grid-template-columns: repeat(3, 1fr);
	place-items: center;
	width: 30%;
	left: 5%;
	display: flex;
	gap: 1.7vw;
}
@media only screen and (max-width: 750px) {
	.footer__bottom-info {
		position: unset;
		width: 75%;
		margin: 0 auto 7%;
#		max-width: 350px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		font-size: 2.8vw;
	}
}
.footer__bottom-link {

}

.footer__bottom-link a {
    color: #fff;
}

.footer__bottom-copyright {
	position: absolute;
	right: 6%;
	top: 50%;
	transform: translateY(-50%);
	color: #919191;
}
@media only screen and (max-width: 750px) {
	.footer__bottom-copyright {
		position: unset;
		transform: unset;
		width: 50%;
		margin: 3% auto 1%;
		text-align: center;
	}
}

.footer__link-image-icon {
	width: 0.9vw;
	margin-left: 0;
	vertical-align: middle;
}
@media only screen and (max-width: 750px) {
	.footer__link-image-icon {
		width: 2.9vw;
		vertical-align: baseline;
	}
}


/* -------------------------------------
	Sit Map(menu)
----------------------------------------*/
/** modal **/
.menu-modal-pop {
	width: 100vw;
#	height: 100vh;
	height: 100svh;
	position:fixed;
	top: 0;
	left:0;
	z-index:20!important;
	display: none;
	overflow: auto;
}
.menu-modal-pop-bg {
	background-color: #fff;
	width: 100%;
	height: 100%;
	position:fixed;
	z-index:21!important;
}
/*
.menu-modal-pop-main {
	position: relative;
	width: auto;
	text-align: center;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 21;
}
*/
.menu-modal-pop-main {
	position: relative;
	z-index: 22;
}


/** header **/
.sitemap__header {
	width: 95%;
	margin: 1% auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
@media only screen and (max-width: 750px) {
	.sitemap__header {
		width: 90%;
		margin: 2% auto;
	}
}

.sitemap__header-logo {
	width: 6%;
}
@media only screen and (max-width: 750px) {
	.sitemap__header-logo {
		width: 17%;
	}
}

.batsu{
	font-size: 2.3vw;
	cursor: pointer;
}
@media only screen and (max-width: 750px) {
	.batsu{
		font-size: 7.5vw;
		padding-right: 4%;
	}
}


/** main **/
.sitemap__container {
	width: 76%;
	margin: 2% auto 0;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 5.9vw;
	row-gap: 0;
}
@media screen and (max-width: 750px) {
	.sitemap__container {
		width: 84%;
		flex-direction: column;
		row-gap: 7vw;
		margin: 13% auto 8%;
	}
}

.sitemap__container a:hover {
	border-bottom: unset;
}

.sitemap__item-div1 {
	width: 24%;
}

.sitemap__item-div2 {
	width: 24%;
}
.sitemap__item-div2 .sitemap__card {
	margin-bottom: 20%;
}
@media screen and (max-width: 750px) {
	.div2 .sitemap__card {
		margin-bottom: 10vw;
	}
}
.sitemap__item-div3 {
	width: 36%;
}

.sitemap__item-div4 {
	width: 24%;
	transform: translateY(-80%);
}
@media screen and (max-width: 750px) {
	.sitemap__item-div4 {
		transform: unset;
	}
}
.sitemap__item-div5 {
	width: 24%;
	transform: translateY(-80%);
}
@media screen and (max-width: 750px) {
	.sitemap__item-div5 {
		transform: unset;
	}
}

@media screen and (max-width: 750px) {
	.sitemap__item-div1,.sitemap__item-div2,.sitemap__item-div3,.sitemap__item-div4,.sitemap__item-div5 {
		width: 100%;
	}
}


.sitemap__card-ir {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.7vw;
}
@media screen and (max-width: 750px) {
	.sitemap__card-ir {
		grid-template-columns: repeat(1, 1fr);
	}
}

.sitemap__card {
#	background: aquamarine;
}

.sitemap__card-links-link-1 {
	margin-bottom: 7%;
}

.sitemap__card-links-link-head {
	padding-bottom: 5%;
	border-bottom: 1px solid #dadada;
}
@media screen and (max-width: 750px) {
	.sitemap__card-links-link-head {
		padding-bottom: 0;
	}
}

.sitemap__card-links-link-head li {
	display: flex;
	align-items: normal;
	justify-content: space-around;
	flex-direction: column;
}
@media screen and (max-width: 750px) {
	.sitemap__card-links-link-head li {
		flex-direction: row;
	}
}

.sitemap__card-links-link-head a {
	width: 100%;
	font-size: 0.9vw;
}
@media screen and (max-width: 750px) {
	.sitemap__card-links-link-head a {
		font-size: 3.8vw;
		line-height: 1.2;
		padding-bottom: 4%;
	}
}

.sitemap__card-links-link-head a span{
	font-size: 1.6vw;
	font-weight: 900;
}
@media screen and (max-width: 750px) {
	.sitemap__card-links-link-head a span{
		font-size: 7.1vw;
	}
}


.sitemap__card-links-link-head .arrow-link::after {
	width: 100%;
	height: 100%;
	background-size: auto 50%;
	top: 70%;
}
@media screen and (max-width: 750px) {
	.sitemap__card-links-link-head .arrow-link::after {
		background-size: auto 40%;
		top: 60%;
	}
}
@media screen and (max-width: 750px) {
	.sitemap__card-links-link-main {
		padding: 0 5%;
	}
}

.sitemap__card-links-link-main li {
	width: 100%;
	margin: auto;
	margin-bottom: 8%;
	padding-left: 10%;
#	background-image: url(/images/common/common_btn_arrow_11.png);
#	background-position: bottom 50% left;
#	background-repeat: no-repeat;
#	background-size: auto 49%;
##	font-size: 0.84vw;
	font-size: 0.793vw;
}
@media screen and (max-width: 750px) {
	.sitemap__card-links-link-main li {
		padding-left: 8%;
		font-size: 3.5vw;
	}
}
.sitemap__card-links-link-main .indent a {
	margin-left: 14%;
}
@media screen and (max-width: 750px) {
	.sitemap__card-links-link-main .indent a {
		margin-left: 9%;
	}
}

.sitemap__card-links-link-main li:hover {
#	background-image: url(/images/common/common_btn_arrow_12.png);
}

.sitemap__card-links-link-main li a {
#	color: #2a2a2a;
	display: block;
}

.sitemap__card-links-link-main li:hover a {
	color: var(--main-cp-color);
}

.sitemap__arrow {
	background-image: url(/images/common/common_btn_arrow_11.png);
	background-position: bottom 50% left;
	background-repeat: no-repeat;
	background-size: auto 32%;
}
@media screen and (max-width: 750px) {
	.sitemap__arrow {
		background-size: auto 40%;
	}
}

.sitemap__card-links-link-main li.sitemap__arrow:hover {
	background-image: url(/images/common/common_btn_arrow_12.png);
}



/** footer **/
.sitemap__footer {
	width: 100%;
	border-top: 1px solid #e1e1e1;
}
@media screen and (max-width: 750px) {
	.sitemap__footer {
		padding: 7% 0;
	}
}


.sitemap__footer-link {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 76%;
	margin: 1% auto 0;
}
@media screen and (max-width: 750px) {
	.sitemap__footer-link {
		flex-direction: column;
	}
}

.fsitemap__footer-link-box {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 27%;
	font-size: 0.8vw;
}
@media screen and (max-width: 750px) {
	.fsitemap__footer-link-box {
		order: 2;
		width: 100%;
		font-size: 2.9vw;
	}
}

.sitemap__footer-sns {
	display: flex;
	justify-content: center;
	gap: 0.6vw;
	width: 8%;
}
@media screen and (max-width: 750px) {
	.sitemap__footer-sns {
		order: 1;
		width: 27%;
		gap: 3.0vw;
		margin-bottom: 10%;
	}
}
.sitemap__footer-sns a:hover {
	border-bottom: unset;
}

.sitemap__footer-sns-x,
.sitemap__footer-sns-yotube {
    position: relative;
}
.sitemap__footer-sns-x .on,
.sitemap__footer-sns-yotube .on {
	position: relative;
	visibility: hidden;
}
.sitemap__footer-sns-x:hover .on,
.sitemap__footer-sns-yotube:hover .on {
	visibility: visible;
}
.sitemap__footer-sns-x .off,
.sitemap__footer-sns-yotube .off {
	position: absolute;
	top: 0;
	left: 0;
}
.sitemap__footer-sns-x:hover .off,
.sitemap__footer-sns-yotube:hover .off {
	transition: .5s;
	opacity: 0;
#	display: none;
}


/* -------------------------------------
	共通ページタイトル部分
----------------------------------------*/
/** パンくずリスト(上部) **/
.common__breadcrumb {
	width: 90%;
	margin: 4% auto 3%;
}
@media screen and (max-width: 750px) {
	.common__breadcrumb {
		width: 88%;
		margin: 6% auto 7%;
	}
}

/** パンくずリスト(下部) **/
.common__breadcrumb_under {
	margin: 3% auto 0%;
	width: 90%;
}
@media screen and (max-width: 750px) {
	.common__breadcrumb_under {
		margin: 8% auto 0%;
		width: 90%;
	}
}

.common__breadcrumb-list {
	font-size: 0.9vw;
}
@media screen and (max-width: 750px) {
	.common__breadcrumb-list {
		font-size: 2.5vw;
	}
}

.common__breadcrumb-list li {
	display: inline;
	list-style: none;
}

.common__breadcrumb-list li:after {
	content: '>';
	padding: 0 0.4vw;
}
@media screen and (max-width: 750px) {
	.common__breadcrumb-list li:after {
		padding: 0 1.2vw;
	}
}

.common__breadcrumb-list li:last-child:after {
	content: '';
}

.common__breadcrumb-list li a {
	text-decoration: none;
}

.common__breadcrumb li a:hover,
.common__breadcrumb_under li a:hover {
	color: var(--main-cp-color);
}



/** タイトル **/
.common__section-title {
	width: 85%;
	margin: auto;
	font-size: 0.8vw;
	color: var(--main-cp-color);
}
@media screen and (max-width: 750px) {
	.common__section-title {
		width: 97%;
		font-size: 1.9vw;
		margin-bottom: 1%;
	}
}

.common__section-title h2::before {
	content: "・"; /* ここに表示したい文字を指定 */
	margin-right: 0.7%; /* 右側に余白を設定 */
	color: var(--main-cp-color);
	font-size: 1.3vw;
}
@media screen and (max-width: 750px) {
	.common__section-title h2::before {
		font-size: 3.5vw;
	}
}


.common__page_title {
#	margin-top: 3%;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 8%;
	width: 81%;
	color: #000;
}
@media only screen and (max-width: 750px) {
	.common__page_title {
		width: 90%;
		margin-bottom: 17%;
#		word-break: keep-all;
		word-break: keep-all; /* 日本語・英単語を問わず、単語の途中での改行を抑制 */
		overflow-wrap: break-word; /* 長い単語がはみ出す場合にのみ、単語の途中での改行を許可 */
	}
}
.common__page_title h1 {
	font-size: 5.5vw;
	font-weight: 900;
	line-height: 1;
}
@media only screen and (max-width: 750px) {
	.common__page_title h1 {
		font-size: 9.0vw;
		line-height: 1.3;
	}
}

.common__page_title.small h1 {
	font-size: 2.7vw;
	line-height: 1.5;
}
@media only screen and (max-width: 750px) {
	.common__page_title.small h1 {
		font-size: 5.7vw
	}
}


.common__news_info {
	width: 80%;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 3%;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 1vw;
}
@media screen and (max-width: 750px) {
	.common__news_info {
		width: 90%;
		gap: 2vw;
		margin-bottom: 5%;
	}
}
.common__news_info .date{
	margin: 0;
	font-size: 1.2vw;
}
@media screen and (max-width: 750px) {
	.common__news_info .date{
		font-size: 3.5vw;
	}
}
.common__news_info .category{
	font-size: 1.0vw;
	margin: 0;
	padding: 0.5% 2%;
	border: 1px solid #F2532A;
	border-radius: 25px;

}
@media screen and (max-width: 750px) {
	.common__news_info .category{
		padding: 1% 5%;
		font-size: 2.5vw;
	}
}

.common__news_info .category span{
	color: #fff;
	text-align: center;
	display: inline-block;
	line-height: 1;
}
@media screen and (max-width: 750px) {
	.common__news_info .category span{
	}
}

.common__news_info .category.service {
	background: #F2532A;
	border: 1px solid #F2532A;
}
.common__news_info .category.notice {
	background: #000000;
	border: 1px solid #000000;
}
.common__news_info .category.ir {
	background: #999999;
	border: 1px solid #999999;
}


/* -------------------------------------
	2カラムレイアウト（左メニュー）
----------------------------------------*/
.split__2-container {
	width: 81%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	padding-bottom: 8%;
}
@media screen and (max-width: 750px) {
	.split__2-container {
		width: 88%;
	}
}
.split__2_left {
	width: 18%;
#	background-color: #faebd78c;
}
@media screen and (max-width: 750px) {
	.split__2_left {
		display: none;
	}
}
.split__2_main {
	width: 73%;
#	background-color: #faebd78c;
}
@media screen and (max-width: 750px) {
	.split__2_main {
		width: 100%;
	}
}


/* -------------------------------------
	矢印リンク
----------------------------------------*/
.common__arrow-link {
	display: inline-block;
	position: relative;
	padding-right: 5%;
	text-decoration: none;
}
@media screen and (max-width: 750px) {
	.common__arrow-link {
		padding-right: 7%;
	}
}

.common__arrow-link::after {
	content: "";
	display: inline-block;
	width: 100%;
	height: 100%;
	background-image: url(/images/common/common_btn_arrow_01.png);
#	background-size: contain;
	background-size: auto 100%;
	background-repeat: no-repeat;
	background-position: center right;
	position: absolute;
#	right: 0;
#	top: 50%;
#	transform: translateY(-50%);
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.common__arrow-link:hover {
	color: var(--main-cp-color);
	border-bottom: unset;
}

.common__arrow-link:hover::after {
	background-image: url(/images/common/common_btn_arrow_02.png);
}



/** 通常 **/
.arrow-link {
	display: inline-block;
	position: relative;
#	padding-right: 25px;
	padding-right: 10%;
	text-decoration: none;
	color: #000;
}
@media screen and (max-width: 750px) {
	.arrow-link {
		padding-right: 7%;
	}
}

.arrow-link::after {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	background-image: url(/images/common/common_btn_arrow_01.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center right;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

.arrow-link:hover {
	color: var(--main-cp-color);
}
.arrow-link:hover::after {
	background-image: url(/images/common/common_btn_arrow_02.png);
}


/* -------------------------------------
	矢印ボタン
----------------------------------------*/
.arrow-link-button {
	display: block;
	padding: 10px 15px;
	background-color: #2A2A2A;
	color: #fff;
	text-decoration: none;
	border-radius: 50px;
	font-size: 16px;
	text-align: center;
	position: relative;
	padding-right: 30px;
	transition: background-color 0.3s ease;
}

.arrow-link-button::after {
	content: "";
	width: 16px;
	height: 16px;
	background-image: url(/images/common/common_btn_arrow_09.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center right;
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
}

.arrow-link-button:hover {
	background-color: var(--main-cp-color);
}
.arrow-link-button:hover::after {
#	background-image: url(/images/common/common_btn_arrow_09.png);
}


/* -------------------------------------
	CARD
----------------------------------------*/
.common__card-container {
	margin: 8% 0 4%;
}
@media screen and (max-width: 750px) {
	.common__card-container {
		margin: 16% 0 8%;
	}
}

.common__card-box {
	width: 75%;
	margin: auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5vw;

}
@media screen and (max-width: 750px) {
	.common__card-box {
		width: 90%;
		grid-template-columns: repeat(1, 1fr);
		row-gap: 5vw;
	}
}

.common__card-box a:hover {
	border-bottom: unset;
}

.common__card-cell {
	position: relative;
	overflow: hidden;
	border-radius: 7px;
}
.common__card-cell-img {
	scale: 1.0;
	transition: .5s;
}
.common__card-cell-img:hover {
	scale: 1.05;
	transition-duration: 0.35s;
}
.common__card-cell-text {
	position: absolute;
	top: 69%;
	left: 48%;
	transform: translate(-50%, -50%);
	width: 85%;
	color: #fff;
	font-size: 0.88vw;
	line-height: 1.3;
}
@media screen and (max-width: 750px) {
	.common__card-cell-text {
		top: 66%;
		left: 38%;
		width: 65%;
		font-size: 2.77vw;
	}
}
.common__card-cell-text span {
	font-weight: bold;
	font-size: 2.29vw;
}
@media screen and (max-width: 750px) {
	.common__card-cell-text span {
		font-size: 7.9vw;
	}
}

.common__card-cell-text .title {
	white-space: nowrap;
	margin-bottom: 4%;
}
@media screen and (max-width: 750px) {
	.common__card-cell-text .title {
		margin-bottom: 6%;
	}
}

.common__card-cell-text .text {
	line-height: 1.8;
}

.common__card-cell-arrow {
	position: absolute;
	top: 90%;
	left: 87%;
	transform: translate(-50%, -50%);
	width: 13%;
}
@media screen and (max-width: 750px) {
	.common__card-cell-arrow {
		top: 81%;
		left: 92%;
		width: 8%;
	}
}


/* -------------------------------------
	xxxxxxx
----------------------------------------*/
.indent {
	text-indent: -1em;
	padding-left: 1em;
}


/* -------------------------------------
	Link icon
----------------------------------------*/
.link-image-icon {
	width: 1.1vw;
	margin-left: 7px;
	vertical-align: baseline;
}
@media screen and (max-width: 750px) {
	.link-image-icon {
		width: 2.8vw;
	}
}

.pdf-image-icon {
	width: 1.1vw;
	margin-left: 7px;
	vertical-align: baseline;
}
@media screen and (max-width: 750px) {
	.pdf-image-icon {
		width: 2.8vw;
	}
}


/* -------------------------------------
	見出し
----------------------------------------*/
/** 下線 **/
.common__text-with-underline {
	position: relative;
	font-size: 1.7vw;
	font-weight: bold;
	padding-bottom: 2%;
	border-bottom: 1px solid #F7F7F7;
}
@media screen and (max-width: 750px) {
	.common__text-with-underline {
		font-size: 3.5vw;
	}
}

.common__text-with-underline:after {
	content: "";
	width: 6%;
	position: absolute;
	top: 100%;
	left: 0%;
	border-bottom: 1px solid #cacaca;
}
@media screen and (max-width: 750px) {
	.common__text-with-underline:after {
		width: 10%;
	}
}


/** 左線 **/
.common__text-with-leftline {
#	margin-bottom: 5%;
	line-height: 1.3;
	font-size: 1.35vw;
	text-indent: -1.0em;
	padding-left: 1.0em;
}
@media screen and (max-width: 750px) {
	.common__text-with-leftline {
		font-size: 4.4vw;
		line-height: 1.6;
		text-indent: -0.6em;
		padding-left: 0.6em;
	}
}

.common__text-with-leftline:before {
	background-color: #1e1e1e;
	border-radius: 15px;
	content: "";
	display: inline-block;
	width: 0.3vw;
	height: 1.7vw;
	margin-right: 2%;
#	vertical-align: middle;
#	vertical-align: bottom;
	vertical-align: sub;
}
@media screen and (max-width: 750px) {
	.common__text-with-leftline:before {
		width: 0.6vw;
		height: 5.4vw;
		margin-right: 3%;

	}
}

.contact__trademark-area a {
	color: var(--main-cp-color);
}


