@charset "utf-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */	
.clearfix:after {content: "";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
.min {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
@media all and (max-width: 768px) {
}


/* comBtnUl */
.comBtnUl {
	display: flex;
	flex-wrap: wrap;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.comBtnUl li {
	margin-right: 50px;
}
.comBtnUl a {
	padding: 5px 5px 5px 61px;
	width: 318px;
	height: 88px;
	color: #fff;
	font-size: 2.566rem;
	font-weight: bold;
	background-color: #00546B;
	border-radius: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	line-height: 1;
	box-shadow: 8px 8px 8px rgba(0,0,0,0.7);
	box-sizing: border-box;
	letter-spacing: -0.03em;
	text-align: center;
}
.comBtnUl img {
	width: 45px;
	position: absolute;
	top: 24px;
  	left: 24px;
}
.comBtnUl .inner {
	display: block;
}
.comBtnUl .num {
	margin: 5px 0 -5px;
	font-weight: normal;
	display: block;
	letter-spacing: 0;
}
.comBtnUl .tel a {
	height: 90px;
	background-color: #004B80;
	letter-spacing: 0.05em;
}
@media all and (min-width: 769px) {
	.comBtnUl a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 768px) {
	.comBtnUl {
		justify-content: space-between;
	}
	.comBtnUl li {
		margin-right: 0;
	}
	.comBtnUl a {
		padding: 5px 5px 5px 34px;
		width: 159px;
		height: 46px;
		font-size: 1.37rem;
		border-radius: 7px;
		box-shadow: 3px 3px 4px rgba(0,0,0,0.7);
	}
	.comBtnUl img {
		width: 24px;
		top: 12px;
  		left: 9px
	}
	.comBtnUl .tel a {
		height: 46px;
	}
	.comBtnUl .num {
		margin: 3px 0 -5px;
		letter-spacing: 0;
		font-size: 1.2rem;
	}
	.fixBox .comBtnUl li {
		width: 47.5%; /* 設定なし */
	}
	.fixBox .comBtnUl li a {
		width: 100%; /* 142px */
	}
}
@media all and (max-width: 374px) {
	.comBtnUl img {
		width: 18px;
		top: 15px;
	}
	.comBtnUl a {
		padding: 5px 5px 5px 25px;
		width: 136px;
		font-size: 1.2rem;
	}
}


/* headLine01 */
.headLine01 {
	margin-bottom: 89px;
	padding: 16px 0 16px;
	color: #742400;
	font-size: 3.6rem;
	font-weight: bold;
	text-align: center;
	letter-spacing: -0.07em;
	background-color: #FFD224;
	position: relative;
	z-index: 10;
}
.headLine01 img {
	width: auto;
	height: 50px;
}
.headLine01::after {
	margin-left: -18px;
	position: absolute;
	width: 0;
	height: 0;
	border-left: 18px solid transparent;
	border-right: 18px solid transparent;
	border-top: 26px solid #FFD224;
	left: 50%;
	bottom: -26px;
	content: '';
}
@media all and (max-width: 768px) {
	.headLine01 {
		margin-bottom: 11vw;
		padding: 4vw 0 2vw;
		font-size: 5.4vw;
		background-color: #FFC424;
	}
	.headLine01::after {
		margin-left: -15px;
		border-left: 16px solid transparent;
		border-right: 16px solid transparent;
		border-top: 18px solid #FFC424;
		bottom: -14px;
	}
	.headLine01 img {
		width: 70vw;
		height: auto;
	}
}
@media all and (min-width: 451px) and (max-width: 768px) {
	.headLine01 {
		padding: 3vw 0 3vw;
	}
}


/* headLine02 */
.headLine02 {
	margin-bottom: 26px;
	color: #17274A;
	font-size: 3.647rem;
	font-weight: bold;
	text-align: center;
}
@media all and (max-width: 768px) {
	.headLine02 {
		margin-bottom: 19px;
		font-size: 3.7vw;
	}
}

/* content */
.content {
	margin: 0 auto;
	width: calc(100% - 60px);
	max-width: 1064px;
	position: relative;
	z-index: 10;
}
@media all and (max-width: 768px) {
	.content {
		margin: 0 22px;
		width: auto;
	}
}

.comBg {
	position: relative;
}
.comBg::after {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: url("../img/common/bg.png") repeat left top / 28px auto;
	content: "";
}
@media all and (max-width: 768px) {
	.comBg::after {
		background-size: 15px auto;
	}
	.comBg02::after {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background: url("../img/common/bg.png") repeat left top / 15px auto;
		content: "";
	}
}


.comList {
	margin: 0 -9px;
	display: flex;
	flex-wrap: wrap;
}
.comList li {
	margin: 0 9px;
	padding: 43px 17px 28px 19px;
	width: calc(33.33% - 18px);
	background-color: #fff;
	position: relative;
	line-height: 1.216;
	box-sizing: border-box;
}
.comList .title {
	width: 100%;
	font-size: 1.8rem;
	text-align: center;
	position: absolute;
	top: -12px;
	left: 0;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.08em;
}
.comList .title span {
	padding: 14px 0 11px;
	min-width: 247px;
	color: #fff;
	background-color: #001A56;
	display: inline-block;
	vertical-align: top;
}
.comList .title.small {
	letter-spacing: -0.07em;
}
@media all and (min-width: 769px) and (max-width: 1000px) {
	.comList .title span {
		min-width: 200px;
		padding: 12px 10px 11px;
		box-sizing: border-box;
	}
	.comList .title {
		font-size: 1.4rem;
	}
}
@media all and (max-width: 768px) {
	.comList {
		display: block;
		margin: 0;
	}
	.comList li {
		padding: 7vw 2vw 3vw 3vw;
		width: auto;
		margin:0 0 62px;
		letter-spacing: -0.05em;
		line-height: 1.26;
	}
	.comList li:last-child {
		margin-bottom: 0;
	}
	.comList .title {
		top: -4.5vw;
		font-size: 4vw;
	}
	.comList .title span {
		min-width: 242px;
		padding: 3vw 0 2.5vw;
	}
	.comList p {
		font-size: 4.3vw;
	}
}
@media all and (min-width: 451px) and (max-width: 768px) {
	.comList .title span {
		padding: 3vw 3vw 2.5vw;
	}
}


/* comBox */
.comBox {
	position: relative;
}
.comBox .image img {
	width: 100%;
}
.comBox .comBtnUl {
	position: absolute;
	bottom: 6.93vw;
	left: 2.4vw;
	display: block;
}
.comBox .title {
	color: #fff;
	font-weight: bold;
	font-size: 10.3vw;
	line-height: 1;
	position: absolute;
	top: 7.46vw;
	left: 2.13vw;
}
.comBox .comBtnUl li {
	margin-top: 4vw;
}
.comBox .comBtnUl a {
	padding: 1.3vw 1.3vw 1.3vw 7.46vw;
	width: 43.2vw;
	height: 10.66vw;
	font-size: 3.65vw;
	box-shadow: 0.8vw 0.8vw 1vw rgba(0,0,0,0.7);
}
.comBox .comBtnUl .tel a {
	height: 10.66vw;
}
.comBox .comBtnUl li {
	margin-top: 2.933vw;
}
.comBox .comBtnUl img {
	width: 5.3vw;
	top: 2.933vw;
	left: 3.2vw;
}
.comBox .comBtnUl .num {
	margin: 0.8vw 0 -1.33vw;
	font-size: 3.2vw;
}


/* fixBox */
.fixBox {
	padding: 30px 10px 32px;
	width: 190px;
	position: fixed;
	bottom: 42px;
	right: 10px;
	background-color: #D6EDFF;
	z-index: 100;
	box-sizing: border-box;
	display: none;
}
@media all and (min-width: 769px) {
	.fixBox .comBtnUl {
		display: block;
	}
	.fixBox .comBtnUl li {
		margin: 0 0 24px 0;
	}
	.fixBox .comBtnUl li:last-child {
		margin-bottom: 0;
	}
	.fixBox .comBtnUl a {
		height: 43px;
		 padding: 5px 11px 5px 29px;
		width: 100%;
		font-size: 1.4rem;
		border-radius: 3px;
		box-shadow: 2px 2px 2px rgba(0,0,0,0.7);
	}
	.fixBox .comBtnUl .tel a {
		height: 50px;
		padding: 1px 11px 5px 35px;
	}
	.fixBox .comBtnUl img {
		width: 20px;
		top: 12px;
		left: 13px;
	}
	.fixBox .comBtnUl .tel img {
		width: 24px;
		top: 14px;
		left: 13px;
	}
}
@media all and (min-width: 1460px) {
	.fixBox {
		padding: 2vw 0.7vw;
		width: 13.1%;
	}
	.fixBox .comBtnUl a {
		height: 3.4vw;
		font-size: 1vw;
	}
	.fixBox .comBtnUl .tel a {
		height: 4vw;
		font-size: 1vw;
	}
	.fixBox .comBtnUl img {
		top: 1.2vw;
	}
	.fixBox .comBtnUl .tel img {
		top: 1.4vw;
	}
}
@media all and (max-width: 768px) {
	.fixBox {
		padding: 12px 20px 13px;
		width: 100%;
		bottom: 0;
		right: 0;
		background-color: #fff;
	}
	.fixBox .comBtnUl {
		margin: 0 auto;
		max-width: 95%; /* 320px */
		display: flex;
		justify-content: space-between;
	}
	.fixBox .comBtnUl li {
		width: 38vw;
	}
	.fixBox .comBtnUl a {
		padding: 5px 5px 5px 28px;
		height: 6.7vw;
	    min-height: 40px;
		border-radius: 8px;
		font-size: 3vw;
	}
	.fixBox .comBtnUl .tel a {
		padding-top: 1px;
	}
	.fixBox .comBtnUl img {
		width: 20px;
		top: 3vw;
		left: 11px;
	}
	.fixBox .comBtnUl .num {
		font-size: 3vw;
	}
}
@media all and (max-width: 374px) {
	.fixBox .comBtnUl a {
		width: 134px;
		font-weight: 1rem;
	}
	.fixBox .comBtnUl .num {
		font-size: 1rem;
	}
	.fixBox .comBtnUl img {
		width: 16px;
		top: 13px;
		left: 11px;
	}
}
@media all and (min-width: 400px) and (max-width: 768px) {
	.fixBox .comBtnUl a {
		font-size: 2vw;
	}
	.fixBox .comBtnUl img {
		top: 2vw;
	}
	.fixBox .comBtnUl .num {
		font-size: 2vw;
	}
}