
/* ------------------------------
 見出し
------------------------------ */
.mainimgTop h1,
.contents h1 {
	font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	line-height: 1.2;
}
.mainimgTop h1 {
	min-width: 300px;
	font-size: 3.4rem;
	padding: 25px 40px 30px;
	display: inline-block;
	background: rgba(255,255,255,1);
}
.contents h1 {
	font-size: 3.3rem;
	text-align: center;
	padding-bottom: 40px;
	margin-bottom: 50px;
	background: url(../img/h1_bg.png) no-repeat center bottom / 154px 14px;
}

.contents h2 {
	font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.4;
	padding-bottom: 17px;
	margin-bottom: 30px;
	border-bottom: solid 1px #003366;
	position: relative;
}
.contents .gothicTitle h2 {
	font-family: "Yu Gothic",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}
.contents h2 span {
	font-size: 2.2rem;
	color: #003366;
	margin-bottom: 10px;
	display: block;
}
.contents h2:before {
	content: '';
	position: absolute;
	bottom: -3px;
	left: 0;
	width: 50px;
	height: 3px;
	background: #003366;
}
.contents h2 small {
	font-size: 1.5rem;
}

/* サイドに線有 h2 */
.contents .h2title-a h2 {
	font-family: "Yu Gothic",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-size: 2rem;
	text-align: center;
	color: #797675;
	border: none;
	padding: 0;
	margin-bottom: 45px;
}
.contents .h2title-a h2 span {
	font-size: 2rem;
	color: #797675;
	background: #fff;
	padding: 0 10px;
	display: inline-block;
	position: relative;
	z-index: 1;
}
.contents .h2title-a h2:before {
	content: '';
	background: #797675;
	height: 1px;
	width: 100%;
	bottom: 60%;
	z-index: 0;
}

.contents h3 {
	font-size: 1.8rem;
	color: #003366;
	font-weight: bold;
	line-height: 1.2;
	padding-left: 22px;
	margin-bottom: 15px;
	position: relative;
}
.contents h3:before {
	border: 6px solid #003366;
	border-radius: 20px;
	content: "";
	height: 5px;
	left: 0;
	position: absolute;
	top: 2px;
	width: 5px;
}
.contents .h3title-a h3 {
	font-size: 1.8rem;
	padding-left: 22px;
	border-bottom: dotted 1px #A9ACAD;
	padding-bottom: 13px;
	margin-bottom: 20px;
	position: relative;
}
.contents .h3title-b h3 {
	font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	font-size: 2.2rem;
	color: #333;
	padding-left: 13px;
	border-bottom: dotted 1px #A9ACAD;
	padding-bottom: 13px;
	margin-bottom: 13px;
	position: relative;
}
.contents .h3title-b h3:before {
	content: "";
	border: none;
	border-radius: 0;
	height: auto;
	width: 5px;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 14px;
	background: #335C85;
}

.contents h4 {
	font-size: 1.9rem;
	line-height: 1.2;
	font-weight: bold;
	padding-left: 10px;
	border-left: solid 4px #CC4B1F;
	margin-bottom: 15px;
}
.contents h5 {
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 3px;
}



.mainLead {
	font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	font-size: 2.6rem;
	margin-bottom: 20px;
}
.subLead {
	font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	font-size: 2.3rem;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 5px;
}
.mainText {
	font-size: 1.7rem;
}

.blueLead {
	font-size: 2.2rem;
	font-weight: bold;
	color: #003366;
}
.lead {
	text-align: center;
}

