@charset "utf-8";

/*===============================================

 *	common

===============================================*/

/*-----------------------------------------------

 *	全体

-----------------------------------------------*/
html { font-size: 62.5%; }/* 10px */

html body{
	background-color: #041e2c;
	color: #ffffff;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.8;
	position: relative;
}

@media screen and ( max-width:767px ){
	html body{ font-size: 1.4rem; }
}



h1,h2,h3,h4,h5,h6,
:where(.hx3),
:where(.hx4){
	font-family: "Bodoni Moda", "Shippori Mincho", serif;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.1rem;
}
p em , p strong{ font-weight:bold; }
iframe { vertical-align: bottom; }
video { vertical-align: bottom; }

/*
a:link {
	color: #0d52a4;
}

a:visited {
	color: #0d52a4;
}
*/
a:hover {
	color: #006ced;
}

.clrYellow a{
	color: #ccc5a8;
}
.clrYellow a:hover{
	color: #efe0a2;
}

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

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

:root {
  interpolate-size: allow-keywords;
}

details::details-content {
  height: 0;
  overflow: clip;
  opacity: 0;
  transition: height 0.4s ease, opacity 0.4s ease,
    content-visibility 0.4s ease allow-discrete;
}

details[open]::details-content {
  height: auto; /* for unsupported browser */
  height: calc-size(auto, size);
  opacity: 1;
}

.txtCen{ text-align: center; }
.txtLeft{ text-align: left; }
.txtRight{ text-align: right; }

@media screen and ( min-width:768px ){
	.viewPc { display: inline-block; }
	.viewSp{ display: none; }
}

@media screen and ( max-width:767px ){
	.viewPc { display: none; }
	.viewSp{ display: inline-block; }
}

/*-----------------------------------------------

 *	header

-----------------------------------------------*/
#header{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	transition: 1.0s;
	padding: 25px 50px 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 500;
}
.headLogo p{
	color: #d7dfe3;
	font-size: 1.2rem;
	margin-bottom: 10px;
}
.logo img{
	height: 51px;
}
.pcHeadContact{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	color: #fff;
	gap: 20px;
}
.pcHdConTel{
	font-size: 3.2rem;
	font-family: "Bodoni Moda", serif;
}

.pcHdConTel a{
	color: #fff;
}
.pcHdConTel img{
	margin-right: 4px;
	transform: translateY(-4px);
}

.pcHdConBtn a{
	background-color: #03293e;
	border-radius: 4px;
	color: #fff;
	font-size: 1.5rem;
	padding: 6px 20px 7px;
}
.pcHdConBtn a:hover{
	background-color: #02324d;
}
.pcHdConBtn img{
	margin-right: 6px;
	transform: translateY(-3px);
}
.headNavSp{
	display: none;
}

@media screen and ( max-width:1000px ){

}
@media screen and ( max-width:767px ){
	#header{
		padding: 0;
		position: fixed;
	}
	.headLogo{
		padding: 10px 0 0 5vw;
	}
	.headLogo > p:not(.logo){
		display: none;
	}
	.logo img{
		height: 40px;
		width: auto;
	}
}
@media screen and ( max-width:400px ){
	.logo img{
		height: 34px;
		width: auto;
	}
}
/*--------------------------------------------------------------------

 *	ナビゲーション設定

--------------------------------------------------------------------*/
/*-----------------------------------------------
 *	ハンバーガー
-----------------------------------------------*/

#humberger {
	display: none;
	text-align: center;
/*	height: 30px;
	width: 34px; */
}
#humberger div{
	display: inline-block;
	text-align: center;
}

#header .open{
/*	overflow: scroll;*/
	z-index: 1101;
}

.opened{
	overflow: hidden;
}

.icon-bar{
	height: 1px;
	background: #fff;
	border-radius: 4px;
	display: block;
	margin-left: auto;
	transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
}

.icon-bar:nth-child(1){
	margin-bottom: 6px;
	width: 24px
}
.icon-bar:nth-child(2){
	margin-bottom: 6px;
	width: 18px
}
.icon-bar:nth-child(3){
	margin-bottom: 2px;
	width: 12px
}
#overlay {
	display: none;
	z-index: -1;
	opacity: 0;
	background: #000;
	right: 0;
	top: 0;
	width: 100%;
	height: 100%;
	position: fixed;
	transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
}
#overlay {
	z-index: 91;
	opacity: 0.4;
}

.open .icon-bar{
	width: 18px;
}
.open .icon-bar:nth-child(1){
	transform:translate(0,7px) rotate(45deg);
}
.open .icon-bar:nth-child(2){
	transform:translate(-20px ,0);
	opacity:0;
}
.open .icon-bar:nth-child(3){
	transform:translate(0,-7px) rotate(-45deg);
}

