@charset 'UTF-8';


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

	テーブルレイアウト

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

/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {

	.table_left,
	.table_left2 {
		margin-right: 20px;
	}
	.table_right,
	.table_right2 {
		margin-left: 20px;
	}

}




/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {

	.table_left {
	}
	.table_left2 {
		margin-top: 8vw;
	}
	.table_right {
	}
	.table_right2 {
		margin-top: 8vw;
	}

}




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

	ピックアップ

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

/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.pickup_table01 {
	}
	.pickup_table01 table {
		width: 100%;
	}
	.pickup_table01 tr {
		border-bottom: 1px solid #eeeeee;
	}
	.pickup_table01 th {
		width: 70% !important;
		font-size: 24px;
		font-weight: normal;
		text-align: left;
		padding: 8px;
	}
	.pickup_table01 td {
		width: 30% !important;
		font-size: 24px;
		font-weight: normal;
		text-align: right;
		padding: 8px;
	}

	.pickup_table01 tr.exp_tr {
		border-bottom: none;
	}
	.pickup_table01 tr.exp_tr td {
		font-size: 14px;
		color: #777777;
		text-align: left;
		padding: 8px;
	}
}



/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.pickup_table01 {
	}
	.pickup_table01 table {
		width: 100%;
	}
	.pickup_table01 tr {
		border-bottom: 1px solid #eeeeee;
	}
	.pickup_table01 th {
		width: 60% !important;
		font-size: 3.5vw;
		font-weight: normal;
		text-align: left;
		padding: 2vw;
	}
	.pickup_table01 td {
		width: 40% !important;
		font-size: 3.5vw;
		font-weight: normal;
		text-align: right;
		padding: 2vw;
	}

	.pickup_table01 tr.exp_tr {
		border-bottom: none;
	}
	.pickup_table01 tr.exp_tr td {
		font-size: 3.0vw;
		color: #777777;
		text-align: left;
		padding: 2vw;
	}
}




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

	テーブル①(項目名+価格)

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

/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.menu_table01 {
	}
	.menu_table01 table {
		width: 100%;
	}
	.menu_table01 tr {
		border-bottom: 1px solid #eeeeee;
	}
	.menu_table01 th {
		width: 65% !important;
		font-size: 16px;
		font-weight: normal;
		text-align: left;
		padding: 8px;
	}
	.menu_table01 td {
		width: 35% !important;
		font-size: 16px;
		font-weight: normal;
		text-align: right;
		padding: 8px;
	}
}



/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.menu_table01 {
	}
	.menu_table01 table {
		width: 100%;
	}
	.menu_table01 tr {
		border-bottom: 1px solid #eeeeee;
	}
	.menu_table01 th {
		width: 65% !important;
		font-size: 3.5vw;
		font-weight: normal;
		text-align: left;
		padding: 2vw;
	}
	.menu_table01 td {
		width: 35% !important;
		font-size: 3.5vw;
		font-weight: normal;
		text-align: right;
		padding: 2vw;
	}
}




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

	テーブル②(項目名+サブ文章+価格)

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

/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.menu_table02 {
	}
	.menu_table02 table {
		width: 100%;
		border-bottom: 1px solid #eeeeee;
	}
	.menu_table02 tr {
	}
	.menu_table02 tr:not(.exp_tr) {
		border-top: 1px solid #eeeeee;
	}
	.menu_table02 tr:not(.exp_tr):first-of-type {
		border-top: none;
	}
	.menu_table02 th {
		width: 65% !important;
		font-size: 16px;
		font-weight: normal;
		text-align: left;
		padding: 8px;
	}
	.menu_table02 td {
		width: 35% !important;
		font-size: 16px;
		font-weight: normal;
		text-align: right;
		padding: 8px;
	}
	.menu_table02 tr.exp_tr td {
		font-size: 12px;
		color: #777777;
		text-align: left;
		padding: 0 8px 8px 8px;
	}
}



/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.menu_table02 {
	}
	.menu_table02 table {
		width: 100%;
		border-bottom: 1px solid #eeeeee;
	}
	.menu_table02 tr {
	}
	.menu_table02 tr:not(.exp_tr) {
		border-top: 1px solid #eeeeee;
	}
	.menu_table02 tr:not(.exp_tr):first-of-type {
		border-top: none;
	}
	.menu_table02 th {
		width: 65% !important;
		font-size: 3.5vw;
		font-weight: normal;
		text-align: left;
		padding: 2vw;
	}
	.menu_table02 td {
		width: 35% !important;
		font-size: 3.5vw;
		font-weight: normal;
		text-align: right;
		padding: 2vw;
	}
	.menu_table02 tr.exp_tr td {
		font-size: 3.0vw;
		color: #777777;
		text-align: left;
		padding: 0 2vw 2vw 2vw;
	}
}




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

	テーブル③(項目名+ALL価格+各項目名)

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

