@charset "utf-8";

[x-cloak] {
	display: none !important;
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	font-size: 62.5%;
	background-color: #fff;
	color: #182E40;
	line-height: normal;
	overflow-x: hidden;
}

body {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.6rem;
	letter-spacing: 0.04em;
	scroll-behavior: smooth;
}

h1,
h2 {
	font-size: 3.2rem;
	font-weight: 700;
}

h2.with-icon {
	font-weight: 500;
	font-size: 2.4rem;
	text-align: center;
}

h3 {
	font-size: 2.4rem;
	font-weight: 700;
	text-align: center;
}

h3.s20 {
	font-size: 2rem;
}

h2.slim-weight {
	font-weight: 400;
}

h2.w500 {
	font-weight: 500;
}

h2.w600 {
	font-weight: 600;
}

h2.w500s24 {
	font-size: 2.4rem;
	font-weight: 500;
}

h2.w700s24 {
	font-size: 2.4rem;
	font-weight: 700;
}

a {
	text-decoration: none;
	color: #182E40;
}

ul {
	list-style: none;
}

img {
	width: 100%;
	vertical-align: top;
}

@media (max-width: 768px) {
	body {
		/* font-size: 1.4rem; */
		font-weight: normal;
	}

	h1 {
		font-size: 5.2vw
			/*40px*/
	}

	h2,
	h2.w700s24 {
		font-size: 4.68vw;
		/*36px*/
		font-weight: 700;
	}

	h2.with-icon {
		font-size: 3.64vw;
		/*28px*/
	}

	h2.w500s24 {
		font-size: 3.64vw;
		/*28px*/
	}

	h2.w500 {
		font-size: 4.16vw;
	}

	h2.s32-sp {
		font-size: 4.26vw;
	}

	h2.s38-sp {
		font-size: 4.94vw;
	}

	h2.s44-sp {
		font-size: 5.72vw;
	}

	h3.s20 {
		font-size: 4.68vw;
		/*36px*/
	}

	p {
		font-size: 3.64vw;
		/*28px*/
		line-height: 6.4vw;
	}
}

/*パンクズリスト*/
.breadcrumb-list {
	display: flex;
	flex-wrap: wrap;
    margin: 12px auto 0 auto;
	max-width: 1200px;
    padding: 0 0 10px 15px;
	/*width: 95%;*/
}

.breadcrumb-list li {
	display: flex;
	align-items: center;
	margin-right: 20px;
	/* 2025.7.9 breadcrumb-list内fontsize統一 add */
	font-size: 1.4rem;
}

.breadcrumb-list li:not(:last-child) a {
	color: #888888;
}

