@charset "utf-8";

/* --ブラウザの互換初期化------------------------ */
html {
	overflow: scroll;
}

* {
	margin: 0;
	padding: 0;
}

body,
div,
dl,
dt,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
p,
blockquote,
th,
td {
	margin: 0;
	padding: 0;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

fieldset,
img {
	border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
th,
var {
	font-style: normal;
	font-weight: normal;
}

caption,
th {
	text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
}

q:before,
q:after {
	content: '';
}

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

.clearfix {
	min-height: 1px;
}

* html .clearfix {
	height: 1px;
	/*¥*/
	/*/ height: auto; overflow: hidden; /**/
}

@font-face {
	font-family: 'hanazonoFont';
	src: url('HanaMinA.ttf') format("truetype");
}

/* ------------------------
    基本構造
------------------------ */

body {
	font: 13px "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif, hanazonoFont;
	/* background: #f3a8bc; */
	background: url(../img/bg.jpg);
	color: #333;
	text-align: center;
	margin: 0;
	padding: 0;
}

#wrapper {
	background: url(../img/bg.jpg);
	margin: 0;
	padding: 0;
	position: relative;
}


/* ------------------------
    カラム分け
------------------------ */

.grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    margin: 0 -7px;
}

.grid .col {
    display: block;
    box-sizing: border-box;
    position: relative;
    padding: 0 7px;
}

.grid .col figure {
    position: relative;
    width: auto;
    max-width: 100%;
}

.grid .col-l-3 {
    width: 25%;
}

.grid .col-l-4 {
    width: 33.33333%;
}

.grid .col-l-6 {
    width: 50%;
}

.grid .col-l-8 {
    width: 66.66666%;
}

.grid .col-l-12 {
    width: 100%;
}

@media screen and (max-width: 1024px) {
    .grid .col-m-3 {
        width: 25%;
    }
    .grid .col-m-4 {
        width: 33.33333%;
    }
    .grid .col-m-6 {
        width: 50%;
    }
    .grid .col-m-8 {
        width: 66.66666%;
    }
    .grid .col-m-12 {
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .grid .col-s-12 {
        width: 100%;
    }
    .grid .col-s-8 {
        width: 66.66666%;
    }
    .grid .col-s-6 {
        width: 50%;
    }
    .grid .col-s-4 {
        width: 33.33333%;
    }
    .grid .col-s-3 {
        width: 25%;
    }
}


/* ヘッダー
------------------------------------- */
#header {
	background: url(../img/bg_header.png) repeat-x 0 -2px;
	margin: 0px auto 0 auto;
	padding: 0;
}

#headerIn {
	position: relative;
	width: 960px;
	margin: auto;
	padding: 0;
	text-align: right;
}

#header h1 {
	display: inline;
	width: auto;
	height: auto;
}

#header h1 a,
#header .logo a {
	width: 100px;
	height: 30px;
	padding: 0;
	margin: 0px;
	position: absolute;
	top: 0px;
	left: 0px;
}

#header .menu {
	height: 26px;
	padding: 6px 0 0 0;
	font-size: 0.85em;
	margin: 0 0 9px 0;
}

#header .menu a {
	margin: 0 0 0 20px;
	text-decoration: none;
}

#header .menu a:hover {
	text-decoration: underline;
}

#header .tell {
	display: block;
	width: 50%;
	margin: 0 0 5px auto;
	padding: 0;
}

/* グローバルナビ
------------------------------------- */

#gNav {
	width: 100%;
	height: 64px;
	background: url(../img/bg_nav.png) repeat-x 0 0;
	padding: 0;
	margin: 0;
}

#gNav ul {
	width: 960px;
	padding: 2px 0 0 0;
	margin: auto;
	list-style: none;
}

#gNav li {
	list-style: none;
	text-align: left;
	width: 143px;
	height: 60px;
	padding: 0;
	margin: 0;
	float: left;
	border-right: 1px solid #d48697;
}

#gNav li a {
	display: block;
	background-position: 0 0%;
	background-repeat: no-repeat;
	width: 134px;
	height: 52px;
	padding: 0;
	margin: 4px auto 0 auto;
	text-indent: -9999em;
}

#gNav li a:hover {
	background-position: 0 100%;
}

#gNav li.nav1 a {
	background-image: url(../img/nav01.jpg);
}

#gNav li.nav2 a {
	background-image: url(../img/nav02.jpg);
}