/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.menu_table03 {
	}
	.menu_table03 table {
		width: 100%;
		border-bottom: 1px solid #eeeeee;
	}
	.menu_table03 tr {
	}
	.menu_table03 th {
		width: 65% !important;
		font-size: 16px;
		font-weight: normal;
		text-align: left;
		padding: 8px 8px 0 8px;
	}
	.menu_table03 td {
		width: 35% !important;
		font-size: 16px;
		font-weight: normal;
		text-align: right;
		padding: 8px;
	}
	.menu_table03 tr.exp_tr td {
		font-size: 14px;
		color: #777777;
		text-align: left;
		padding: 0 8px 4px 24px;
	}
	.menu_table03 tr.exp_tr:last-of-type td {
		padding: 0 8px 8px 24px;
	}
}



/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.menu_table03 {
	}
	.menu_table03 table {
		width: 100%;
		border-bottom: 1px solid #eeeeee;
	}
	.menu_table03 tr {
	}
	.menu_table03 th {
		width: 65% !important;
		font-size: 3.5vw;
		font-weight: normal;
		text-align: left;
		padding: 2vw 2vw 0 2vw;
	}
	.menu_table03 td {
		width: 35% !important;
		font-size: 3.5vw;
		font-weight: normal;
		text-align: right;
		padding: 2vw;
	}
	.menu_table03 tr.exp_tr td {
		font-size: 3.0vw;
		color: #777777;
		text-align: left;
		padding: 0 2vw 1vw 4vw;
	}
	.menu_table03 tr.exp_tr:last-of-type td {
		padding: 0 2vw 3vw 4vw;
	}
}




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

	テーブル④(種別名+各項目+価格)

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

/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.menu_table04 {
	}
	.menu_table04 table {
		width: 100%;
	}
	.menu_table04 tr.title_tr th {
		font-size:20px;
		text-align: left;
		padding: 0 8px 8px 8px;
	}

	.menu_table04 tr {
	}
	.menu_table04 tr:last-of-type {
		border-bottom: 1px solid #eeeeee;
	}

	.menu_table04 th {
		width: 65% !important;
		font-size: 16px;
		font-weight: normal;
		text-align: left;
		padding: 4px 8px 4px 24px;
	}
	.menu_table04 tr:last-of-type th {
		padding: 4px 8px 8px 24px;
	}

	.menu_table04 td {
		width: 35% !important;
		font-size: 16px;
		font-weight: normal;
		text-align: right;
		padding: 4px 8px 4px 8px;
	}
	.menu_table04 tr:last-of-type td {
		padding: 4px 8px 8px 8px;
	}
}



/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.menu_table04 {
	}
	.menu_table04 table {
		width: 100%;
	}
	.menu_table04 tr.title_tr th {
		font-size: 4vw;
		text-align: left;
		padding: 0 2vw 2vw 2vw;
	}

	.menu_table04 tr {
	}
	.menu_table04 tr:last-of-type {
		border-bottom: 1px solid #eeeeee;
	}

	.menu_table04 th {
		width: 65% !important;
		font-size: 3.5vw;
		font-weight: normal;
		text-align: left;
		padding: 1vw 2vw 1vw 4vw;
	}

	.menu_table04 td {
		width: 35% !important;
		font-size: 3.5vw;
		font-weight: normal;
		text-align: right;
		padding: 1vw 2vw 1vw 2vw;
	}
	.menu_table04 tr:last-of-type td {
		padding: 1vw 2vw 3vw 2vw;
	}
}




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

	アクセス①(2カラム)

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

/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.access_table01 {
	}
	.access_table01 table {
		width: 100%;
	}
	.access_table01 tr {
		border-bottom: 1px solid #eeeeee;
	}
	.access_table01 th {
		width: 20% !important;
		font-size: 16px;
		text-align: left;
		padding: 8px;
	}
	.access_table01 td {
		width: 80% !important;
		font-size: 16px;
		font-weight: normal;
		text-align: left;
		padding: 8px;
	}
}



/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.access_table01 {
	}
	.access_table01 table {
		width: 100%;
	}
	.access_table01 tr {
		border-bottom: 1px solid #eeeeee;
	}
	.access_table01 th {
		width: 30% !important;
		font-size: 3.5vw;
		text-align: left;
		padding: 2vw;
	}
	.access_table01 td {
		width: 70% !important;
		font-size: 3.5vw;
		font-weight: normal;
		text-align: left;
		padding: 2vw;
	}
}




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

	アクセス②(1カラム)

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

/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.access_table02 {
	}
	.access_table02 table {
		width: 100%;
	}
	.access_table02 tr {
		border-bottom: 1px solid #eeeeee;
	}
	.access_table02 th {
		width: 20% !important;
		font-size: 16px;
		text-align: left;
		padding: 16px;
	}
	.access_table02 td {
		width: 80% !important;
		font-size: 16px;
		font-weight: normal;
		text-align: left;
		padding: 16px 16px 16px 0;
	}
}



/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.access_table02 {
	}
	.access_table02 table {
		width: 100%;
	}
	.access_table02 tr {
		border-bottom: 1px solid #eeeeee;
	}
	.access_table02 th {
		width: 34% !important;
		font-size: 3.2vw;
		text-align: left;
		padding: 2vw;
	}
	.access_table02 td {
		width: 66% !important;
		font-size: 3.2vw;
		font-weight: normal;
		text-align: left;
		padding: 2vw 2vw 2vw 0;
	}
}




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

	Q&A

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