/* -- マーカー -- */
.markerLead {
	font-weight: bold;
}
.markerLead strong {
	background: linear-gradient(transparent 60%, #F9EC00 60%);
}

/* ------------------------------
 予告
------------------------------ */
.titleBox {
	margin-bottom: 20px;
}
.titleBox .squareBox {
	font-size: 1.8rem;
	font-weight: bold;
	width: 90px;
	height: 90px;
	color: #fff;
	margin-right: 25px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #CC4B1F;
}
.titleBox .mainLead {
	font-weight: bold;
	width: calc(100% - 115px);
	margin-bottom: 0;
}

/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.mainimgTop h1 {
		min-width: 200px;
		font-size: 2.2rem;
		padding: 20px 30px;
		display: inline-block;
		background: rgba(255,255,255,1);
	}
	.contents h1 {
		font-size: 2.2rem;
		padding-bottom: 30px;
		margin-bottom: 35px;
	}
	.contents h2 {
		font-size: 1.9rem;
		padding-bottom: 15px;
		margin-bottom: 20px;
	}
	.contents h2 span {
		font-size: 1.7rem;
		margin-bottom: 5px;
	}
	
	/* サイドに線有 h2 */
	.contents .h2title-a h2 {
		font-size: 1.9rem;
		margin-bottom: 30px;
	}
	.contents .h2title-a h2 span {
		font-size: 1.9rem;
	}
	.contents h3 {
		font-size: 1.7rem;
		padding-left: 22px;
	}
	.contents h3:before {
		border: 5px solid #003366;
	}
	.contents .h3title-a h3,
	.contents .h3title-b h3 {
		font-size: 1.7rem;
	}
	.contents h4 {
		font-size: 1.7rem;
	}
	.contents h5 {
		font-size: 1.6rem;
	}
	
	.mainLead {
		font-size: 2rem;
		margin-bottom: 20px;
	}
	.subLead {
		font-size: 1.8rem;
	}
	.mainText {
		font-size: 1.6rem;
		text-align: left;
	}
	.blueLead {
		font-size: 1.7rem;
	}
	.lead {
		text-align: left;
	}
	.lead br {
		display: none;
	}
}


/* ------------------------------
 横幅
------------------------------ */
/* -- 横並びボックス（flexbox） --- */
.flexBox {
	display: flex !important;
	flex-flow: row wrap;
}
.flexBox::after {
	display: none !important;
}
.flexBox > * {
	width: 100%;
}
/* -- 横並びボックス（flexbox） 横センター揃え --- */
.flexBox.w-auto > * {
	width: auto;
}
/* -- 横並びボックス（flexbox） 横センター揃え --- */
.flexBox.fb-tac {
	justify-content: center;
}
/* -- 横並びボックス（flexbox） 縦センター揃え --- */
.flexBox.fb-vac {
	align-items: center;
}


.w50p {
	width: 50%;
}
.w49p {
	width: 49%;
}
.w47p {
	width: 47%;
}
.w25p {
	width: 25%;
}
.w380 {
	width: 380px;
}
.w485 {
	width: 485px;
}
.w506 {
	width: 506px;
}

.w590 {
	width: 590px;
}
.w650 {
	width: 650px;
}
.w800 {
	width: 800px;
}
.w900 {
	width: 900px;
}
/* -- 1/5 -- */
.w150 {
	width: 150px;
}
.w150.fl + .w150.fl {
	margin-left: 25px;
}

/* -- 1/5 -- */
.w224 {
	width: 224px;
}
.w224.fl + .w224.fl {
	margin-left: 25px;
}

/* -- 1/4 -- */
.w288 {
	width: 288px;
}

/* -- 1/3 -- */
.w390 {
	width: 390px;
}

/* -- 1/2 -- */
.w597 {
	width: 597px;
}
.w597.fl + .w597.fl {
	margin-left: 26px;
}

/* -- 2/3 -- */
.w805 {
	width: 805px;
}



/* -- サイドあり 1/3 -- */
.w290 {
	width: 290px;
}

/* -- サイドあり 1/2 -- */
.w445 {
	width: 445px;
}

/* -- その他 -- */
.w335 {
	width: 335px;
}
.w700 {
	width: 700px;
}
.w850 {
	width: 850px;
}
.w942 {
	width: 942px;
}
.w1080 {
	width: 1080px;
}
.w1220 {
	width: 1220px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}

/* ------------------------------
 PC用 
------------------------------ */
@media print, screen and (min-width: 768px) {
	.flexBox .w597:not(:nth-child(2n)) {
		margin-right: 26px;
	}
	.flexBox .w390:not(:nth-child(3n)) {
		margin-right: 25px;
	}
	.flexBox .w380:not(:nth-child(3n)) {
		margin-right: 40px;
	}
}