#gNav li.nav3 a {
	background-image: url(../img/nav03.jpg);
}

#gNav li.nav4 a {
	background-image: url(../img/nav04.jpg);
}

#gNav li.nav5 a {
	background-image: url(../img/nav05.jpg);
}


body#feature #gNav li.nav1 a {
	background-position: 0 100%;
}

body#price.page2 #gNav li.nav2 a {
	background-position: 0 100%;
}

body#price.page2 #gNav li.nav3 a {
	background-position: 0 0%;
}

body#price #gNav li.nav3 a {
	background-position: 0 100%;
}

body#flow #gNav li.nav4 a {
	background-position: 0 100%;
}

body#voice #gNav li.nav5 a {
	background-position: 0 100%;
}


#gNav li.top {
	width: 238px;
	border: 0px none;
	margin: 0;
	padding: 0;
	position: relative;
}

#gNav li.top a {
	display: inline;
	background-image: none;
	background-color: #f3a8bb;
	width: auto;
	height: auto;
	padding: 0;
	margin: auto;
	text-align: center;
	text-indent: 0px;
	position: absolute;
	bottom: 0;
	left: 0;
}

body#index #gNav li.top {
	height: 60px;
	overflow: hidden;
}

body#index #gNav li.top a {
	position: relative;
}


/*  セッティング
------------------------------------- */

#contents {
	display: block;
	max-width: 970px;
	width: 100%;
	margin: 0 auto 35px auto;
	padding: 0;
	text-align: left;
	position: relative;
	background: url(../img/bg_contents.jpg) repeat-y 0 0;
	background-size: contain;
}

#main {
	position: relative;
	margin: 0;
	padding: 0;
}


#contents #inner {
	display: block;
	background: url(../img/bg_contents.gif) no-repeat 0 0;
	background-size: contain;
	padding: 5px 5px 0 5px;
}

#contents .inq {
	display: block;
	background: url(../img/bg_contents.png) no-repeat 0 100%;
	background-size: contain;
	margin: 60px 0 0 0;
	/* padding: 0 5px 0 5px; */
	padding: 5px 5px 0 5px;
}

#contents #inner .inq {
	display: block;
	background: none;
	padding: 0;
}

#sub_menu {
	width: 970px;
	padding: 0;
	margin: 0 auto;
}

#sub_menu #breadcrumbs {
	text-align: left;
	padding: 0 5px;
	margin: 10px 0 10px 0;
	font-size: 0.85em;
}

#sub_menu #breadcrumbs a {
	color: #D48697;
}

#sub_menu span {
	display: block;
	width: 980px;
	padding: 0;
	margin: 0 -2px 0 -8px;
}

#sub_menu span a {
	float: left;
	background-repeat: no-repeat;
	background-position: 0 0;
	width: 230px;
	height: 60px;
	padding: 0;
	margin: 0 4px 22px 11px;
	text-indent: -9999em;
}

#sub_menu span a:hover {
	background-position: 0 -61px;
}

#sub_menu span a.menu1 {
	background-image: url(../img/btn_menu01.png);
}

#sub_menu span a.menu2 {
	background-image: url(../img/btn_menu02.png);
}

#sub_menu span a.menu3 {
	background-image: url(../img/btn_menu03.png);
}

#sub_menu span a.menu4 {
	background-image: url(../img/btn_menu04.png);
}

#sub_menu span a.menu5 {
	background-image: url(../img/btn_menu05.png);
}

#sub_menu span a.menu6 {
	background-image: url(../img/btn_menu06.png);
}

#sub_menu span a.menu7 {
	background-image: url(../img/btn_menu07.png);
}

#sub_menu span a.menu8 {
	background-image: url(../img/btn_menu08.png);
}

#sub_menu span a.menu9 {
	background-image: url(../img/btn_menu09.png);
}

#sub_menu span a.menu10 {
	background-image: url(../img/btn_menu10.png);
}


#sub_menu span a.current {
	background-position: 0 -61px;
}


/* フッター
------------------------------------- */

/* フッターお問い合わせ */
.footer_inq {
	/* height: 161px; */
	background: url(../img/bg_f_inq.png) repeat-x 0 0;
	background-size: contain;
	margin-top: -2px;
}