@media screen and ( max-width:1000px ){
	#humberger{
		background-color: #0f4a6a;
		display: block;
		font-size: 11px;
		font-family: "Bodoni Moda", serif;
		padding: 14px 6px 4px;
	}
	.pcHeadNav{ display: none; }
	.spHeadNav{ display: inline; }

	.headNavSp{
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		align-items: normal;
	}
	.headNavSp{
		align-items: normal;
		gap: 0;
	}

	.headNavSp li{
		padding: 8px 6px 4px;
		text-align: center;
		width: 60px;
	}
	.headNavSp li a{
		color: #fff;
		display: block;
		font-size: 11px;
		font-family: "Shippori Mincho", serif;
		padding: 0;
	}
	.headNavSp li a img{
		display: block;
		margin-left: auto;
		margin-right: auto;
	}
	.spHdConTel{
		background-color: #948b64;
		border-radius: 0 0 0 4px;
		font-size: 11px;
	}
	.spHdConTel img{
		margin: 0 0 6px;
		height: 23px;
		transform: rotate(-20deg) translateY(0);
		width: auto;
	}
	.spHdConBtn{
		background-color: #03293e;
	}
	.spHdConBtn img{
		margin: 4px 0 8px;
		height: 17px;
		transform: translateY(0);
		width: auto;
	}

}

/*-----------------------------------------------
 *	gnav
-----------------------------------------------*/

.head-nav{
	margin-left: auto;
}

.head-nav .gnav{
	display: flex;
	justify-content: flex-end;
	gap: 1.6vw;
}

.head-nav .gnav > li{
	position: relative;
	white-space: nowrap;
}

.head-nav .gnav > li a,
.head-nav .gnav > li span{
	color: #fff;
	font-size: 1.8rem;
	position: relative;
}

@media screen and ( min-width:1001px ){
	.pcHeadNav{ display: inline; }
	.spHeadNav{ display: none; }
}

@media screen and ( max-width:1000px ){
	.head-nav{
		backdrop-filter: blur(6px);
		display: none;
		flex-direction: column-reverse;
		justify-content: flex-end;
		background-color: rgba(49,51,52, 0.85);
		padding: 90px 5vw 0;
		position: fixed;
		top: 0;
		right: 0;
		overflow: scroll;
		height: 0;
		width: 100vw;
		z-index: -1;
		transition: all 5s ease;
	}
	.head-nav.opened{
		display: flex;
		height: 100vh;
		z-index: 101;
		transition: all 5s ease;
	}
	.head-nav .gnav{
		display: block;
		margin-bottom: 30px;
	}
	.head-nav .gnav > li:first-child{
		border-top: 1px dashed #616769;
	}
	.head-nav .gnav > li{
		border-bottom: 1px dashed #616769;
		margin: 0;
	}
	.head-nav .gnav li a,
	.head-nav .gnav li span{
		color: #fff;
		display: flex;
		font-size: 1.5rem;
		line-height: 1.0;
		padding: 20px 15px;
		position: relative;
	}

	.pcHeadContact {
		flex-direction: row-reverse;
	}
	.pcHeadContact li{
		width: calc( ( 100% - 20px) / 2 );
	}
	.pcHeadContact a{
		border-radius: 4px;
		display: block;
		font-size: 1.5rem;
		padding: 10px 0;
		text-align: center;
	}
	.pcHdConTel a{
		background-color: #948a63;
	}
	.pcHdConTel img{
		transform: translateY(-3px);
		width: 9px;
	}
	.pcHdConBtn img {
		transform: translateY(-1px);
	}

	.navReserve a{
		font-size: 1.6rem;
		padding: 0 30px;
	}
	.navReserve span{
		font-size: 1.4rem;
		padding-top: 5px;
	}
}

@media screen and ( max-width:767px ){
	.head-nav .sub-nav li a {
		padding: 1.4em 0;
		padding-left: 1.4em;
	}
}


/*-----------------------------------------------

 *	共通

-----------------------------------------------*/
.topMain{ margin-top: 100px; }

@media screen and ( max-width:767px ){
	.topMain{ margin-top: 40px; }
}

/*-----------------------------------------------
 *	.base-wrap
-----------------------------------------------*/

.baseWrap{
	margin-left: auto;
	margin-right: auto;
	position: relative;
}
.baseArea{ padding: 125px 0 135px; }
.subBaseArea{ padding: 120px 0 120px; }

.w1200{ max-width: 1200px; }
.w1100{ max-width: 1100px; }
.w1040{ max-width: 1040px; }
.w1000{ max-width: 1000px; }
.w940{ max-width: 940px; }
.w900{ max-width: 900px; }