/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.w50p,
	.w49p,
	.w47p,
	.w150,
	.w224,
	.w288,
	.w290,
	.w335,
	.w380,
	.w445,
	.w390,
	.w485,
	.w506,
	.w590,
	.w597,
	.w650,
	.w700,
	.w800,
	.w805,
	.w850,
	.w900,
	.w942,
	.w1080 {
		width: auto;
	}
	
	.flexBox > * {
		width: 100%;
	}
	
	.w1220 {
		width: 90%;
	}
	
	.w25p {
		width: 50%;
	}
	.w597.fl + .w597.fl,
	.w224.fl + .w224.fl {
		margin-left: 0;
	}
}
/* ------------------------------
 PC用 ページ内リンク頭出し
------------------------------ */
@media print, screen and (min-width: 768px) {
	div[id^="no01"],
	div[id^="no02"],
	div[id^="no03"],
	div[id^="no04"],
	div[id^="no05"],
	div[id^="no06"],
	div[id^="no07"],
	div[id^="no08"],
	div[id^="no09"],
	div[id^="no10"],
	div[id^="no11"] {
		margin-top: -25px;
		padding-top: 25px;
	}
}


/* ------------------------------
 案内BOX
------------------------------ */
.guideBox a {
	display: block;
	color: #333;
	text-decoration: none;
}
.guideBox .cms_text {
	font-size: 1.4rem;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
}
.guideBox.flexBox .cms_text {
	margin-left: 0;
	margin-bottom: 40px;
}
.guideBox .cms_text img {
	margin-bottom: 15px;
}
.guideBox .cms_text h3 {
	color: #3F3B3A;
	padding-left: 25px;
	background: url(../img/arrow01.png) no-repeat 0 .25em / 15px 12px;
}
.guideBox .cms_text h3:before {
	display: none;
}
.guideBox .cms_text:hover a img {
	opacity: .7;
}
.guideBox .cms_text .cms_inner_blank {
	padding-right: 0;
	background: none;
}

