/*-------------------------------------------------
  ヘッダー header
-------------------------------------------------*/
#header
{
	position: fixed;
	top: 0;
	width: 100%;
	/* height: ; */
	background: #fff url(images/) no-repeat;
	background: rgba(256,256,256,0.95);
	border-width: 0px 0px 0px 0px;
	border-style: solid;
	border-color: #E0E0E0;
	z-index: 999999;
	margin-top: 0;
}

	@media screen and (max-width:750px){ /*スマホサイズ*/

	#header
	{
		height: 75px;
		margin: 0;
	}

	}

#header a:link, #header a:visited
{
	color: #383838; /* ヘッダー内のリンク文字の色 */
	text-decoration: none;
}
#header a:hover, #header a:active
{
	color: #e10000; /* ヘッダー内のリンク文字の色　ホバー時 */
}

.logoandmenu /*ロゴ+メニュー帯*/
{
	display: flex;
	align-items: center;
	max-width: 2000px;
	margin: auto;
	height: 112px;
}

.logo /*ロゴエリア*/
{
	width: 20%;
	min-width: 180px;
	padding-left: min(45px, calc(45/2000*100vw));
	/* float: left; */
	z-index: 9999;
	position: relative;
}

.logo img
{
	/*margin-top: 30px;
	margin-left: 30px;*/
	/* max-width: 100%; */
	max-width: 340px;
}

	@media screen and (max-width:750px){ /*スマホサイズ*/
	.logoandmenu /*ロゴ+メニュー帯*/
	{
		display: block;
		height: 100%;
	}


	.logo /*ロゴエリア*/
	{
		width: 50%;
		height: 100%;
		float: left;
	}

	.logo a {
		display: flex;
		align-items: center;
		height: 100%;
	}

	.logo img
	{
		display: block;
		max-height: 75px;
	}
	}

@media screen and (min-width:751px){ /*PCサイズ*/
	.menu_container {
		flex: 1;
		height: 100%;
		padding: 0 10px;
	}

	.menu /*メニューエリア*/
	{
		height: 100%;
		/* width: 59%; */
		width: 100%;
		max-width: 1180px;
		/* float: right; */
		margin-top: 0px;
	}

	.menu_smp /*メニューエリア　スマートフォン*/
	{
		display: none;
	}

	/*スマホ用メニューボタン*/
	 header {
		display: none;
	 }

}

	@media screen and (max-width:750px){ /*スマホサイズ*/
		.menu /*メニューエリア*/
		{
			display: none;
		}

		.menu_smp /*メニューエリア*/
		{
			display: inline;
			width: 70%;
			float: right;
		}

		/*スマホ用ハンバーガーメニュー*/
		 header {
			height: 75px;
			/*z-index: 1000;*/
			position: relative;
		 }
		 header nav {
			position: absolute;
			top: 75px;
		 }
		 main {
			position: absolute;
			top: 0px;
		 }
		 body {
			margin: 0;
		 }
		 header {
			/* background-color: ; */
			color: white;
			width: 100%;
		 }
		 header .menu_button {
			border-left: solid 0px white;
			float: right;
			width: 15%;
			height: 100%;
			text-align: center;
			color: #0000007d;
		 }
		 header .menu_button span {
			font-size: 30px;
			line-height: 70px;
		 }
		 header nav {
			/* background-color: #333;*/
			background: rgba(0,0,0,0.9);
			color: white;
			width: 100%;
			z-index: 0;
		 }
		 header nav ul {
			list-style-type: none;
			margin: 0;
			padding: 0;
		 }
		 header nav ul li:first-child {
			/*width: 50%;*/
			float: left;
			border-top: solid 0px white;
		 }
		 header nav ul li {
			height: 42px;
			line-height: 2em;
			vertical-align: middle;
			border-bottom: solid 1px #333;
			border-left: solid 1px #333;
			text-align: center;
			padding: 0;
			box-sizing: border-box;
			/*background: url(images/arrow2018.png) right no-repeat;*/
			background-size: 8%;
			background-position: 4%;
		 }
		 main {
			width: 100%;
		 }

	}

/*-------------------------------------------------
  メニューボタン
-------------------------------------------------*/

@media screen and (min-width:750px) and (max-width: 1180px){
	#menubutton
	{
		display: block;
		width: 14.285%;
		/* height: ; */
		background: url(images/) no-repeat;
		/* height: ; */
		/* line-height: ; */
		vertical-align: middle;
		text-decoration: none;
		text-align: center;
		float: left;
		padding: 0.2% 0 0.2% 0;
		box-sizing: border-box;
		/* border-width: 0px 0px 0px 1px; */
		/* border-style: solid; */
		/* border-color: #E0E0E0; */
		margin: 1.5% 0 0 0;
		font-size: 1.2vw;
		overflow: hidden;
		white-space: nowrap;
	}
}