.w1200 ,.w1100 ,.w1040 ,.w1000 ,.w940 ,.w900{ margin-left: auto; margin-right: auto; }

.colorWrap{
	margin: 0 auto;
}
.colorMarineBlue{
	background-color: #041e2c;
}
.colorAzure{
	background-color: #0e304f;
}
.colorSalviaBlue{
/*	background-color: #0f4363;*/
	background: linear-gradient(to bottom,  #0e2f4e 0%,#104a6b 100%);
}
.colorSmalt{
	background-color: #18313f;
}
.colorCobalt{
	background-color: #0e3251;
	padding-bottom: 1px;
}
.bgImageArea{
	background: url("../img/service/bg_srvc_sikumi.webp") center center no-repeat #041e2c;
	background-size: cover;
}


.mainHeadline{
	font-size: 2.2rem;
	font-family: "Shippori Mincho", serif;
	margin-bottom: 40px;
}
.mainHeadline div{
	font-size: 6.4rem;
	font-family: "Bodoni Moda", serif;
}

.mainInner{
	margin: 0 auto 50px;
	padding-left: 300px;
}

.mainInner p{
	line-height: 2.8;
	letter-spacing: 0.08em;
}


@media screen and ( max-width:1000px ){
	.baseWrap{
		padding: 0;
	}
	.mainHeadline{
	}
}
@media screen and ( max-width:767px ){
	.baseArea{
		padding: 55px 5vw 60px;
	}
	.subBaseArea{ padding: 60px 0 60px; }
	.subColorArea{
		margin-left: -5vw;
		margin-right: -5vw;
		padding-left: 5vw;
		padding-right: 5vw;
	}
	.mainHeadline{
		font-size: 1.7rem;
		margin-bottom: 25px;
		margin-left: 0;
		padding-left: 0;
	}
	.mainHeadline div{
		font-size: 4.2rem;
	}

	.mainInner{
		margin-bottom: 40px;
		padding-left: 0;
	}
	.mainInner p{
		line-height: 1.8;
		letter-spacing: 0.01em;
	}
	.subHeadline{
		font-size: 1.6rem;
		line-height: 1.7;
		margin-bottom: 40px;
	}

	.baseInner h3,
.baseInner .hx3{
		font-size: 1.8rem;
		line-height: 1.6;
		margin-bottom: 20px;
		text-align: left;
	}
}

/*　ボタン
---------------------------*/
/*-----------------------------------------------
 *	.baseBtn
-----------------------------------------------*/
.baseBtn{
	margin: 0 auto;
	max-width: 400px;
}
.baseBtn a{
	background-color: #18313f;
	background-image: url("../img/toppage/icon_arrow_wh.png");
	background-position: center right 30px;
	background-size: 17px 5px;
	background-repeat: no-repeat;
	border-radius: 4px;
	color: #fff;
	display: block;
	padding: 14px 0;
	position: relative;
	text-align: center;
}
.baseBtn a:hover{
	background-color: #1c3d50;
}
/*-----------------------------------------------
 *	.normalBtn
-----------------------------------------------*/
.normalBtn{
	width: 300px;
}
.normalBtn a{
	background-color: #104a6b;
	background-image: url("../img/toppage/icon_arrow_wh.png");
	background-position: center right 30px;
	background-size: 17px 5px;
	background-repeat: no-repeat;
	border-radius: 4px;
	color: #fff;
	display: block;
	font-family: "Bodoni Moda", serif;
	letter-spacing: 0.08em;
	padding: 15px 40px;
}
.normalBtn a:hover{
	background-color: #11557c;
}


@media screen and ( max-width:767px ){
	.baseBtn a{
		background-position: center right 20px;
		background-size: 17px 5px;
		padding: 12px 0;
	}
	.normalBtn{
		width: 220px;
	}
	.normalBtn a{
		background-position: center right 20px;
		font-size: 1.3rem;
		padding: 12px 25px;
	}
}


/*-----------------------------------------------

 *	second

-----------------------------------------------*/
.pageTpVisual img{
	height: auto;
	width: 100%;
}

.scdBtmArea{
	background-color: #f7f5eb;
	margin-bottom: 80px;
	padding: 80px 0;
}
.scdBtmWrap{
	background-color: #fff;
	padding: 70px;
}
.scdBtmWrap:not(:last-child){
	margin-bottom: 70px;
}
.scdBtmBox:not(:last-child){
	margin-bottom: 60px;
}

.scdTtitle{
	color: #59795e;
	font-size: 2.4rem;
	margin-bottom: 55px;
	text-align: center;
}
.scdTtitle span{
	font-size: 2.8rem;
	display: block;
	margin-bottom: 0.5em;
}

@media screen and ( max-width:1000px ){
}
@media screen and ( max-width:767px ){
	.pageTitle{
		padding: 0 20px;
	}

	.scdBtmArea{
		margin-bottom: 50px;
		padding: 30px;
	}
	.scdBtmWrap{
		padding: 20px;
	}
	.scdBtmWrap:not(:last-child){
		margin-bottom: 40px;
	}
	.scdBtmBox:not(:last-child){
		margin-bottom: 40px;
	}

	.scdTtitle{
		font-size: 1.5rem;
		margin-bottom: 20px;
	}
	.scdTtitle span{
		font-size: 1.6rem;
	}
}



/*-----------------------------------------------
 *	サイド固定ナビ
-----------------------------------------------*/
/*
.sideNav{
	background-color: #fff;
	border-bottom: 1px solid #c4c4c4;
	border-left: 1px solid #c4c4c4;
	font-size: 2.2rem;
	letter-spacing: 0.12em;
	position: fixed;
	top: 50%;
	right: -280px;
	transform: translateY(-50%);
	transition: all 0.3s ease-out;
	text-align: center;
	opacity: 0;
	z-index: 11;
}
.sideNav.fixedopen{
	opacity: 1.0;
	right: 0;
	transition: all 0.3s ease-out;
}
.sdNavTitle{
	background-color: #5f5a54;
	color: #fff;
	line-height: 1.1;
	margin-bottom: 20px;
	padding: 20px 25px;
}
.sdNavTitle span{
	display: block;
	font-size: 2.0rem;
	font-family: "georgia", sans-serif;
}
.sdNavTel a{
	color: #333;
	letter-spacing: 0.02em;
	margin-bottom: 20px;
}
.sdNavTel i{
	margin-right: 4px;
}
.sdNavReserve a{
	background-color: #59795e;
	border-radius: 14px;
	color: #fff;
	display: block;
	line-height: 1.1;
	margin: 30px 10px 20px;
	padding: 18px 0;
	position: relative;
}
.sdNavReserve a:before{
	content: '';
	width: 18px;
	height: 18px;
	background: #fff;
	border-radius: 50%;
	position: absolute;
	top: 0;
	right: 10px;
	bottom: 0;
	margin: auto;
}
.sdNavReserve a:after{
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 6px;
	border-color: transparent transparent transparent #59795e;
	position: absolute;
	top: 0;
	right: 16px;
	bottom: 0;
	margin: auto;
}
.sdNavReserve span{
	display: block;
	font-size: 2.0rem;
	font-family: "georgia", sans-serif;
}

.sdNavReserve a:hover{
	background-color: #599462;
}

@media screen and (max-width:1120px) {
	.sideNav.fixedopen{
		display: none;
		opacity: 0;
	}
}
*/

/*-----------------------------------------------

 *	footer

-----------------------------------------------*/

#footer{
	background-color: #21282c;
	color: #6d777c;
	padding-bottom: 100px;
	padding-top: 90px;
}
.footInner{
	border-bottom: 1px solid #363d40;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 30px;
	padding-bottom: 40px;
}
.ftInHead{
}
.ftNameCatch{ 
	font-size: 1.4rem;
	margin-top: 20px;
}