/* -- 別バージョン -- */
.guideBox.ver02 .cms_text {
	background: #F4F4F4;
	position: relative;
}
.guideBox.ver02 .cms_text:after {
	content: "";
	width: 18px;
	height: 18px;
	background: #003366;
	position: absolute;
	bottom: -9px;
	right: -9px;
	-moz-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.guideBox.ver02 .cms_text h3 {
	font-size: 1.6rem;
	margin-bottom: 8px;
}
.guideBox.ver02 .cms_text a {
	display: table;
	table-layout: fixed;
}
.guideBox.ver02 .cms_text div {
	display: table-cell;
	vertical-align: middle;
}
.guideBox.ver02 .cms_text img {
	width: 160px;
	margin-bottom: 0;
	display: table-cell;
	vertical-align: middle;
}
.guideBox.ver02 .cms_text div:nth-of-type(1) {
	width: 27%;
	height: 114px;
	overflow: hidden;
	position: relative;
	text-align: center;
}
.guideBox.ver02 .cms_text div:nth-of-type(1) img {
	display: block;
	width: auto !important;
	height: 100% !important;
	min-width: 100% !important;
	max-width: 1200px !important;
	position: absolute;
	bottom: -100%;
	left: -100%;
	right: -100%;
	top: -100%;
	margin: auto;
}
.guideBox.ver02 .cms_text div:nth-of-type(2) {
	width: 73%;
	padding: 10px 25px;
}
/* -- ↑のバージョンの幅1/3時-- */
.guideBox.ver02 .cms_text.w390 a{
	width: 100%;
}
.guideBox.ver02 .cms_text.w390 div:nth-of-type(1) {
	width: 39%;
}
.guideBox.ver02 .cms_text.w390 div:nth-of-type(2) {
	width: 61%;
}
/*IE10以降に適用されるCSSハック（一応）*/
@media all and (-ms-high-contrast:none){
	.guideBox.ver02 .cms_text div:nth-of-type(1) img {
		display: block;
		width: auto !important;
		height: auto !important;
		min-width: 100% !important;
		max-width: 1200px !important;
		position: absolute;
		bottom: -100%;
		left: -100%;
		right: -100%;
		top: -100%;
		margin: auto;
	}
}

.guideLink {
	background: #F2F2F2;
}
.guideLink.cms_text {
	overflow: hidden;
}
.guideLink a {
	display: flex;
	align-items: center;
	position: relative;
	text-decoration: none;
}
.guideLink a::after {
	content: "";
	width: 18px;
	height: 18px;
	background: #003366;
	position: absolute;
	bottom: -9px;
	right: -9px;
	-moz-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.guideLink a div {
	padding: 15px 35px;
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.guideBox {
		margin-bottom: 20px !important;
	}
	.guideBox.flexBox .cms_text {
		margin-bottom: 20px;
	}
	.guideBox .cms_text h3 {
		background-position: 0 .15em;
	}
	/* -- 別バージョン -- */
	
	.guideBox.ver02 .cms_text h3 {
		font-size: 1.5rem;
		margin-bottom: 5px;
	}
	.guideBox.ver02 .cms_text img {
		width: auto;
	}
	.guideBox.ver02 .cms_text div:nth-of-type(1) {
		width: 30%;
	}
	.guideBox.ver02 .cms_text div:nth-of-type(2) {
		width: 70%;
		font-size: 1.3rem;
		padding: 10px 15px;
	}

	.guideLink a {
		display: block;
	}
	.guideLink a img {
		width: 100%;
	}
	.guideLink a div {
		padding: 6%;
	}
}

/* ------------------------------
 360度画像、Youtube埋め込み
------------------------------ */
.house_image_box {
	margin: 70px 0;
}
.image360_box, .youtube_box {
	margin-bottom: 35px;
	position:relative;
    width:100%;
    height:0;
    padding-top: 56.25%;
}

.image360_box iframe, .youtube_box iframe {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}

/* ------------------------------
 青いBOX
------------------------------ */
.supportList .cms_text {
	text-align: center;
	color: #fff;
	padding: 20px 15px;
	border-radius: 10px;
	background: #003366;
}
.supportList .cms_text p {
	line-height: 1.3;
	padding-bottom: 15px;
	margin-bottom: 10px;
	position: relative;
}
.supportList .cms_text p:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 50px;
	height: 3px;
	background: #fff;
	margin: auto;
}
.supportList .cms_text strong {
	font-size: 2.1rem;
	color: #FFF9B1;
}
.supportList .cms_text.list ul {
	text-align: left;
	display: inline-block;
}
.supportList .cms_text.list li {
	line-height: 1.4;
}
.supportList .cms_text.list li:before {
	color: #fff;
}

/* -- 土地探しリクエストで使用 --- */
.block3.blueList li {
	width: 390px;
}
.block3.blueList li:not(:nth-child(3n)) {
	margin-right: 25px;
}
.blueList li {
	text-align: center;
	color: #fff;
	padding: 20px 15px;
	border-radius: 10px;
	background: #003366;
	float: left;
}
.blueList li strong {
	font-size: 2.2rem;
}

/* -- 文字背景青 --- */
.blue_bg_f {
	color: #fff;
	padding: 3px 20px;
	background: #003366;
	vertical-align: middle;
	display: inline-block;
}

/* ------------------------------
 グレーBOXリスト
------------------------------ */
/* -- 長期優良住宅で使用 --- */
.grayList li {
	width: 288px;
	text-align: center;
	padding: 20px 15px;
	margin-bottom: 20px;
	border-radius: 10px;
	background: #E6E6E6;
	float: left;
}
.grayList li:not(:nth-child(4n)) {
	margin-right: 22px;
}
.grayList li strong {
	font-size: 2.2rem;
}
.grayList li .blue {
	color: #008BD5;
}

/* -- 2分割 --- */
.grayList.block2 li {
	width: 597px;
}
.grayList.block2 li:not(:nth-child(4n)) {
	margin-right: 0px;
}
.grayList.block2 li:not(:nth-child(2n)) {
	margin-right: 26px;
}

/* -- 3分割 --- */
.grayList.block3 li {
	width: 390px;
}
.grayList.block3 li:not(:nth-child(4n)) {
	margin-right: 0;
}
.grayList.block3 li:not(:nth-child(3n)) {
	margin-right: 24px;
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.supportList .cms_text {
		min-height: 100px;
	}
	.supportList .cms_text strong {
		font-size: 2rem;
	}
	
	.block3.blueList li {
		width: auto;
	}
	.block3.blueList li:not(:nth-child(3n)) {
		margin-right: 0;
	}
	.block3.blueList li:not(:last-child) {
		margin-bottom: 10px;
	}
	.blueList li {
		float: none;
	}
	.blueList li strong {
		font-size: 2rem;
	}
	
	
	/* ------------------------------
	 グレーBOXリスト
	------------------------------ */
	.grayList li {
		width: auto;
		margin-bottom: 10px;
		float: none;
	}
	.grayList li:not(:nth-child(4n)) {
		margin-right: 0;
	}
	.grayList li strong {
		font-size: 2rem;
	}
	/* -- 2分割 --- */
	.grayList.block2 li {
		width: auto;
	}
	.grayList.block2 li:not(:nth-child(2n)) {
		margin-right: 0;
	}
	/* -- 3分割 --- */
	.grayList.block3 li {
		width: auto;
	}
	.grayList.block3 li:not(:nth-child(3n)) {
		margin-right: 0;
	}
}
/* ------------------------------
 性能リスト
------------------------------ */
.abilitylist ul {
	font-size: 0;
	text-align: center;
	padding: 7px 10px;
	border: solid 1px #ccc;
}
.abilitylist ul li {
	font-size: 1.3rem;
	display: inline-block;
	margin: 0 10px;
	padding-left: 20px;
}
.abilitylist ul li:nth-child(1) {
	background: url(../img/about/exc_icon01.gif) no-repeat 0 center;
}
.abilitylist ul li:nth-child(2) {
	background: url(../img/about/exc_icon02.gif) no-repeat 0 center;
}
.abilitylist ul li:nth-child(3) {
	background: url(../img/about/exc_icon03.gif) no-repeat 0 center;
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.abilitylist ul {
		text-align: left;
	}
	.abilitylist ul li {
		display: block;
		margin: 0;
	}
}

/* ------------------------------
 背景色
------------------------------ */
.color_bg {
	padding: 22px 30px;
	border-radius: 4px;
	background: #F5F2E9;
}

/* オレンジ色 */
.color_bg_orange {
	padding: 22px 30px;
	border-radius: 4px;
	background: #F9E9E4;
}
.color_bg_orange.border {
	border: solid 3px #CC4B1F;
}

.color_bg_orange h3 {
	color: #CC4B1F;
}
.color_bg_orange.sidelist ul li::before {
	background: #CC4B1F;
}
.color_bg_orange h3::before {
	border-color: #CC4B1F;
}

/* ------------------------------
 Google map
------------------------------ */
.gmap {
	width: 100%;
	height: 405px;
	padding: 3px;
	border: solid 1px #EAEAEA;
}
.gmap iframe {
	width: 100%;
	height: 397px;
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.gmap {
		height: 305px;
	}
	.gmap iframe {
		height: 297px;
	}
}



/* ------------------------------
 LINE（線）
------------------------------ */
/* 下破線 */
.line-a {
	padding-bottom: 40px;
	border-bottom: dotted 1px #8D8D8E;
}
.line-b {
	padding-bottom: 15px;
	border-bottom: dotted 1px #8D8D8E;
}

/* 上下破線 */
.line-tb {
	padding-top: 20px;
	padding-bottom: 20px;
	border-top: dotted 1px #8D8D8E;
	border-bottom: dotted 1px #8D8D8E;
}


/* 実線囲み */
.lineBox {
	padding: 20px 25px;
	border: solid 1px #C4C3BE;
}

/* 実線囲み(太い) */
.thicklineBox {
	padding: 20px 18px;
	border: solid 5px #F3F3F3;
}
/* オレンジ実線囲み(太い) */
.thicklineBox_orange {
	padding: 25px;
	border: solid 5px #CC4B1F;
}
/* ドット線囲み */
.dotlineBox {
	padding: 20px 25px;
	border: dotted 1px #C4C3BE;
}

/* []風な囲み */
.kakkoBox {
	padding: 25px;
	position: relative;
}
.kakkoBox::before,
.kakkoBox::after {
	content: "";
	width: 50px;
	position: absolute;
	top: 0;
	bottom: 0;
	border-top: solid 5px #CC4B1F;
	border-bottom: solid 5px #CC4B1F;
}
.kakkoBox::before{
	left: 0;
	border-left: solid 5px #CC4B1F;
}
.kakkoBox::after{
	right: 0;
	border-right: solid 5px #CC4B1F;
}

/* inline 囲み */
span.line-bk {
	line-height: 1.2;
	display: inline-block;
	padding: 2px 4px;
	border: solid 1px #000;
}

/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	/* 下破線 */
	.line-a {
		padding-bottom: 30px;
	}
	/* 実線囲み */
	.lineBox,
	.thicklineBox,
	.thicklineBox_orange,
	.dotlineBox {
		padding: 15px;
	}
}