@media screen and (min-width: 1180px){
	#menubutton
	{
		display: block;
		width: 14.285%;
		height: 5%;
		background: url(images/) no-repeat;
		/* height: ; */
		/* line-height: ; */
		vertical-align: middle;
		text-decoration: none;
		text-align: center;
		float: left;
		padding: 0.2% 0 0.2% 0;
		box-sizing: border-box;
		/* border-width: 0px 0px 0px 1px; */
		/* border-style: solid; */
		/* border-color: #E0E0E0; */
		margin: 1.5% 0 0 0;
		font-size: 14px;
		overflow: hidden;
		white-space: nowrap;
	}
}

	@media screen and (max-width: 750px){ /*スマホサイズ*/
		#menubutton
		{
			display: block;
			width: 50%;
			height: 5%;
			background: url(images/) no-repeat;
			/* height: ; */
			/* line-height: ; */
			vertical-align: middle;
			text-decoration: none;
			text-align: center;
			float: left;
			padding: 2.5% 0 2.5% 0;
			/* box-sizing: border-box; */
			/* border-width: 0px 1px 1px 0px; */
			/* border-style: solid; */
			border-color: #efefef;
			margin: 0 0 0 0;
			font-size: 14px;
			overflow: hidden;
			white-space: nowrap;
			color: #fff;
		}

		.menutextcolor
		{
			color: #fff;
		}
	}


.header_cta {
	display: flex;
	align-items: center;
	max-width: 33%;
	box-sizing: border-box;
	padding-right: min(30px, calc(30/2000*100vw));
}

.header_cta_sns {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-right: min(20px, calc(20/2000*100vw));
}

.header_cta_sns a {
	display: block;
	width: 100%;
	height: 100%;
}

.header_cta_sns img {
	display: block;
	max-width: clamp(20px, calc(20/751*100vw), 30px);
	height: auto;
	object-fit: contain;
}

/* .header_cta_sns a:first-child {
	margin-right: clamp(10px, calc(10/751*100vw), 20px);
} */

.header_cta_sns a {
	margin-right: clamp(10px, calc(10/751*100vw), 20px);
}

.header_cta_sns a:last-child {
	margin-right: 0;
}

.header_cta_sns a:hover {
	opacity: 0.8;
}

.header_cta_text_lead {
	margin: 0;
	font-size: 12px;
	font-weight: 500;
}

.header_cta_tel {
	display: flex;
	align-items: center;
}

.header_cta_tel img {
	display: block;
	max-width: 40px;
	margin-right: 10px;
}

.header_cta_tel-number {
	margin: 0;
	font-size: clamp(18px, calc(18/751*100vw), 32px);
	font-weight: bold;
}

#header a:link.header_cta_link,
#header a:visited.header_cta_link {
	display: block;
	margin-top: 6px;
	line-height: 1.75;
	border-radius: 5px;
	text-align: center;
	font-size: clamp(12px, calc(12/751*100vw), 14px);
	font-weight: 500;
	color: #fff;
	background: #de0000;
}

#header a:hover.header_cta_link {
	opacity: 0.8;
}

@media screen and (max-width: 1180px){ /*スマホサイズ*/
	.header_cta_text {
		display: none;
	}
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.header_cta_sns {
		display: none;
	}
}

/*-------------------------------------------------
  ヒーローイメージ
-------------------------------------------------*/

.bg_heroimg /*ヒーローイメージの背景*/
{
	width: 100%;
	/* background: ; */
}

.heroimg /*ヒーローイメージの枠*/
{
	max-width: 1180px;
	margin: auto;
	padding: 0 0 0 0;
	overflow: hidden;
}

.heroimg img /*ヒーローイメージ*/
{
	width: 100%;
	padding: 11.3% 0 0 0; /*メニュー帯に隠れないためのpadding*/
	/* display: none; */
}

	@media screen and (max-width: 750px){ /*スマホサイズ*/

	.heroimg img /*ヒーローイメージ*/
	{
		width: 100%;
		padding: 75px 0 0 0; /*メニュー帯に隠れないためのpadding*/
		/* display: none; */
	}

	}

/*-------------------------------------------------
  キャッチコピーエリア
-------------------------------------------------*/

