@charset "utf-8";

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

        CommonElements

======================================= */
body {
	font-size: 14px;
	line-height: 1.8;
	color: #000;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
}

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

.mincyo{
	font-family: 'Noto Serif JP', serif;
}

.mplus {
	font-family: 'M PLUS 1p', sans-serif;
}

.sp_none {
	display: none;
}

.clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.clearfix { display: block; }

.cmn960,
.cmn1200,
.cmn1400 {
	width: 100%;
	padding: 0 5.3333333%;
}




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

        CommonElements（下層）

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

.page_ttl {
	width: 100%;
	padding: 67px 0 0 0;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	background: url("../img/cmn/page_mainvbg.jpg") no-repeat center center / cover;
	height: 300px;
}

.page_ttl .title {
	color: #000;
	display: flex;
	align-items: center;
	font-size: 24px;
	height: 60px;
	background: rgba(255,255,255,0.62);
	padding: 0 20px;
}

.text_orange {
	color: #EC6800;
}

/* パンくず */
#breadcrumb {
	background: #EEF4FA;
	padding: 5px 0;
}

#breadcrumb li {
	color: #144C84;
	font-size: 13px;
	display: inline;
	position: relative;
}

#breadcrumb li + li {
	padding-left: 2.5em;
}

#breadcrumb li + li:after {
	content: '>';
	position: absolute;
	left: 1em;
	top: 50%;
	transform: translateY(-50%);
	color: #6C6C6C;
}

#breadcrumb li a {
	color: #6C6C6C;
}

#content {
	padding-bottom: 50px;
} 

/* コンテンツ(共通パーツ)
--------------------------------------------*/

/* 外部js用 */


/* コンテンツ */
.inbox {
	width: 100%;
	margin: 0 auto;
	padding: 0 10px;
	box-sizing: border-box;
}

.inbox section {
	margin: 50px 0 0;
}

/* table  */
.cmn_table dl {
	position: relative;
	border-bottom: 1px solid #ddd;
}

.cmn_table dl:first-child {
	border-top: 1px solid #ddd;
}

.cmn_table dl dt,
.cmn_table dl dd {
	vertical-align: top;
	display: table-cell;
	box-sizing: border-box;
	width: auto;
	display: block;
}

.cmn_table dl dt {
	color: #222;
	text-align: left;
	padding: 15px 20px;
	background-color: #f5f2ed;
}

.cmn_table dl dd {
	padding: 15px 25px;
}

/* price */
.tabale_scroll {
	overflow-x: auto;
}

.tabale_scroll table {
	width: 100%;
    border-collapse: collapse;
    white-space: nowrap;
	margin: 0 0 35px 0;
}

table.price caption {
	font-size: 12px;
	margin: 0 0 15px 0;
}

table.price th,
table.price td {
	font-size: 12px;
	padding: 5px 10px;
    line-height: 2.5;
}

table.price th:nth-child(1),
table.price td:nth-child(1) {
	width: 24%;
}

table.price1 {
	width: 100%;
}

table.price1 th {
	background: #DAE8F6;
	font-weight: bold;
}

table.price1 th:nth-child(n+3),
table.price1 td:nth-child(n+3) {
	text-align: center;
}

table.price1 tbody tr:nth-child(even) td {
	background: #fff;
}


table.price3 tbody tr:nth-child(odd) td {
	background: #fff;
}

table.price3 td:nth-child(n+2) {
	width: 38%;
}

table.price3 td:nth-child(3) {
	text-align: right;
}

/* list */
ul.check_img {

}

ul.check_img li {
	position: relative;
	line-height: 2.83333;
	padding: 0 0 0 48px;
	font-size: 16px;
}

ul.check_img li::before {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: url("../img/cmn/icon_check.png")no-repeat center center / contain;
	width: 26px;
	height: 26px;
	margin: 0 0 0 -36px;
}

ul.price li {
	line-height: 2;
	font-size: 12px;
}

ul.area {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 20px 0;
}

ul.area li {
	border-radius: 6px;
	line-height: 1;
	background: #EFF2F6;
	font-size: 12px;
	padding: 10px 10px;
	margin: 0 10px 10px 0;
}

dl.qa {
	border-bottom: 1px solid #888;
	margin: 15px 0 15px 0;
}

dl.qa dt {
	position: relative;
	font-size: 12px;
	padding: 5px 35px 5px 30px;
	margin: 15px 0 15px 0;
}

dl.qa dt::before {
	content: "";
	position: absolute;
	top: 9px;
	left: 0;
	background: url("../img/cmn/icon_q.png")no-repeat center center / cover;
	width: 20px;
	height: 14px;
}