/* ------------------------------
 回転
------------------------------ */
span.roll-90 {
	display: inline-block;
	transform: rotate(-90deg);
}

/* ------------------------------
 アイコン
------------------------------ */
.icon-a {
	padding-left: 20px;
	background: url(../img/arrow01.png) no-repeat 0 .3em / 15px 12px;
}
/*電話アイコン*/
.icon-tel .telno {
    padding-left: 20px;
    background: url(../img/tel_icon.png) no-repeat 0 center / 15px auto;
}


/* ------------------------------
 リスト
------------------------------ */
.list ul li {
	margin-bottom: 3px;
	padding-left: 12px;
	position: relative;
}

.list ul li:before,
.sidelist ul li:before {
	content: "";
	margin: 0 5px 0 3px;
	width: 8px;
	height: 8px;
	background: #003366;
	border-radius: 100%;
	position: absolute;
	top: .5em;
	left: 0;
}

/* 横並びリスト */
.sidelist ul {
	display: flex;
	flex-flow: row wrap;
}
.sidelist ul li {
	margin-bottom: 3px;
	padding-left: 18px;
	margin-right: 13px;
	position: relative;
}
.sidelist.s ul li {
	font-size: 1.3rem;
}
/*
.sidelist ul {
	font-size: 0;
}
.sidelist ul li {
	font-size: 1.6rem;
	margin-bottom: 3px;
	padding-left: 1.2em;
	margin-right: 13px;
	position: relative;
	display: inline-block;
}
.sidelist.s ul li {
	font-size: 1.3rem;
}
*/

