@charset "UTF-8";
/*
【補足】 CSS設計について
PRECSSに準じて設計
https://precss.io/ja/
*/
/* ==========================================================================
  Base ベース
========================================================================== */
/* 変数*/
:root{
	--gapY-Standard:clamp(50px, 46.48px + 0.94vw, 60px);/* 垂直方向基準余白 */
	--gapX-Standard:26px;/* 水平直方向基準余白 */
	--colorBg:#ffffff;
	--colorMain:#00008B;
	--colorAccent:;
	--colorTxt:#000000;
	--fontFamJP: "Noto Sans JP", sans-serif;
}
/* 要素*/
html{
	scroll-behavior: smooth;
}
body{
	position: relative;
	background-color: var(--colorBg);
	color:var(--colorTxt);
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-style: normal;
}
a { transition:.3s; color: inherit; text-decoration: none;}
picture{display: block;}
figure img{ width: 100%;}
@media (hover: hover) and (pointer: fine){
	a:hover{
		opacity: .7;
		transition:.3s;
	}
}
/*icon-tinyHP-v2.6*/
@font-face {
  font-family: 'icon-tinyHP';
  src:  url('fonts/icon-tinyHP.eot?5llgjy');
  src:  url('fonts/icon-tinyHP.eot?5llgjy#iefix') format('embedded-opentype'),
    url('fonts/icon-tinyHP.woff2?5llgjy') format('woff2'),
    url('fonts/icon-tinyHP.ttf?5llgjy') format('truetype'),
    url('fonts/icon-tinyHP.woff?5llgjy') format('woff'),
    url('fonts/icon-tinyHP.svg?5llgjy#icon-tinyHP') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
/* ==========================================================================
  Layout　レイアウト
========================================================================== */
/* ly_header
========================================================================== */
.ly_header{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: clamp(79px, 42.032px + 9.86vw, 184px);
	background-color: var(--colorMain);
}
.ly_header_inner{
	text-align: center;
}

/*ly_secMv, ly_sec, 
========================================================================== */
.ly_secMv{
	width: 100%;
	padding-bottom: calc(var(--gapY-Standard) / 2);
}
.ly_sec{
	width: 100%;
	padding: calc(var(--gapY-Standard) / 2) var(--gapX-Standard);
}
.ly_sec.ly_sec__ptLarge{
	padding-top: var(--gapY-Standard);
}
.ly_sec_inner{
	width: 100%;
	max-width: 670px;
	margin-inline: auto;
}
.ly_sec_inner.ly_sec_inne__max800{
	max-width: 800px;
}
/*ly_footer
========================================================================== */
.ly_footer{
	padding:calc(var(--gapY-Standard) * 1.5) var(--gapX-Standard);
	text-align: center;
}
/* ==========================================================================
  Javascript Modules jsモジュyール
========================================================================== */
/* js_accordion
========================================================================== */
.js_accordion_ttl{
	cursor: pointer;
}
.js_accordion_box{
	display: none;/*はじめは非表示*/
}
/* ==========================================================================
  Element Modules エレメントモジュール
========================================================================== */
/* ページを開いた時のアニメーション
========================================================================== */
.el_animeFade{
	position: relative;
}
.el_animeFade_bg{
	background: var(--colorMain);
	background: #fff;
	content: "";
	position: fixed;
	z-index: 99999;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	animation-name: PageAnime-fade;
	animation-duration: 3s;
	animation-fill-mode: forwards;
	pointer-events: none;
  }
   
  @keyframes PageAnime-fade {
	0% {
	  opacity: 1;
	}
	100% {
	  opacity: 0;
	  display: none;
	}
  }
/* スクリーンリーダーのみ表示
========================================================================== */
.el_srOnly{
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
/* el_font
========================================================================== */
.el_fontJP-txtNormal{
	font-size: clamp(0.875rem, 0.787rem + 0.38vw, 1.125rem);/* min 14px -> max 18px */
	letter-spacing: .1em;
	line-height: 1.72;
}
.el_fontJP-txtSizeXs{
	font-size: clamp(0.75rem, 0.706rem + 0.19vw, 0.875rem);/* min 12px -> max 14px */
	letter-spacing: .1em;
	line-height: 1.72;
}
.el_fontJP-txtSizeSm{
	font-size: clamp(0.813rem, 0.746rem + 0.28vw, 1rem);/* min 13px -> max 16px */
	letter-spacing: .1em;
	line-height: 1.72;
}
.el_fontJP-txtSizeMd{
	font-size: clamp(0.938rem, 0.871rem + 0.28vw, 1.125rem);/* min 15px -> max 18px */
	letter-spacing: .1em;
	line-height: 1.72;
}
.el_fontJP-txtSizeLg{
	font-size: clamp(1rem, 0.956rem + 0.19vw, 1.125rem);/* min 16px -> max 18px */
	letter-spacing: .1em;
	line-height: 1.72;
}
.el_font-footerCopy{
	color: #707070;
	font-size: 0.938rem;/* 15px */
	font-size: clamp(0.75rem, 0.684rem + 0.28vw, 0.938rem);/* min 12px -> max 15px */
	letter-spacing: .05em;
	line-height: 1.267;
}
/* 見出し el_heading
========================================================================== */
/*
el_headingLv1
*/
.el_headingLv1{
	width: clamp(237.008px, 168.336px + 18.31vw, 432px);
}
.el_headingLv1 img{
	width: 100%;
}
/*
el_headingLv2
*/
.el_headingLv2{
	display: table;
	padding: .4em 1.5em;
	margin-inline: auto;
	margin-bottom: 2em;
	border-bottom: 2px solid var(--colorMain);
	color: var(--colorMain);
	font-size: 1.125rem;/* 18px */
	font-weight: 600;
	letter-spacing: .1em;
	line-height: 1.7;
	text-align: center;
}
/* el_link
========================================================================== */
a.el_linkTxt{
	display: inline-block;
	padding: .2em .5em;
	border-bottom: 1px solid var(--colorTxt);
}
a.el_linkTxt.el_linkTxt__fontSizeSm{
	font-size: 0.889em;
}
a.el_linkTxt.el_linkTxt__arrowRight{
	position: relative;
	padding-right: 1.3em;
}
a.el_linkTxt.el_linkTxt__arrowRight::after{
	content: "\e90d";
	position: absolute;
	right: .3em;
	top:calc(50% + .2em);
	transform: translateY(-50%);
	font-family: 'icon-tinyHP' !important;
	font-size: .6em;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
}
	@media (hover: hover) and (pointer: fine){
		
	}
/*
el_linkBtn
*/
a.el_linkBtn{
	display: block;
	padding: 0 1em;
	border: 2px solid var(--colorMain);
	border-radius: 11px;
	color: var(--colorMain);
	font-size: clamp(1rem, 0.956rem + 0.19vw, 1.125rem);
}
a.el_linkBtn.el_linkBtn__bgcolorMain{
	background-color: var(--colorMain);
	color: #fff;
}
a.el_linkBtn.el_linkBtn__maxw311{
	max-width: 311px;
	margin-inline: auto;
}
a.el_linkBtn > span{
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	padding: 10px 0;
}
a.el_linkBtn > span.el_linkBtn_beforeIcon-line:before{
	content: "";
	display: block;
	width: 30px;
	height: 30px;
	margin-right: 10px;
	background-image: url(../img/com_icon-line.svg);
	background-repeat: no-repeat;
	background-size: cover;
}
a.el_linkBtn > span.el_linkBtn_beforeIcon::before{
	content: "";
	display: block;
	font-family: 'icon-tinyHP' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
}
a.el_linkBtn > span.el_linkBtn_beforeIcon.el_linkBtn_beforeIcon__mail::before{
	content: "\e912";
	margin-right: .5em;
	font-size: 1em;
}
a.el_linkBtn > span.el_linkBtn_beforeIcon.el_linkBtn_beforeIcon__insta::before{
	content: "\e911";
	margin-top: .2em;
	margin-right: .5em;
	font-size: 1.056em;
}
	@media (hover: hover) and (pointer: fine){
		a.el_linkBtn:hover{
			background-color: var(--colorMain);
			color: #fff;
			opacity: 1;
		}
		a.el_linkBtn.el_linkBtn__bgcolorMain:hover{
			background-color: #fff;
			color: var(--colorMain);
			opacity: 1;
		}
	}


/* el_googleMap
========================================================================== */
.el_googleMap{
	width: 100%;
	aspect-ratio: 163 / 63;
	margin-bottom: var(--gapY-Standard);
}
.el_googleMap iframe{
	width: 100%;
	height: 100%;
}
	@media (min-width: 768px){
		.el_googleMap{
			aspect-ratio: 671 / 212;
		}
	}
/* ==========================================================================
  Block Modules　ブロックモジュール
========================================================================== */
/* bl_list
========================================================================== */
/*
Link
*/
ul.bl_listLink li{	
	margin-bottom: 1.1em;
}
ul.bl_listLink li:last-child{
	margin-bottom: 0;
}
	@media (min-width: 576px){
		ul.bl_listLink.bl_listLink__md2col{
			display: flex;
			justify-content: center;
		}
		ul.bl_listLink.bl_listLink__md2col li{
			margin-bottom: 0;
			width: 47.55%;
			max-width: 311px;
		}
		ul.bl_listLink.bl_listLink__md2col li:first-child{
			margin-right: calc((100% - 47.55% * 2) / 2);
		}
		ul.bl_listLink.bl_listLink__md2col li:last-child{
			margin-left: calc((100% - 47.55% * 2) / 2);
		}
	}
/*
Info
*/
dl.bl_listInfo dt{
	font-weight: 600;
	margin-bottom: .5em;
}
dl.bl_listInfo dd{
	margin-bottom: 1.5em;
}
dl.bl_listInfo dd:last-of-type{
	margin-bottom: 0;
}
	@media (min-width: 576px){
		dl.bl_listInfo{
			display: flex;
			flex-wrap: wrap;
		}
		dl.bl_listInfo dt{
			width: 7.611em;
			padding-right: 1em;
			margin-bottom: 1.5em;
		}
		dl.bl_listInfo dd{
			width: calc(100% - 7.611em);
		}
		dl.bl_listInfo dt:last-of-type{
			margin-bottom: 0;
		}
	}
/*
Buisiness
*/
ul.bl_listBuisiness{
	line-height: 1.722;
}
ul.bl_listBuisiness > li{
	margin-bottom: 1em;
}
ul.bl_listBuisiness > li:last-child{
	margin-bottom: 0;
}
ul.bl_listBuisiness > li > ul > li{
	position: relative;
	padding-left: 1em;
}
ul.bl_listBuisiness > li > ul > li::before{
	content: "";
	position: absolute;
	top: 1em;
	left: 0;
	display: block;
	width: .8em;
	height: 1px;
	background-color: var(--colorTxt);
}

/* ==========================================================================
  Unique　ユニーク
========================================================================== */
/* un_
========================================================================== */

/* ==========================================================================
  Helpers　ヘルパー
========================================================================== */
.hp_db{ display: block;}
.hp_dib { display: inline-block !important; }
.hp_blockCenter{ display: table; margin-inline: auto;}
.hp_blockRight{ display: table; margin-left: auto; margin-right: 0;}
	@media (min-width: 768px){
		.hp_dib-mdUp{
			display: inline-block !important;
		}
	}
/*
margin-bottom
*/
.hp_mb05em{ margin-bottom: .5em !important;}
.hp_mb1em{ margin-bottom: 1em !important;}
.hp_mb15em{ margin-bottom: 1.5em !important;}
.hp_mb2em{ margin-bottom: 2em !important;}
.hp_mb3em{ margin-bottom: 3em !important;}

/*
色系
*/
.hp_colorAccent{color: var(--colorAccent) !important;}

/*
テキスト系
*/
.hp_txtCenter{
	text-align: center;
}
	@media (min-width: 768px){
		.hp_txtCenter-mdUp{
			text-align: center;
		}
	}