.footer_inq .clearfix {
	max-width: 960px;
	margin: 0 18px;
	padding: 34px 0 0 0;
	display: flex;
	flex-wrap: wrap;
    gap: 0 20px;
}
.footer_inq .clearfix strong {
	display: block;
	text-align: left;
	margin: 0 0 12px ;
	width: 100%;
}
.footer_inq .clearfix strong img {
	width: 100%;
	height: auto;
	max-width: 580px;
}
.footer_inq .clearfix a {
	width: calc(33.3333% - 20px);
}
@media screen and (max-width: 768px) {
	.footer_inq .clearfix {
		gap: 10px;
	}
	.footer_inq .clearfix strong {
		display: none;
	}
	.footer_inq .clearfix a {
		width: 100%;
	}
}

/* #contents .footer_inq { padding: 0 0 0 10px;} コンテンツの中だったら */
#contents .footer_inq {
	padding: 0 0 34px 0;
}

/* コンテンツの中だったら */


/* フッター電話番号 */

p.f_tell {
	text-align: center;
	padding: 0;
	margin: 20px 0 23px 0;
}

#contents img.charge {
	display: block;
	margin: 40px auto;
	width: 70%;
}

#contents p.f_tell {
	text-align: center;
	padding: 18px 0 16px 0;
	margin: 0 0 5px 0;
}

/* コンテンツの中だったら */
#contents #inner p.f_tell {
	background: url(../img/bg_hr.gif) repeat-x 0 100%;
	margin: 0 0 20px 0;
}

/* しかも#innerの中だったら */


/* フッター３つボタン */

#footer_btn {
	-webkit-box-shadow: inset 0 0 5px rgba(0, 2, 31, 0.4);
	-moz-box-shadow: inset 0 0 5px rgba(0, 2, 31, 0.4);
	box-shadow: inset 0 0 5px rgba(0, 2, 31, 0.4);
	background: url(../img/bg_footer_btn.jpg) no-repeat center 65%;
	background-size: 100% auto;
}

#footer_btn div {
	max-width: 812px;
	width: 100%;
	margin: auto;
	padding: 48px 0;
}

#footer_btn div a {
	width: 20%;
	margin: 0 0 0 10%;
	float: left;
}

/* フッターナビ */

#footer_nav ul {
	font-size: 12px;
	max-width: 960px;
	width: 100%;
	list-style: none;
	margin: auto;
	padding: 10px 0 5px 0;
}

#footer_nav ul li.menu {
	max-width: 560px;
	width: 100%;
	list-style: none;
	margin: 0 auto 10px auto;
	padding: 0;
	float: left;
	text-align: left;
}

#footer_nav ul li.sns {
	max-width: 390px;
	width: 100%;
	list-style: none;
	margin: 0;
	padding: 0;
	float: left;
}

#footer_nav ul li a {
	margin: 0 1em;
	text-decoration: none;
	color: #333;
}

/* フッターピンクの領域 */

#footer {
	background: url(../img/bg_footer.jpg) repeat-x 0 0;
	margin: 0;
	padding: 23px 0 20px 0;
	text-align: center;
	color: #fff;
	line-height: 1.3em;
	font-size: 12px;
	background-color: #f3a8bc;
}

#footer img {
	display: block;
	margin: auto auto 7px auto;
	width: 80px;
}

#footer strong {
	display: block;
	margin: 0;
	padding: 0;
	font-size: 13px;
	font-weight: normal;
}

#footer small {
	display: block;
	margin: auto auto 12px auto;
	padding: 0;
	font-size: 11px;
}

#footer small.copy {
	margin: 8px auto 0 auto;
}
@media screen and (max-width: 1000px) {
	#contents img.charge {
		width: 95%;
		max-width: 670px;
	}
}

@media screen and (max-width: 768px) {
    #footer {
        margin-bottom: 60px;
    }
}



/* -- ページタイトル ------ */

h2#page_title {
	width: 980px;
	padding: 0px;
	margin: 0;
}






/* ------------------------
  基本装飾・パーツ
------------------------ */

table,
tr,
td {
	border-width: 0;
	text-align: left;
	vertical-align: top;
	empty-cells: show;
}

img {
	width: 100%;
	margin: 0px;
	border: none;
	letter-spacing: 0px;
	vertical-align: top;
}


/* ------------------------
  装飾、タイトル
------------------------ */

p,
td,
th {
	margin: 0px 0px 12px 0px;
	line-height: 1.7em;
	padding: 0px;
}

a {
	color: #29b2c8;
	text-decoration: underline;
	overflow: hidden;
}