/* 1. 2. 3. … リスト */
ol {
	list-style-type: decimal;
	padding-left: 1.8em;
}

/* 青角装飾1. 2. 3. … リスト */
.decolist ol {
	list-style-type: none;
	padding-left: 2.4em;
}
.decolist ol li {
	line-height: 1.7;
	position: relative;
	counter-increment: number 1;
}
.decolist ol li:not(:last-child) {
	margin-bottom: 15px;
}
.decolist ol li::before {
	content: counter(number) " ";
	font-size: 1.5rem;
	font-weight: bold;
	color: #fff;
	width: 24px;
	height: 27px;
	line-height: 27px;
	text-align: center;
	background: url(../img/hexagon_icon.png) no-repeat 0 0 / 24px auto;
	position: absolute;
	top: 0;
	left: -2.4em;
}

@media all and (-ms-high-contrast:none){
	.decolist ol li::before {
		line-height: 23px;
		padding-top: 4px;
	}
}

/* チェックリスト */
.check-list li {
	position: relative;
	padding-left: 25px;
	line-height: 22px;
}
.check-list li:not(:last-child) {
	margin-bottom: 10px;
}
.check-list li::before {
	content: "";
	width: 15px;
	height: 15px;
	position: absolute;
	top: .3em;
	left: 0;
	background: url(../img/checklist_icon.png) no-repeat 0 0 / cover;
}
/* ------------------------------
 PC用 
------------------------------ */
@media print, screen and (min-width: 768px) {
	/* 3分割リスト */
	.div3 ul {
		display: flex;
		flex-flow: row wrap;
	}
	.div3 ul li {
		width: 390px;
	}
	.div3 ul li:not(:nth-child(3n)) {
		margin-right: 25px;
	}
}


/* ------------------------------
 リンクボタン
------------------------------ */
.btn a {
	min-width: 230px;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 23px;
	padding: 10px 26px;
	text-align: center;
	color: #333;
	border: 1px solid #333;
	border-radius: 3px;
	display: inline-block;
	-webkit-transition: 0.1s ease-in-out;
	-moz-transition: 0.1s ease-in-out;
	-o-transition: 0.1s ease-in-out;
	transition: 0.1s ease-in-out;
}
.btn a span {
	padding-left: 22px;
	background: url(../img/arrow01.png) no-repeat 0 .3em / 15px 12px;
}
.btn a:hover {
	background: #ddd;
	text-decoration: none;
}
.btn .cms_pdf + a,
.btn a + .cms_pdf {
	margin-left: 20px;
}

/* 青線ボタン */
.btn.blue-line a {
	min-width: 274px;
	color: #003366;
	border: 1px solid #003366;
	padding: 15px 20px;
}
/* 下矢印アイコン*/
.btn.icon-arrow-b a::before {
	content: "";
	width: 0;
	height: 0;
	border: solid 5px transparent;
	border-top-color: #003366;
	display: inline-block;
	vertical-align: middle;
	margin-top: 5px;
	margin-right: 10px;
}

