@charset "utf-8";

/* ---------------------------------------- common */

#wrapper { 
	font-size: 1.6rem; 
	position: relative;
}

@media (min-width: 768px){

	#drawer { display: none !important; }

}

/* ---------------------------------------- header */

header {
	position: sticky;
	top: 0;
	left: 0;
	color: #fff;
	background: var( --navy-color );
}
header .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

@media (max-width: 767px) {

	header { 
		display: flex;
		flex-direction: column;
		justify-content: center;
		height: 68px;
		padding: 8px 24px; 
	}
	header .logo { 
		width: 142px;
	}
	header ul,
	header .contact {
		display: none;
	}
	header button,
	header button img {
		width: 24px;
		height: 24px;
	}
	header button img {
		width: 100%;
		aspect-ratio: 1;
	}

}

@media (min-width: 768px) {

	header { 
		font-size: 1.6rem;
		padding: 24px 32px; 
	}
	header .inner {
		max-width: 1440px;
		margin: 0 auto;
	}
	header .logo { 
		width: 178px; 
	}
	header ul {
		display: flex;
		align-items: center;
		margin: 0 3em 0 auto;
	}
	header ul li { margin: 0 0 0 40px; }
	header ul li a { 
		display: block; 
		-webkit-transition: all 0.3s ease-out;
		transition: all 0.3s ease-out;
	}
	header ul li a:hover {
		color: var( --orange-hover );
	}
	header .contact a { 
		display: block;
		width: 8.75em;
		background: var( --orange-color );
		font-weight: 600;
		text-align: center;
		padding: 10px 12px 14px 12px;
		-webkit-transition: all 0.3s ease-out;
		transition: all 0.3s ease-out;
	}
	header .contact a:hover {
		background: var( --orange-hover );
	}
	header button { display: none; }

}

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

	header ul { margin: 0 0 0 auto; }
	header ul li { margin: 0 0 0 30px; }
	header .contact a { display: none; }

}

@media (min-width: 1204px) {
}

/* ---------------------------------------- visual */

#visual { position: relative; }
#visual:not(.home)::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(90deg, rgba(0, 48, 84, 1), rgba(0, 57, 99, .2));
	position: absolute;
	top: 0;
	left: 0;
	mix-blend-mode: hard-light;
}
#visual .inner {
	position: relative;
	z-index: 10;
}
#visual:not(.home) .inner {
	display: flex;
	align-items: center;
}
#visual .title {
	filter: drop-shadow( 0px 0px 4px #000 )
			drop-shadow( 0px 0px 8px rgba( 0, 0, 0, .5) )
			drop-shadow( 0px 0px 12px rgba( 0, 0, 0, .5 ) );
}
#visual .title small,
#visual .title strong { 
	display: block; 
	color: #fff;
	font-weight: 600; 
}
#visual .title small { font-size: clamp(1.6rem, 3vw - 1rem, 1.8rem); }
#visual .title strong { font-size: clamp(4rem, 5vw + 2rem, 8rem); }

@media (max-width: 767px) {

	#visual { 
		font-size: clamp(1.3rem, 4vw, 1.6rem);
		padding: 6em 1em 6em;
	}
	#visual .title small {
		margin: 0 0 1.5em;
	}

}

@media (min-width: 768px) {

	#visual { 
		font-size: clamp(1.4rem, 2vw - 0.5rem, 1.8rem);
		padding: 6.5em 1.25em;
	}
	#visual .inner {
		max-width: 1170px;
		margin: 0 auto;
	}
	#visual .title small {
		margin: 0 0 1em;
	}
	

}

/* ---------------------------------------- inquiry */

#inquiry .inside { text-align: center; }
#inquiry .inside h3 { font-weight: 600; }
#inquiry .inside h3 small { 
	display: block;
	color: var( --blue-color ); 
	font-weight: 600; 
}
#inquiry .inside h3 strong { 
	display: block;
	font-weight: 600; 
}
#inquiry .inside div a { 
	display: inline-block; 
	font-weight: 600; 
	text-align: center;
}
#inquiry .inside.contact div a {
	color: #fff;
	background: var( --orange-color );
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
#inquiry .inside.contact div a:hover {
	background: var( --orange-hover );
}
#inquiry .inside.request div a {
	background: var( --yellow-color );
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
#inquiry .inside.request div a:hover {
	background: var( --yellow-hover );
}
#inquiry .inside div a span {
	display: flex;
	justify-content: center;
	align-items: center;
}
#inquiry .inside div a span img {
	width: 24px;
	aspect-ratio: 1;
	margin: 0 .5em 0 0;
}