.breadcrumb-list li:not(:last-child)::after {
	content: '';
	background-image: url(../img/common/arrow-gray.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 10px;
	height: 15px;
	display: block;
	margin-left: 20px;
}

.breadcrumb-list li:last-child a {
	color: #182e40;
}
/* 2025.7.9 breadcrumb-list内fontsize統一 delete */
/*
.breadcrumb-list li a {
	font-size: 1.4rem;
}
*/
@media (max-width: 768px) {
	.breadcrumb-list li {
		margin-right: 15px;
	}

	.breadcrumb-list li:not(:last-child)::after {
		content: '';
		background-image: url(../img/common/arrow-gray.png);
		background-repeat: no-repeat;
		background-size: contain;
		width: 7px;
		height: 10px;
		display: block;
		margin-left: 15px;
	}

	.breadcrumb-list li,
	.breadcrumb-list li a {
		font-size: 2.6vw;
	}
}

@media (max-width: 500px) {

	.breadcrumb-list li,
	.breadcrumb-list li a {
		font-size: 3.7vw;
	}
}

/*下層ページのTOP*/
.top-image {
	position: relative;
}

.top-image__block {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: 1000px;
	width: 90%;
}

.top-image__block h1 {
	font-weight: bold;
	color: white;
	margin: 0 0 20px 0;
}

.top-image__block p {
	letter-spacing: 0.08em;
}

.top-image p {
	font-size: 1.3vw;
	color: white;
	font-weight: 400;
}

@media (max-width: 768px) {
	.top-image p {
		font-size: 2.2vw;
	}
}

/* FIX */

.break-keep-anywhere {
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.chevron-down-white {
	display: inline-block;
	width: 12px;
	height: 12px;
	transform: translate3d(6px, 1px, 0);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	background-image: url(../img/common/arrow-white-down.png);

	&.active {
		background-image: url(../img/common/arrow-white-up.png);

	}
}

/* 20250718 add 共通お問い合わせパーツ */
.f-size01 {
	font-size: 1.4em;
    font-weight: 600;
    text-align: center;
}
.site-common__cta {
	background: #efefef;
    display: flex;
    justify-content: center;
	margin: 20px auto;
    max-width: 1000px;
	padding: 48px 0;
    position: relative;
    width: 100%;
}
.site-common__cta-btn {
    background-color: #044687;
    margin: 10px auto;
    text-align: center;
    padding: 20px;
	width: 360px;
}
.site-common__cta-btn a {
    color: #ffffff;
    font-size: 1.6rem;
    display: block;
    position: relative;
}
.site-common__cta-btn a::before {				
    background-image: url(/ja-jp/img/common/icon-mail.png);
    background-repeat: no-repeat;
    background-size: contain;
	content: '';
	display: block;
    height: 20px;
    left: 46px;
    position: absolute;
    top: 5px;
	width: 20px;
}
.site-common__cta-btn a::after {				    
    background-image: url(/ja-jp/img/common/arrow-white.png);
    background-repeat: no-repeat;
    background-size: contain;
	content: '';
    display: block;
    height: 17px;
	right: 20px;
    top: 4px;
    position: absolute;
	width: 12px;
}
/* 20250725 add ヒーローエリア */
.hero-area {
	position: relative;
}
.hero-area__inner {
	align-items: center;
    display: flex;
}
.hero-area__left {
	width: 55%;
	z-index: 1;
}
.hero-area__bk {
	height: 350px;
	transform: skewX(346deg);
	transform-origin: top left;
}
.bk-turquoise {
	background-color: #41a1be;
}
.bk-darkblue {
	background-color: #044687;
}
.bk-black {
	background-color: #222222;
}
.hero-area__textbox {
	bottom: 0;
	display: flex;
    flex-direction: column;
	justify-content: center;
    left: 0;
    margin: 0 auto;
    max-width: 1200px;
    position: absolute;
	right: 0;
    top: 0;
    z-index: 2;
}
.text-white {
	color: #ffffff;
}
.hero-area__inner img {
	height: 350px;
    object-fit: cover;
	position: absolute;
    right: 0;
    width: 55%;
}
.hero-area__textbox h1 {
	max-width: 50%;
	padding: 10px 10px 20px 10px;
}
.hero-area__link {
	cursor: pointer;
    font-size: 1.8rem;
    font-weight: 600;
	padding: 10px;
}

.hero-area__link a::before {
    border-top: 3px solid #182E40;
    border-right: 3px solid #182E40;
    content: "";
    display: inline-block;
    height: 6px;
    margin: -6px 10px -2px -2px;
    vertical-align: middle;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 6px;
}
.hero-area__link a:hover {
	opacity: 0.8;
	text-decoration: underline;
}
@media (min-width: 768px) {
	.hero-area__textbox p {
	max-width: 50%;
	padding: 10px;
	}
}
@media (min-width: 500px) and (max-width: 768px) {
	.hero-area__bk {
		height: 220px;
        transform: none;
        width: 100%;
    }
	.hero-area__textbox {
        height: 40%;
		padding: 20px;
	}
	.hero-area__textbox p {
    	font-size: 1.0em;
		line-height: 2.0em;
		max-width: 100%;
	}
}
@media (max-width: 500px) {
	.hero-area__bk {
		height: 180px;
		transform: none;
        width: 100%; 
    }
	.hero-area__textbox {
		height: 45%;
		padding: 20px;
        top: 0;
    }
	.hero-area__textbox p {
    	font-size: 1.0em;
	}
    .hero-area__bk__180 {
        height: 180px;
    }
}
@media (max-width: 768px) {
	.hero-area__left {
		width: 100%;
	}
	.hero-area__inner {
		display: block;
	}
	.hero-area__inner img {
        height: auto;
		position: static;
        width: 100%;
    }
	.hero-area__textbox h1 {
    	font-size: 1.4em;
		max-width: 100%;
		padding: 0 0 10px 0;
	}
	.hero-area__link {
		font-size: 1.6rem;
		padding: 0;
	}
}