/*サブページキャッチコピーエリア背景ブラー*/
#bg_blur1
{
	width: 100%;
	/* max-width: 1180px; */
	margin: 112px auto 0 auto;
	position: relative;
	overflow: hidden;
}

.bg-blur {
	display: block;
	height: auto;
	left: 0%;
	max-height: none;
	min-height: 100%;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -2;
}

	@media screen and (max-width:750px){ /*スマホサイズ*/

		#bg_blur1 /*キャッチエリアとヘッダーメニューを被らせない*/
		{
			margin: 75px auto 0 auto;
		}

	}

.sub_catch /*サブページのキャッチ*/
{
	width:100%;
	margin: auto;
	/* background-color: #15496B;消すとブラーが出ます */
	color: #fff;

}

.webp .sub_catch {
	background: url(images/bg_sub-page.webp) no-repeat center center / cover;
}

.no-webp .sub_catch {
	background: url(images/bg_sub-page.jpg) no-repeat center center / cover;
}

.sub_catch h1{

	max-width: 1180px;
	margin: auto;
	font-size: 14px;
	/* font-family: 'Kozuka Mincho Pro',serif; */
	margin-block-start: 0;
	margin-block-end: 0;
	padding: 40px;
	box-sizing: border-box;
	font-weight: 400;
}

.sub_catch h1 span {
	line-height: 1.75;
	font-size: 20px;
}

@media screen and (max-width: 750px){ /**/
	.sub_catch h1{
		padding: 5%;
	}
}

/*ヒーローイメージ下のキャッチなどの配置エリア*/

.banner_gawcp 
{
	position: relative;
	width:90%;
	max-width: 1000px;
	margin: -7% auto 0 auto;
	padding: 30px;
	box-sizing: border-box;
	border-radius: 3px;
	text-align: center;
	z-index: 8888;
	/* box-shadow: 0 0 25px rgba(0,0,0,0.25); */
}

.banner_gawcp img
{
	width:100%;
	height: auto;
}

/*-------------------------------------------------
  CTA
-------------------------------------------------*/

.contact-cta-pc {
  display: block;
}

.contact-cta-smp {
  display: none;
}

.bg_cta_blue{
	position: relative;
	width:100%;
	background: url(images/bg_cta.jpg) no-repeat center center / cover;
	margin: 0 auto;
	padding: 4% 0;
	box-sizing: border-box;
}

.cta 
{
	position: relative;
	width:90%;
	max-width: 1120px;
	/* margin: -4.6% auto 0 auto; 上部バナーが無い時はこの数値*/
	margin: 0 auto;
	padding: 30px;
	box-sizing: border-box;
	border-radius: 3px;
	text-align: center;
	background: rgba(255, 255, 255, 0.9);
	z-index: 8888;
	box-shadow: 0 0 25px rgba(0,0,0,0.25);
}

.cta i{
	margin-right: 6px;
}

.contact-cta {
  background: #fff;
  color: #111;
  border-radius: 20px;
  box-shadow: 0px 1px 20px 4px rgb(0 0 0 / 30%); 
  overflow: hidden; 
max-width: 860px;
}

.contact-cta h2 {
  margin: 0 0 10px;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.7;
}

.contact-cta__tel {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  /* gap: 60px; */
  padding: 0 2% 18px;
  border-bottom: 1px solid #999999;
}

.contact-cta__tel-main {
    text-align: center;
    display: flex;
    justify-content: space-around;
}

.contact-cta__tel-main h2 {
    font-weight: 500;
    font-size: clamp(20px,2.8vw,24px);
}

.contact-cta__number {
    display: flex;
    margin: 0;
    font-size: clamp(25px,8vw,36px);
    font-weight: 500;
    justify-content: center;
    align-items: center;
	flex-direction: column;
}

.contact-cta__number a {
  color: #1a1a1a;
  text-decoration: none;
  font-weight: 600;
}

.contact-cta__tel-number {
    display: flex;
    align-items: center;
    font-weight: 600;
}

.tel-icon {
  display: inline-block;
  margin-right: 10px;
  font-size: 28px;
}

.tel-icon img {
    width: 50px;
    height: auto;
vertical-align: middle;
}

.contact-cta__time {
  margin: 6px 0 0;
  font-size: 16px;
}

.contact-cta__qr-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
}

.contact-cta__qr-text {
    font-size: 18px;
    line-height: 1.45;
    white-space: nowrap;
    text-align: left;
	color: #4d4d4d;
}

.contact-cta__qr img {
  width: 110px;
  height: auto;
  display: block;
}