/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {

	/* Q.質問内容 */
	.q_text {
		position: relative;
		font-size: 18px;
		background-color: #7DBDFD;
		color: #ffffff;
		padding: 20px 30px 20px 67px;
	}
	.q_text::before {
		position: absolute;
		content: "Q.";
		display: block;
		left: 30px;
		top: 0.9em;
		font-size: 20px;
		font-weight: bold;
	}


	/* A.回答内容 */
	.a_text {
		position: relative;
		font-size: 18px;
		padding: 20px 30px 0 67px;
	}
	.a_text::before {
		position: absolute;
		content: "A.";
		display: block;
		left: 33px;
		top: 0.9em;
		font-size: 20px;
		font-weight: bold;
        color:#7DBDFD;
	}
}



/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {

	/* Q.質問内容 */
	.q_text {
		position: relative;
		font-size: 4vw;
		background-color: #7DBDFD;
		color: #ffffff;
		padding: 3vw 4vw 3vw 10vw;
	}
	.q_text::before {
		position: absolute;
		content: "Q.";
		display: block;
		left: 3vw;
		top: 0.35em;
		font-size: 5vw;
		font-weight: bold;
	}


	/* A.回答内容 */
	.a_text {
		position: relative;
		font-size: 4vw;
		padding: 3vw 4vw 0 10vw;
	}
	.a_text::before {
		position: absolute;
		content: "A.";
		display: block;
		left: 3.1vw;
		top: 0.35em;
		font-size: 5vw;
		font-weight: bold;
        color:#7DBDFD;
	}
}

/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.company {
		margin: 0 auto;
	}
	.company__wrap {
		margin: 40px auto;
	}
	.company__logo {
		display: flex;
		vertical-align: middle;
	}
	.company__logo01 {
		width: auto;
		height: auto;
	}
	.company__logo02 {
		width: auto;
		height: auto;
		object-fit: contain;
		margin-left: 30px;
	}
	.company_caption {
		line-height: 1.7;
		margin: 20px auto;
	}
	.company__img img {
		width: 550px;
		height: 340px;
		object-fit: cover;
	}
	.company__link {
		margin: 20px auto;
	}
	.company__link a {
		margin: 0 22px;
		color: #222222;
		font-size: 20px;
		font-weight: 600;
		position: relative;
	}
	.arrow::before {
		content: '';
		width: 10px;
		height: 10px;
		border-top: solid 2px #203864;
		border-right: solid 2px #203864;
		position: absolute;
		left: -22px;
		top: 4px;
	}
	.arrow.arrow-right::before {
		transform: rotate(45deg);
	}
	.company__block {
		margin: 40px auto;
	}
	.company__block tr {
		border-top: dotted 1px #333;
	}
	.company__block th {
		background-color: #eeeeee;
		padding: 8px 0 16px;
		width: 280px;
		font-weight: normal;
	}
	.company__block td {
		padding: 8px 0 16px 16px;
	}
	.ad__wrap {
		margin: 20px 20px 20px 0;
	}
	.ad__wrap span {
		font-weight: 600;
		color: #203864;
	}
	.ad__map {
		margin-top: 20px;
	}
	.gmap iframe {
		width: 600px;
		height: 450px;
	}
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.company {
		margin: 0 auto;
	}
	.company__wrap {
		margin: 10vw auto;
	}
	.company__logo {
		display: flex;
		vertical-align: middle;
	}
	.company__logo01 {
		width: 20vw;
		height: auto;
	}
	.company__logo02 {
		width: 30vw;
		height: auto;
		object-fit: contain;
		margin-left: 5vw;
	}
	.company_caption {
		line-height: 1.7;
		margin: 5vw auto;
	}
	.company__img img {
		width: 100%;
		height: 50vw;
		object-fit: cover;
	}
	.company__link {
		margin: 5vw auto;
	}
	.company__link a {
		margin: 5vw 5vw;
		color: #222222;
		font-size: 4.5vw;
		font-weight: 600;
		position: relative;
		display: block;
	}
	.arrow::before {
		content: '';
		width: 3vw;
		height: 3vw;
		border-top: solid 2px #203864;
		border-right: solid 2px #203864;
		position: absolute;
		left: -6vw;
		top: 1.5vw;
	}
	.arrow.arrow-right::before {
		transform: rotate(45deg);
	}
	.company__block {
		margin-top: 6vw;
	}
	.company__block tr {
		border-top: dotted 1px #333;
	}
	.company__block th {
		background-color: #eeeeee;
		padding: 1vw 0 2vw;
		width: 35%;
		font-weight: normal;
		font-size: 3.6vw;
	}
	.company__block td {
		padding: 1vw 0 2vw 2vw;
		font-size: 3.6vw;
	}
	.ad__wrap {
		margin: 4vw 0;
	}
	.ad__wrap span {
		font-weight: 600;
		color: #203864;
	}
	.ad__map {
		margin-top: 20px;
	}
	.gmap iframe {
		width: 100%;
		height: 100vw;
	}
	
}