dl.qa dt::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	background: url("../img/cmn/icon_plus1.png")no-repeat center center / cover;
	width: 22px;
	height: 22px;
}

dl.qa dt.active::after {
	background: url("../img/cmn/icon_minus1.png")no-repeat center center / cover;
}

dl.qa dd {
	font-size: 12px;
	margin: 15px 0 15px 0;
}

/* accordion */
.acc_btn {
	cursor: pointer;
}

.acc_body {

}

/* head */
.head_top {
	text-align: center;
	z-index: 2;
}

.head_top .ja {
	position: relative;
	display: block;
	line-height: 1.5;
	font-size: 24px;
}

.head_top .ja::after {
	content: "";
	position: absolute;
	bottom: -20px;
	left: 50%;
	transform: translateX(-50%);
	background: #144C84;
	width: 186px;
	height: 3px;
}

.head_area {
	position: relative;
	color: #144C84;
	font-size: 16px;
	padding: 10px 0 10px 10px;
	margin: 0 0 10px 0;
}

.head_area::before {
	content: "-";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}

.head_area::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	background: url("../img/cmn/icon_plus2.png")no-repeat center center / cover;
	width: 22px;
	height: 22px;
}

.head_area.active::after {
	background: url("../img/cmn/icon_minus2.png")no-repeat center center / cover;
}

.head_page {
	margin: 0 0 50px 0;
}

.head_page_cmn {
	text-align: center;
	line-height: 1.3;
}

.head_page_cmn span {
	line-height: 1.3;
	color: #144C84;
	font-size: 18px;
}

.head_page_cmn2 {
	position: relative;
	text-align: center;
	padding: 40px 0 10px 0;
}

.head_page_cmn2::after {
	content: "";
	position: absolute;
	bottom: 0px;
	left: 50%;
	transform: translateX(-50%);
	background: #144C84;
	width: 186px;
	height: 5px;
}

.head_page_cmn2 .ja {
	display: block;
	line-height: 1;
	color: #144C84;
	font-size: 24px;
}

.head_page_cmn2 .en {
	display: block;
	line-height: 1;
	font-size: 12px;
	margin: 10px 0 10px 0;
}

/* btn */
.btn {
	position: relative;
}

.btn.btn_cmn {
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #144C84;
	color: #144C84;
	width: calc(100% - 20px);
	height: 52px;
	font-size: 18px;
}

.btn.btn_cmn::after {
	content: "";
	position: absolute;
	right: 0;
	top: calc(50% + 1px);
	background: #144C84;
	width: 40px;
	height: 2px;
	margin: 0 -20px 0 0;
}

.btn.btn_cmn:hover {
	animation-name:btnCmnAnime;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
	color: #fff;
}

/* card */
.card_wrap {

}

.card {

}

/* card_reason_top */
.card_wrap_reason_top {

}

.card_reason_top {
	margin: 0 0 40px 0;
}

.card_reason_top .card_title {
	color: #144C84;
	line-height: 1.3;
	font-weight: bold;
	font-size: 22px;
	margin: 15px 0;
}

.card_reason_top .card_text {
	line-height: 2;
	font-size: 12px;
}

/* card_reason_bottom */
.card_wrap_reason_bottom {
	margin: 0px 0 0 0;
}

.card_reason_bottom {
	position: relative;
	background: #fff;
	padding: 25px 20px;
	margin: 0 0 35px 0;
}

.card_reason_bottom::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	background: url("../img/top/person.png")no-repeat center center / contain;
	width: 101px;
	height: 150px;
	margin: 0 0 20px 20px;
}

.card_reason_bottom .card_img {

}

.card_reason_bottom .card_img img {
	width: 100%;
}

.card_reason_bottom .card_body {
	padding: 0 0px 30px 0;
}

.card_reason_bottom .card_title {
	position: relative;
	color: #144C84;
	font-weight: bold;
	line-height: 1.25;
	font-size: 36px;
	padding: 0 0 15px 0px;
}

.card_reason_bottom .card_text {
	line-height: 2;
	font-size: 12px;
}

/* price */
.card_wrap_price {
	width: 100%;
	padding: 0 30px;
}

.card_price {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	background: #E2E9F3;
	width: 100%;
	margin: 0 0px 24px 0px;
	padding: 10px 15px;
}

.card_price .card_body {
	margin: auto 0 0 0;
}

.card_price .card_title {
	text-align: center;
	color: #144C84;
	line-height: 1.25;
	font-size: 24px;
	margin: 10px 0 10px 0;
}

.card_price .card_text {
	text-align: center;
	line-height: 1;
	font-size: 24px;
}

.card_price .card_text strong {
	font-size: 56px;
}

/* works */
.card_wrap_works {

}

.card_wrap_works > a {

}

.card_works {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	margin: 0 0 50px 0;
}