a:link,
a:visited {
	text-decoration: underline;
}

a:hover {
	text-decoration: none;
}

a img {
	opacity: 1.0;
	filter: Alpha(opacity=100);
	transition-duration: 0.5s;
	transition-timing-function: ease-out;
}

a:hover img {
	opacity: 0.7;
	filter: Alpha(opacity=70);
}

hr {
	border: solid #bfbc95;
	border-width: 1px 0px 0px 0px;
	height: 1px;
	overflow: hidden;
	margin: 0px 5px 0px 5px;
	clear: both;
}

.red {
	color: #c10000;
}

.pink {
	color: #d48697;
}

/* フォーム周り
------------------------ */
input[type="text"],
textarea,
select,
input[type="number"] {
	margin: 5px;
	padding: 8px;
}

.form_btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 -5px;
}
.form_btn > * {
    margin: 10px 5px 0;
}
.form_btn .back {
    text-decoration: none;
    display: block;
    max-width: 260px;
}

@media screen and (max-width: 1000px) {
	input[type="text"],
	textarea,
	select,
	input[type="number"] {
		margin: 5px 0;
		box-sizing:border-box
	}
	input[type="text"],
	textarea {
		width: 100%;
	}
	.form_btn .back {
		order: 1;
	}
}



/*  装飾付テキスト
------------------------ */
.mincho {
    font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
}

.arrow {
	display: block;
	background-image: url(../image/arrow01.gif);
	background-repeat: no-repeat;
	background-attachment: scroll;
	padding: 0px 0px 0px 20px;
	background-position: 0px 50%;
	margin: 0px 0px 20px 0px;
}

*+html .arrow {
	background-position: 0px 0.1em;
}

/*  テキスト右寄せ
------------------------ */

table.right td,
.txt_r {
	text-align: right;
}


/* 画像回り込み
------------------------ */

.center {
	display: block;
	margin: 0px auto 0px auto;
}

.alignright {
	display: inline;
	margin: 0px 0px 15px 22px;
	float: right;
}

.alignleft {
	display: inline;
	margin: 0px 24px 15px 0px;
	float: left;
}


/* 画像 に枠線をつける
------------------------ */
.border {
	display: block;
	padding: 0px;
	border: 2px solid #6f9caa;
	height: auto;
	width: auto;
}

/* --テキスト付-- */

.txtfloat_right {
	display: block;
	margin: 0px 5px 15px 0px;
	float: right;
	font-size: 0.75em;
	text-align: left;
}


/* 箇条書き
------------------------ */

/* --基本リスト--- */

ul {
	list-style: disc;
	padding: 0px 0px 8px 14px;
	margin: 0px 0px 10px 0px;
}

ol {
	padding: 0px 0px 8px 20px;
	margin: 0px 0px 10px 0px;
}


ul li,
ol li {
	padding: 0px 0px 7px 0px;
	line-height: 1.5em;
}

ul li p,
ol li p {
	margin: 0;
	padding: 0;
}


blockquote {
	background: #f7fbdc;
	padding: 10px;
	margin: 0 0 15px 0;
}

blockquote p {
	padding: 0 0 5px 0;
	margin: 0;
}


/* ------------------------
    テーブル各種
------------------------ */

/* 表組みサイズ*/

#contents table.full {
	width: 100%;
}

table.all {
	width: 100%;
}

table .cell01 {
	width: 10%;
}

table .cell015 {
	width: 15%;
}

table .cell02 {
	width: 20%;
}

/* 文字をセンタリング*/

table.mid th,
table.mid td,
table th.mid,
table td.mid {
	vertical-align: middle;
	text-align: center;
}

table th.right,
table td.right {
	text-align: right;
}

/* 表組みパターン 背景色つき*/

table.color {
	position: relative;
	margin: 0 0px 25px 0px;
	border: 0px none;
	border-collapse: separate;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
	border-collapse: collapse;
	table-layout: fixed;
	background: #fff;
}

table.color caption {
	display: block;
	position: absolute;
	width: 100%;
	top: -2.4em;
	left: 0;
	padding: 8px 0 6px 1px;
	color: #fff;
	background-color: #5cb8c6;
	font-weight: bold;
	font-size: 1.15em;
	text-align: center;
}

table.color th,
table.color td {
	padding: 6px 8px 5px 8px;
	border-left: 1px solid #ccc;
	color: #000;
	vertical-align: middle;
}