@media screen and (max-width: 1100px){ 
	.contact-cta__tel-main {
		flex-direction: column;
	}

	.contact-cta__tel-main h2 {
		margin: 1% auto; 
	}

	.contact-cta__qr-wrap {
		flex-direction: column-reverse;
	}
}

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

	.bg_cta_blue{
		margin-top: 3px;
	}

	.bg_cta_blue .cta {
    margin: 0 auto;
    padding: calc(40/750*100vw) calc(30/750*100vw) calc(56/750*100vw);
}
	.contact-cta-pc {
		display: none;
	}

	.contact-cta-smp {
		display: block;
	}

	.contact-cta-smp .cta_inner {
		display: block;
		margin-top: 0;
	}

	.contact-cta {
    margin: 0 15px;
    border-left: none;
    border-right: none;
  }

  .contact-cta__tel {
    display: block;
    padding: 0px 18px 22px;
    text-align: center;
	border-bottom: none;
  }

  .contact-cta__tel-main {
    flex-direction: column;
	}

	.contact-cta__qr-wrap {
		display: none;
	}
	
	.contact-cta-smp h2 {
    font-size: clamp(18px,3.8vw,25px);
    font-weight: 500;
    margin: 20px auto 8px;
    line-height: 1;
}
  .contact-cta__number {
	margin-bottom: 12px;
  }

  .contact-cta__time {
    font-size: max(14px, calc(22/750*100vw));
  }

  .contact-cta__qr-text {
    font-size: 16px;
    white-space: normal;
  }

  .contact-cta__qr {
    margin-top: 10px;
  }

  .contact-cta__qr img {
    width: 120px;
    margin: 0 auto;
    display: block;
  }

}

.cta_lead01 {
	margin: 0;
	font-size: clamp(16px, calc(16/751*100vw), 20px);
	font-weight: bold;
}

.cta_lead01 br {
	display: none;
}

.cta_lead01 span {
	color: #e81c24;
}

.cta_lead02 {
	margin: 0;
	font-size: 20px;
	font-weight: bold;
}

.cta_lead03 {
	margin: 0;
	font-size: clamp(16px, calc(16/751*100vw), 20px);
	font-weight: bold;
	margin-top: 20px;
}

.cta_inner {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 20px;
}

a:link.cta_link,
a:visited.cta_link {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 49%;
	height: 56px;
	font-size: clamp(16px, calc(14/751*100vw), 20px);
	font-weight: 500;
	border-radius: 8px;
	color: #fff;
	border-bottom: 6px solid rgba(0, 0, 0, .25);

	transition: all .15s ease;
}

a.cta_link:hover {
	transform: translateY(2px);
	border-bottom-width: 4px;
}

.cta_link:nth-child(n+3) {
	margin-top: 10px;
}

a:link.cta_link01,
a:visited.cta_link01 {
	font-size: clamp(24px, calc(24/751*100vw), 28px);
	font-weight: bold;
}

.cta_link01,.cta_link02 {
	background: #ef4e24;
}

.cta_link01 img {
	display: block;
	max-width: 39px;
	margin-right: 7px;
}

.cta_link03 {
	background: #00b400;
}

.cta_link03 img {
	max-width: 30px;
}

.cta_link04 {
	background: #211e92;
}

.cta_link05 {
    background: #fff;
    color: #211e92 !important;
    border: #211e92 solid 3px !important;
}

.cta_link i {
    font-size: 1.2em;
    margin-right: 5px;
    line-height: 1;
    position: relative;
    top: 1px;
}

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

	.banner_gawcp {
		margin: 0 auto;
		padding: 3px 0 0;
		width: 100%;
	}

	.cta {
		margin: 5% auto 0;
		padding: calc(40/750*100vw) calc(30/750*100vw) calc(56/750*100vw);
	}

	.cta_lead01 {
		font-size: clamp(14px, 3.4vw, 20px);
	}

	.cta_lead01 br {
		display: block;
	}

	.cta_lead02 {
		font-size: max(11px, calc(18/750*100vw));
	}

	.cta_inner {
		display: block;
	}

	a:link.cta_link,
	a:visited.cta_link {
		width: 100%;
		height: max(45px, calc(64/750*100vw));
		font-size: max(15px, calc(24/750*100vw));
	}

	.cta_link:nth-child(n+3) {
		margin-top: 0;
	}

	.cta_link:not(:first-child) {
		margin-top: 7.5px;
	}

	a:link.cta_link01,
	a:visited.cta_link01 {
		font-size: max(20px, calc(33/750*100vw));
	}

	.cta_link01 img {
		width: calc(45/750*100vw);
	}
}