.card_works::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	background: #144C84;
	height: 100%;
	width: 2px;
	margin: 0 0 0 25px;
}

.card_works .card_img img {
	width: 100%;
	object-fit: cover;
}

.card_works .card_body {
	padding: 0 0 0 50px;
}

.card_works .card_title {
	line-height: 1.25;
	font-size: 14px;
	margin: 20px 0 10px 0;
	overflow-wrap: break-word;
}

.card_works .card_text {
	line-height: 1.25;
	font-size: 14px;
	overflow-wrap: break-word;
}

/* card_news */
.card_wrap_news {

}

.card_wrap_news > a:nth-child(n+4) {
	display: none;
}

.card_news {
	position: relative;
}

.card_news .card_img img {
	width: 100%;
}

.card_news .card_body {

}

.card_news time {
	display: block;
	line-height: 1;
	font-size: 12px;
	margin: 15px 0 0 0;
}

.card_news .card_title {
	position: relative;
	line-height: 1;
	font-size: 18px;
	margin: 15px 0 15px 0;
}

.card_news .card_text {
	line-height: 1.5;
	font-size: 14px;
	margin: 0px 0 30px 0;
}

/* card_type */
.card_type {
	margin: 0 0 40px 0;
}

.card_type .card_title {
	color: #144C84;
	line-height: 1.3;
	font-weight: bold;
	font-size: 20px;
	margin: 10px 0;
}

.card_type .card_text {
	line-height: 2;
	font-size: 12px;
}

/* banner */
#sec_banner {
	background: url(../img/cmn/banner_bg_sp.jpg) no-repeat top center / cover;
	padding: 50px 0 260px 0;
}

#sec_banner .head_banner {
	text-align: center;
	color: #fff;
	font-weight: bold;
	font-size: 26px;
}

#sec_banner .head_banner span {
	color: #F7F38A;
}

#sec_banner .banner_btn {
	margin: 25px 0 0px 0;
}

#sec_banner .banner_btn ul {
	width: 100%;
	padding: 0 0px;
}

#sec_banner .banner_btn ul li {
	border-radius: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 94px;
	margin: 0 0 45px 0;
	box-shadow: 0 3px 6px rgba(0,0,0,0.3);
}

#sec_banner .banner_btn ul li.line {
	background: #4CAF50;
}

#sec_banner .banner_btn ul li img {
	width: 55px;
}

#sec_banner .banner_btn ul li.tel {
	background: #EC6800;
}

#sec_banner .banner_btn ul li.mail {
	background: #fff;
}

#sec_banner .banner_btn ul li a {
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	color: #fff;
	font-size: 22px;
	width: 100%;
    height: 100%;
}

#sec_banner .banner_btn ul li.tel a {
	font-size: 30px;
}

#sec_banner .banner_btn ul li.mail a {
	color: #306CA9;
}

#sec_banner .banner_btn ul li a .text {
	padding: 0 0 0 15px;
}

#sec_banner .info p {
	text-align: center;
	color: #fff;
	font-weight: bold;
	font-size: 14px;
}

/*flow
--------------------------------------------*/
#sec_flow .text {
	line-height: 2;
	text-align: center;
	font-size: 12px;
}

#sec_flow .flow_wrap {
	position: relative;
	margin: 40px 0 0 0px;
}

#sec_flow .flow_wrap::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 1px;
	height: 100%;
	background: #BCBCBC;
	margin: 0 0 0 20px;
}

#sec_flow .flow {
	position: relative;
	padding: 25px 0 0 0px;
	margin: 0px 0 0 0;
}

#sec_flow .flow:last-child {
	padding: 25px 0 15px 0px;
}

#sec_flow .flow .flow_num {
	position: absolute;
	left: 0;
	top: 0;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0D5072;
	color: #fff;
	font-weight: bold;
	width: 42px;
	height: 42px;
	font-size: 24px;
	margin: 60px 0 0 0;
}

#sec_flow .flow .flow_body {

}

#sec_flow .flow .flow_title {
	color: #0D5072;
	border-bottom: 1px solid #0D5072;
	font-size: 20px;
	padding: 10px 0 10px 50px;
}

#sec_flow .flow .flow_text {
	line-height: 2;
	font-size: 12px;
	padding: 0 0 0 50px;
	margin: 10px 0 0 0;
}

/*map */
.map {
	width: 100%;
}

.map iframe {
	width: 100%;
	height: 255px;
}

/*404ページ
--------------------------------------------*/
#not_found {
	width: 100%;
}

#not_found .midashi_02 {
	margin: 0 0 30px;
}

#not_found p {
	text-align: center;
}

#not_found .found_map {
	text-align: center;
	margin: 30px 0 0;
}