table.color thead th,
table.color thead td {
	background-color: #d6edf1;
	border-bottom: 1px solid #ccc;
}

table.color th {
	font-weight: bold;
}

table.color .odd th,
table.color .odd td {
	background-color: #d6edf1;
}




table.lime caption {
	background-color: #c2d249;
}

table.lime thead th,
table.lime thead td,
table.lime .odd th,
table.lime .odd td {
	background-color: #f7fbdc;
}

table.yellow caption {
	background-color: #bd9a00;
}

table.yellow thead th,
table.yellow thead td,
table.yellow .odd th,
table.yellow .odd td {
	background-color: #dbc54d;
}


table.photo caption {
	background-color: #113E1E;
}

table.photo thead th,
table.photo thead td,
table.photo .odd th,
table.photo .odd td {
	background-color: #D6E1B6;
}

table.premium caption {
	background-color: #FFA3A7;
}

table.premium thead th,
table.premium thead td,
table.premium .odd th,
table.premium .odd td {
	background-color: #F9D1D1;
}

table.standard caption {
	background-color: #F7AF00;
}

table.standard thead th,
table.standard thead td,
table.standard .odd th,
table.standard .odd td {
	background-color: #F9E794;
}

table.light caption {
	background-color: #40A5B5;
}

table.light thead th,
table.light thead td,
table.light .odd th,
table.light .odd td {
	background-color: #D2E9EA;
}


/* 表組みパターン ノートボーダ*/

table.note {
	background: url(../img/bg_table_border.gif) repeat-x 0 100%;
	position: relative;
	margin: 0 0px 25px 0px;
	border: 0px none;
	border-collapse: separate;
	border-collapse: collapse;
	table-layout: fixed;
	padding: 0;
}

table.note th,
table.note td {
	background: url(../img/bg_table_border.gif) repeat-x 0 0;
	/* padding: 7px 0 3px 0; */
	padding: 7px 10px 3px 0;
	vertical-align: top;
	font-weight: normal;
}

table.note th {
	font-weight: bold;
	/* padding: 7px 40px 3px 0; */
	padding: 7px 40px 3px 10px;
	letter-spacing: 2px;
}

table.sitemap td a {
	color: #555;
	text-decoration: none;
}

table.sitemap td a:hover {
	color: #555;
	text-decoration: underline;
}

iframe[name="google_conversion_frame"] {
	position: absolute;
}



.center.btn_price {
	margin: 0 !important;
}

.img_btn03 {
	width: 30%;
}

#contents p.f_tell img {
	margin-left: 2%;
}

@media screen and (max-width: 1000px) {
	#contents {
		display: block;
		max-width: 970px;
		width: 95%;
		margin: 100px auto 35px auto;
		padding: 0;
		text-align: left;
		position: relative;
		background: url(../img/bg_contents.jpg) repeat-y 0 0;
		background-size: contain;
	}

	#contents #inner {
		display: block;
		background: url(../img/bg_contents.gif) no-repeat 0 0;
		background-size: contain;
		padding: 5px 20px 0 20px;
	}

	table.note th {
		padding: 10px 40px 5px 10px;
		/* border-top: solid #ccc; */
		width: 100%;
		margin: 0;
	}

	table.note td {
		background: unset;
		padding: 7px 0 3px 0;
		vertical-align: top;
		/* font-weight:normal; */
		width: 100%;
	}

	table.note td {
		padding: 0 20px 0;
	}

	.img_btn03 {
		width: 40%;
	}

	table.note th,
	table.note td {
		background: unset;
	}

	.table_width {
		width: 100% !important;
	}

	.table_border-sp tr {
		border-top: solid #ccc;
		display: flex;
		flex-wrap: wrap;
	}

	.table_border-sp tr:last-child {
		border-top: solid #ccc;
		border-bottom: solid #ccc;
	}

	.table_border-sp th,
	.table_border-sp td {
		background: none;
	}

	#contents .inq {
		display: block;
		background: url(../img/bg_contents.png) no-repeat 0 100%;
		background-size: contain;
		margin: 0;
		/* padding: 0 5px 0 5px; */
		padding: 5px 5px 0 5px;
	}

	table.note {
		background: unset;
	}
	#footer_nav ul {
		font-size: 12px;
		max-width: 960px;
		width: 90%;
		list-style: none;
		margin: auto;
		padding: 10px 0 5px 0;
	}
}

#sub_menu .cmn-menu a {
	transition: none;
}