/* オレンジボタン */
.btn-a a {
	min-width: 310px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.3;
	padding: 20px 20px;
	text-align: center;
	color: #fff;
	border-radius: 3px;
	background: #CC4B1F;
	display: inline-block;
	-webkit-transition: 0.1s ease-in-out;
	-moz-transition: 0.1s ease-in-out;
	-o-transition: 0.1s ease-in-out;
	transition: 0.1s ease-in-out;
}
.btn-a.small a {
	min-width: 232px;
	font-size: 1.5rem;
	line-height: 25px;
	padding: 10px 26px;
}
.btn-a p.cms_pdf {
	padding-left: 0;
	margin-left: 0;
	background: none;
}
.btn-a.f24 a {
	font-size: 2.4rem;
}
.btn.big a {
	min-width: 390px;
	padding: 20px;
	font-size: 2rem;
}
.btn-narrow a {
	padding: 10px 26px;
	min-width: 310px !important;
}
.btn-a.blue a {
	background: #003366;
}
.btn-a a:hover {
	opacity: .7;
}
.btn-a a span {
	padding-left: 22px;
	background: url(../img/arrow02.png) no-repeat 0 .3em / 15px 12px;
}
.inq a span {
	background: url(../img/mail_icon.png) no-repeat 0 .3em / 18px auto;
}
.phone a span {
	background: url(../img/tel_icon_w.png) no-repeat 0 center / 18px auto;
}
.btn-a a:hover {
	text-decoration: none;
}

/* 横並びボタン */
.btnList a {
	margin: 0 20px;
}
.btnList a:first-child {
	margin-left: 0;
}
.btnList a:last-child {
	margin-right: 0;
}

/* 横並び3分割ボタン */
.btn3List ul {
	display: flex;
	flex-flow: row wrap;
}
.btn3List li {
	width: 390px;
	display: flex;
}
.btn3List li:not(:nth-child(3n)) {
	margin-right: 25px;
}
.btn3List li a {
	/* display: flex; */
	width: 100%;
	justify-content: center;
	align-items: center;
	padding: 20px 15px;
}


/* ページ内リンクボタン */
.pageIn a {
	line-height: 1.5;
	padding: 20px 20px 10px !important;
	min-width: 390px !important;
}
.pageIn a::after {
	font-family: 'FontAwesome';
	font-size: 2rem;
	line-height: 1;
	content: '\f107';
	display: block;
}
.pageIn a span {
	padding-left: 0;
	background: none;
}
.pageIn ul {
	font-size: 0;
}
.pageIn li,
.pageIn li a {
	font-size: 1.6rem;
	display: inline-block;
}
.pageIn li:not(:nth-child(3n)) {
	margin-right: 25px;
}


/* -- 画像とボタン -- */
.btn_img a {
	width: 502px;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
	display: table;
	margin: auto;
	overflow: hidden;
	background: url(../img/arrow01_white.png) no-repeat bottom 12px right 14px / 14px auto;
}
.btn_img a div {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}
.btn_img a .imgBox {
	background: #fff;
}
.btn_img a .imgBox img {
	width: 100%;
	-webkit-backface-visibility: hidden;
}
.btn_img a .infoBox {
	width: 251px;
	padding: 15px;
}
.btn_img a div p {
	font-size: 1.8rem;
}
/* オレンジ- */
.btn_img.orange a {
	border: solid 1px #E56638;
	background-color: #E56638;
}

/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.btn a {
		min-width: 240px;
		font-size: 1.5rem;
		padding: 10px 20px;
	}
	.btn .cms_pdf + a,
	.btn a + .cms_pdf {
		margin-top: 3px;
		margin-left: 0;
	}
	.btn a span {
		background-position: 0 .15em
	}
	
	.btn-a a {
		min-width: 250px;
		font-size: 1.6rem;
	}
	.btn.big a {
		min-width: 280px;
		padding: 15px;
		font-size: 1.8rem;
	}
	.btn-a.small a {
		min-width: 242px;
		padding: 10px 20px;
	}
	.btn-a.f24 a {
		font-size: 1.8rem;
	}
	.btn-narrow a {
	padding: 10px 20px;
	min-width: 250px !important;
	}
	.btn-a a span {
		padding-left: 18px;
		background: url(../img/arrow02.png) no-repeat 0 .3em / 12px 10px;
	}
	.inq a span {
		padding-left: 20px;
		background: url(../img/mail_icon.png) no-repeat 0 .3em / 15px auto;
	}
	.phone a span {
		background: url(../img/tel_icon_w.png) no-repeat 0 center / 15px auto;
	}
	
	/* 横並びボタン */
	.btnList a {
		margin: 5px 5px;
	}
	
	/* 横並び3分割ボタン */
	.btn3List li {
		width: 100%;
	}
	.btn3List li:not(:nth-child(3n)) {
		margin-right: 0;
	}
	.btn3List li:not(:last-child) {
		margin-bottom: 5px;
	}
	.btn3List li a {
		display: block;
	}
	
	/* ページ内リンクボタン */
	.pageIn a {
		min-width: 280px !important;
		width: 100%;
	}
	.pageIn a span {
		padding-left: 0;
		background: none;
	}
	.pageIn li,
	.pageIn li a {
		font-size: 1.5rem;
		display: block;
	}
	.pageIn li:not(:nth-child(3n)) {
		margin-right: 0;
		margin-bottom: 10px;
	}
	
	/* -- 画像とボタン -- */
	.btn_img a {
		width: 100%;
		display: block;
	}
	.btn_img a div {
		display: block;
	}
	.btn_img a .infoBox {
		width: 100%;
	}
	
}