.footNav{
	padding-top: 30px;
}
.footNav ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2em;
}

#footer a{ color: #d7dfe3; }
#footer a:hover{ color: #fff; }

.copyright{
	font-size: 1.1rem;
	text-align: center;
}




@media screen and ( max-width:767px ){
	#footer{
		padding: 50px 25px;
	}
	.footInner{
		border-bottom: 1px solid #363d40;
		display: block;
		margin-bottom: 15px;
		padding-bottom: 30px;
	}
	.footLogo img{
		width: 100px;
	}
	.ftNameCatch{ 
		font-size: 1.2rem;
		margin-top: 6px;
	}
	.footNav{
		padding-top: 20px;
	}
	.footNav ul{
		display: block;
	}
	.footNav ul li{
		font-size: 1.3rem;
		margin-bottom: 4px;
	}
	.copyright{
		font-size: 1.1rem;
	}

}



/**/
/*-----------------------------------------------
 *	見出しの英字ラベル（2026-09-30 MedAsk）
 *	「Why Choose Us」などの装飾ラベルは、見出しの文字として扱わないよう
 *	data-label 属性に移し、ここで表示する（要素は残すので見た目は従来どおり）
-----------------------------------------------*/
[data-label]::before{
	content: attr(data-label);
}
[data-label-after]::after{
	content: attr(data-label-after);
}