@media (max-width: 767px) {

	#inquiry {
		font-size: clamp(1.3rem, 4vw, 1.6rem);
		padding: 1.25em 1em;
	}
	#inquiry .inner .inside:first-child { border-bottom: 1px #E5E5E5 solid; }
	#inquiry .inside { padding: 2.5em 0; }
	#inquiry .inside h3 small { 
		font-size: clamp(1.2rem, 5vw - 0.5rem, 1.4rem);
		margin: 0 0 1em; 
	}
	#inquiry .inside h3 strong { 
		font-size: clamp(1.8rem, 4vw + 0.75rem, 2.4rem);
		margin: 0 0 1em; 
	}
	#inquiry .inside p {
		font-size: clamp(1.3rem, 1vw + 1rem, 1.5rem);
		line-height: 1.8;
		margin: 0 0 1.5em; 
	}
	#inquiry .inside div a {
		width: 15em;
		font-size: clamp(1.3rem, 4vw, 1.6rem);
		padding: 12px;
	}

}

@media (min-width: 768px) {

	#inquiry {
		font-size: clamp(1.2rem, 2vw - 0.5rem, 1.4rem);
		padding: 5.7em 1.25em;
	}
	#inquiry .inner {
		display: flex;
		justify-content: space-between;
		max-width: 1170px;
		margin: 0 auto;
	}
	#inquiry .inner .inside { width: 50%; }
	#inquiry .inner .inside:first-child { border-right: 1px #E5E5E5 solid; }
	#inquiry .inside h3 small { 
		font-size: 1.6rem;
		margin: 0 0 1.5em; 
	}
	#inquiry .inside h3 strong { 
		font-size: clamp(1.8rem, 2vw + 0.25rem, 2.4rem);
		margin: 0 0 1.5em; 
	}
	#inquiry .inside p {
		font-size: clamp(1.5rem, 2vw - 0.25rem, 1.8rem);
		line-height: 1.8;
		margin: 0 0 1.5em; 
	}
	#inquiry .inside div a {
		width: 15em;
		font-size: clamp(1.4rem, 2vw - 0.5rem, 1.6rem);
		padding: 12px;
	}

}

/* ---------------------------------------- footer */

footer {
	color: #fff;
	background: var( --navy-color );
	font-size: 1.4rem; 
}
footer dl dt { font-weight: 600; }
footer dl dd { line-height: 1.6; }

@media (max-width: 767px) {

	footer { 
		font-size: clamp(1.2rem, 2vw - 0.5rem, 1.4rem);
		padding: 4.2857em 0 2em;
	}
	footer .logo { margin: 0 1em 2.857em; }
	footer .logo img { 
		width: 48.7179%;
		max-width: 190px; 
	}
	footer .inside { border-top: 1px #1B2B38 solid; }
	footer dt,
	footer dd { 
		border-bottom: 1px #1B2B38 solid; 
		position: relative;
	}
	footer dt:hover,
	footer dd:hover {
		background: #063156;
	}
	footer dt {
		font-size: clamp(1.4rem, 2vw + 0.75rem, 1.6rem);
		padding: 1.4285em 50px 1.4285em .875em;
	}
	footer dd {
		display: none;
		background: #10202c;
		font-size: clamp(1.3rem, 3vw + 0.25rem, 1.4rem);
		padding: 1.4285em 50px 1.4285em 1em;
	}
	footer dt::after,
	footer dd::after {
		content: url( ../images/svg/arrow.svg );
		display: block;
		width: 24px;
		aspect-ratio: 1;
		position: absolute;
		top: 50%;
		right: 13px;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		
	}
	footer dt::after {
		-webkit-transform: rotate(90deg) translateX(-50%);
		transform: rotate(90deg) translateX(-50%);
	}
	footer dt.close::after {
		-webkit-transform: rotate(-90deg) translateX(50%);
		transform: rotate(-90deg) translateX(50%);
	}
	footer .cregit { 
		font-size: clamp(1rem, 3vw, 1.2rem);
		padding: 2.5em 1.166666em 0;
	}

}

@media (min-width: 768px) {

	footer { 
		padding: 5.7em 1.25em;
	}
	footer .inner {
		max-width: 1170px;
		margin: 0 auto;
	}
	footer .logo { margin: 0 0 5.7em; }
	footer .logo img { 
		width: 20.2564%;
		max-width: 237px; 
	}
	
	footer .inside {
		display: flex;
		justify-content: space-between;
	}
	footer .inside dl:first-child { width: 15em; }
	footer dt {
		font-size: clamp(1.4rem, 2vw - 0.5rem, 1.6rem);
		margin: 0 0 2em;
	}
	footer dd {
		font-size: clamp(1.2rem, 2vw - 0.5rem, 1.4rem); 
		margin: 0 0 1.25em;
	}
	footer dd a {
		-webkit-transition: all 0.3s ease-out;
		transition: all 0.3s ease-out;
	}
	footer dd a:hover {
		color: #EBB700;
	}
	footer .cregit { 
		font-size: clamp(1.2rem, 2vw - 0.5rem, 1.4rem);
		margin: 5.7em 0 0;
	}
}