/* ------------------------------
 テーブル
------------------------------ */
.contents table {
	width: 100%;
	border-collapse: separate;
	border-left: dotted 1px #A9ACAD;
	border-top: dotted 1px #A9ACAD;
}
.cms_text p + table,
.contents table + p {
	margin-top: 15px;
}

/* デフォルト */
table th {
	padding: 10px 15px;
	border-right: dotted 1px #A9ACAD;
	border-bottom: dotted 1px #A9ACAD;
	background: #FBFBFB;
	text-align: left;
}
table td {
	padding: 10px 15px;
	vertical-align: top;
	border-right: dotted 1px #A9ACAD;
	border-bottom: dotted 1px #A9ACAD;
}
table td .telno {
	font-size: 2rem;
	font-weight: bold;
	color: #003366;
	padding-left: 20px;
	background: url(../img/tel_icon.png) no-repeat 0 center / 15px auto;
}
.cms_text.collapse {
	overflow: visible;
}
.collapse table {
	border-collapse: collapse;
}
.collapse table tr.stand {
	border: solid 2px #EF8337;
}
/*
table tr.stand:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border: solid 2px #EF8337;
}
*/
/* デフォルト カスタム */
.height table th {
	height: 55px;
	padding-top: 8px;
	padding-bottom: 8px;
	vertical-align: middle;
}
.height table td {
	height: 55px;
	padding-top: 8px;
	padding-bottom: 8px;
	vertical-align: middle;
}

/* デフォルト 背景交互 */
.border table th {
	background: #e6e6e6;
}
.border table tr:nth-child(even) {
	background: #FBFBFB;
}

/* 線無テーブル */
.contents .noline table {
	border-left: none;
	border-top: none;
}
.noline table th {
	padding: 3px 0;
	border-right: none;
	border-bottom: none;
	background: none;
}
.noline table td {
	padding: 3px 0;
	border-right: none;
	border-bottom: none;
}


/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.twoTb div +  div table,
	.nobt table {
		border-top: none;
	}
	
	table th {
		padding: 10px;
	}
	table td {
		padding: 10px;
	}
	
	/* デフォルト カスタム */
	.height table th {
		height: auto;
	}
	.height table td {
		height: auto;
	}
	/* デフォルト */
	.res th {
		width: 100% !important;
		display: block;
		padding: 10px 15px;
	}
	.res td {
		width: 100% !important;
		display: block;
		padding: 10px 15px;
	}
}



/* toggle_text.jsに付随するクラス */
.toggleBox {
	display: none;
}
.open_close span {
	width: 150px;
	font-size: 1.3rem;
	font-weight: bold;
	color: #fff;
	text-align: center;
	line-height: 17px;
	padding: 5px 5px 5px 20px;
	margin: 5px auto 0;
	background: #003366;
}
.open_close.is-open .toggleMenuText-close {
	display: none;
}
.open_close:not(.is-open) .toggleMenuText-close {
	display: block;
	background: #003366 url(../img/arrow03.png) no-repeat 10% center / 19px auto;
}
.open_close.is-open .toggleMenuText-open {
	display: block;
	background: #003366 url(../img/arrow04.png) no-repeat 10% center / 19px auto;
}
.open_close:not(.is-open) .toggleMenuText-open {
	display: none;
}

@media screen and (min-width: 768px) {
	.toggleBox {
		display: block !important;
	}
}