@charset "utf-8";

* {
	margin: 0px;
	padding: 0px;
}
.br-sp {
	display: none;
}
.br-tb {
	display: none;
}
.nods-sp {
	display: block;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
.clearfix:before {
　　　　content: "";
	display: block;
	clear: both;
}
.clearfix {
	display: block;
}
img {
	border-style: none;
	border-width: 0px;
}
hr.line {
	clear: both;
	display: block;
	margin: -1px 0px 0px;
	height: 1px;
	overflow: hidden;
	visibility: hidden;
}
ul li {
	list-style-type: none;
}
body {
	font-size: 16px;
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	line-height: 1.7;
	color: #333;
	text-align: left;
	font-style: normal;
}
a {
	color: #0068B6;
	text-decoration: none;
}
a:hover {
    opacity: 0.8;
	filter: alpha(opacity=80);
}
a:hover img {
	opacity: 0.8;
	filter: alpha(opacity=80);
}
.trnklnk {
	color: #333;
}
.trnklnk:hover {
	text-decoration: none;
	opacity: 0.8;
	filter: alpha(opacity=80);
}
#logo a:hover,
.flogo a:hover,
#logo a:hover img,
.flogo a:hover img {
	opacity: 1.0;
	filter: alpha(opacity=100);
}
a.extsite:after {
   	font-family: 'Font Awesome 5 Free';
    content: '\f35d';
    font-size: 0.8em;
    margin-left: 3px;
    font-weight: 600;
}
#contents {
	overflow: hidden;
    clear: both;
}
.imgMax {
    width: 100%;
    height: auto;
}
.container {
    width: 1280px;
    margin: 0 auto;
    overflow: hidden;
}
.container_naw {
    width: 1080px;
    margin: 0 auto;
    overflow: hidden;
}
.container::after,
.container_naw::after{
    content: "";
    clear: both;
    display: block;
}
#header {
    width: 100%;
    line-height: 1;
    margin: 0 auto;
    padding: 0 0 10px 0;
    overflow: visible;
    display: block;
    z-index: 999;
    height: 80px;
    position: fixed;
    background: #FFF;
    top: 0;
    left: 0;
}
#header a,
#header {
    text-decoration: none;
    font-weight: bold;
}
#header .contaider {
    width: 100%;
    position: relative;
}
.logo_pc { display: block !important; }
.logo_sp { display: none !important; }
#logo {
	float: left;
    font-size: 100%;
    z-index: 99999;
    padding: 5px 30px 0 1em;
}
#logo img {
    width: 253px;
    height: auto;
}
.h_tel_pc { display: block !important; }
.h_tel_sp { display: none !important; }
.header_tel {
    position: absolute;
    right: 10px;
	top: 5px;
    float: right;
    width: 340px;
    height: 80px;
}
.header_tel img {
    width: 340px;
    height: 80px;
}
#gNav {
    float: right;
    margin-right: 400px;
}
#gNav a:hover {
    color: #999;
}
nav li a {
    font-size: 16px;
    color: #595656;
}
nav .sub-menu,.mean-container .mean-nav ul ul {
    background: #fff;
    background-image: linear-gradient(to top, #fff1eb 0%, #ace0f9 100%);
    background-image: linear-gradient(to top, #fff1eb 0%, #add8e6 100%);
}
#gNav ul {
    position: relative;
    display: flex;
}
 #gNav li {
    position: relative;
    margin-right: 3em;
}
#gNav li:last-child {
    margin-right: 0;
}
#gNav li i {
    font-size: 16px;
    margin-left: 5px;
}
#gNav li a {
    position: relative;
    display: block;
    text-align: left;
    line-height: 135px;
}
#gNav .sub-menu {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
    display: block;
    position: absolute;
    top: 100px;
    left: 50%;
    margin-left: -50px;
    width: 250px;  
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
  }
#gNav .sub-menu a {
    padding: 10px;
    display: block;
    border-bottom: none;
    padding: 20px;
      padding: 15px 20px;
    line-height: 1.2em;
}
#gNav .sub-menu a:hover:after {
    content: none;
}
#gNav .sub-menu li {
    display: block;
    font-size: 16px;
    padding: 0;
    margin: 0;
}
#gNav .sub-menu li:last-child {
    border-bottom: none;
}
#gNav ul > li:hover {
    -webkit-transition: all .5s;
    transition: all .5s;
}
#gNav ul > li:hover a,#gNav .current-menu-item a,#gNav .current-menu-parent a {
    color: #bfd0ff;
}
#gNav li:hover ul.sub-menu {
	top: 90px;
    visibility: visible;
    opacity: 1;
    z-index: 9999;
}
#gNav li ul li:after {
    content: none;
}
#gNav li:hover ul.sub-menu a {
    color: #111;
}
#gNav .sub-menu li a:hover {
    background: #fff;
}
#gNav .contact_btn a:hover {
    color: #fff;
}
.area_01,
.area_02,
.area_03,
.area_04,
.area_06,
.area_07 {
    padding: 6em 0;
}
.area_11 {
	padding: 0 0 6em 0;
}
.area_01 h2,
.area_02 h2,
.area_03 h2,
.area_04 h2,
.area_06 h2,
.area_07 h2,
.area_11 h2 {
    font-size: 300%;
    font-weight: normal;
    text-align: center;
    margin: 0 0 0.5em 0;
}
.area_01,
.area_11 {
    background: #FFF;
}
.area_02 {
    background: #F9F6F3;
}
.area_03 {
    background: #EEF8FF;
}
.area_04 {
    background-image: url("../images/common/img-backnet.png");
    background-repeat: repeat;
}
.area_05 {
    background: #F1F1F1;
}
.area_06 {
    background-image: url("../images/common/bg_flower01.png");
    background-repeat: repeat;
	background-position: bottom center;
}
.area_07 {
    background-image: url("../images/common/bg_flower03.png");
    background-repeat: repeat;
	background-position: bottom center;
}
.bmspc {
	margin-bottom: 12px;
}
.bmbspc {
	margin-bottom: 35px;
}
.fonB {
	font-weight: bold;
}
.fonWarn {
	color: #F00;
}
.fonNat {
	color: #008000;
}
.aliCenter {
    text-align: center;
}
.pCsL {
    text-align: center;
}
.pCtsL {
    text-align: center;
}
.em_words_l {
    font-size: 130%;
}
.em_words_m {
    font-size: 120%;
}
.sm_words_l {
    font-size: 90%;
}
.sm_words_m {
    font-size: 80%;
}
.oppt {
	font-size: 80%;
	margin-left: 1em;
}
.opptmin {
	font-size: 50%;
	margin-left: 1em;
}
.caution01 { 
	padding-left:1em; 
	text-indent:-1em; 
	font-size: 100%;
	margin-left: 0.2em;
}
.caution01 span {
	display: inline-block;
	width: 1rem; 
	text-indent: 0;
}
.caution02 { 
	padding-left:1em; 
	text-indent:-1em; 
	font-size: 95%;
	margin-left: 0.5em;
}
.caution02 span {
	display: inline-block;
	width: 1rem; 
	text-indent: 0;
}
.caution03 { 
	padding-left:1em; 
	text-indent:-1em; 
	font-size: 85%;
	margin-left: 0.1em;
}
.caution03 span {
	display: inline-block;
	width: 1rem; 
	text-indent: 0;
}
/* エリアごとの ul li の指定 start */
.callBox {
    background: #3cb371;
    border-radius: 10px;
    padding: 2.2em 0;
}
.callTit {
    font-size: 170%;
    font-weight: bold;
    color: #FFF;
    text-align: center;
    margin-bottom: 0.5em;
    letter-spacing: 0.1em;
    line-height: 1.3;
}
.callTel {
    color: #FFFF00;
    text-align: center;
    font-size: 270%;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.1em;
    margin-bottom: 0;
}
.callTel span {
	background-image: url("../images/common/img_taxicall_01.png");
    background-repeat: no-repeat;
    background-position: left center;
	background-size: 40px auto;
	padding-left: 50px;
}
.callTel a {
    color: #FFFF00;
}
.callTm {
	width: 20em;
    text-align: left;
    color: #FFF;
	margin: 0.5em auto 0.5em;
}
.callTxt {
    text-align: center;
    color: #FFF;
}
.callArea {
	margin-top: 1em;
	text-align: center;
	color: #FFFF00;
	font-size: 110%;
	font-weight: bold;
}
.callResrv {
	width: 26em;
	margin: 1.5em auto 0.5em;
	text-align: center;
	font-weight: bold;
	font-size: 110%;
}
.callResrv a {
	display: block;
	border: solid 2px #FFF;
	border-radius: 10px;
	padding: 0.5em 0;
	color: #3cb371;
	background: #FFF;
}
.pay_box {
	background: #FFF;
	padding: 1.5em 0;
	border-radius: 10px;
	width: 99%;
	margin: 2.5em auto 0;
	border: solid 2px #333;
}
.pay_box h3 {
	font-weight: bold;
	font-size: 140%;
	text-align: center;
	margin-bottom: 0.5em;
}
.pay_box ul {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: flex-start;    /*左（上）揃え*/
    justify-content: flex-end;      /*右（下）揃え*/
    justify-content: center;        /*中央揃え*/
	flex-wrap: wrap;
	width: 830px;
	margin: 0 auto;
}
.pay_box ul li {
    height: 55px;
    width: auto;
	margin: 0 0.5em 0.9em;
}
.pay_box ul li img {
    height: 100%;
    width: auto;
}
.daikostc_oya {
	background: #FFF;
	margin: 2.5em auto 0;
	border: solid 2px #333;
	border-radius: 10px;
	display: flex;
	justify-content: center;
	padding: 1em 0;
}
.daikostc_text {
	width: 55%; 
  	order: 2;
	padding: 0 1.5em;
}
.daikostc_text h3 {
	font-weight: bold;
	font-size: 140%;
	margin-bottom: 0.2em;
}
.daikostc_text ul li {
	list-style-type: square;
	margin-left: 1.3em;
}
.daikostc_img {
	width: 15%;
	order: 1;
}
.daikostc_img img {
	border: solid 1px #CCCCCC;
	vertical-align: bottom;
}
table.charge {
	width: 95%;
	border: 1px solid #DDDDDD;
	border-collapse: collapse;
	margin: 0 auto;
}
table.charge th {
	width: 15em;
	border: 1px solid #DDDDDD;
	background: #E8F5F2;
	text-align: center;
	font-weight: bold;
    padding: 1em 0.9em;
	color: #666666;
}
table.charge td {
	border: 1px solid #DDDDDD;
    background: #FFFFFF;
	padding: 1em 0.9em;
}
/* エリアごとの ul li の指定 e n d */
#pageTop {
	position: fixed;
    bottom: 30px;
    right: 30px;
	z-index: 999;
}
#pageTop a {
	display: block;
	z-index: 999;
	padding: 8px;
    border-radius: 10px;
	width: 30px;
	height: 30px;
	background-color: #0068B6;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
}
#pageTop a:hover {
  text-decoration: none;
  opacity: 0.8;
}
#footer {
    clear: both;
    overflow: hidden;
    border-top: solid 1px #0068B6;
    padding: 3em 0;
}
.fmenu {
    float: right;
    width: 40em;
    overflow: hidden;
}
.fmenu ul li {
	float: left;
	margin-right: 3em;
	margin-bottom: 1em;
	font-weight: normal;
}
.fmenu ul li a {
	color: #333;
}
.fmenu ul li a::before {
	content: "\f054"; 
  	font-family: "Font Awesome 5 Free"; 
  	font-weight: 600; /* Solidアイコンの場合 */
  	margin-right: 5px;
  	color: #333; 
}
.f_comp {
    float: left;
    width: 20em;
}
.flogo {
    width: 15em;
    height: auto
}
#f_cpy {
    clear: both;
    background: #0068B6; 
    padding: 0.5em 0;
    color: #FFF;
    font-size: 80%;
}
#f_cpy #cpy {
    text-align: center;
}
@media screen and (min-width:768px) and (max-width:1299px) {
	/* special start */
    #gNav .nav {
        overflow-y: auto;
        height: 100vh;
    }
    .mean-nav .container {
        padding: 0;
    }
    nav li .fa {
        display: none;
    }
    /* special end */

	.br-sp {
		display: none;
	}
	.br-tb {
		display: block;
	}
	.nods-sp {
		display: none;
	}
	body {
		line-height: 1.5;
	}
	.container {
		width: 97%;
	}
	.container_naw {
		width: 97%;
	}
	#header {
		width: 100%;
		padding: 0 0 3px 0;
		overflow: visible;
		display: block;
		z-index: 999;
		height: 60px;
		top: 0;
		left: 0;
	}
	.logo_pc { display: block !important; }
	.logo_sp { display: none !important; }
	#logo {
		padding: 3px 30px 0 1em;
	}
	#logo img {
		width: 171px;
	}
	.h_tel_pc { display: block !important; }
	.h_tel_sp { display: none !important; }
	.header_tel {
		position: absolute;
		right: 55px;
		top: 3px;
		float: right;
		width: 255px;
		height: 60px;
	}
	.header_tel img {
		width: 255px;
		height: 60px;
	}
	#gNav {
		float: right;
		margin-right: 0;
	}
	.area_01,
	.area_02,
	.area_03,
	.area_04,
	.area_06,
	.area_07 {
		padding: 4em 0;
	}
	.area_11 {
		padding: 0 0 4em 0;
	}
	.area_01 h2,
	.area_02 h2,
	.area_03 h2,
	.area_04 h2,
	.area_06 h2,
	.area_07 h2,
	.area_11 h2 {
		font-size: 240%;
		margin: 0 0 0.5em 0;
	}
	.pCsL {
		text-align: center;
	}
	.pCtsL {
		text-align: left;
	}
	/* エリアごとの ul li の指定 start */
	.callBox {
		padding: 2.1em 2em;
	}
	.callTit {
		font-size: 160%;
		margin-bottom: 0.5em;
		letter-spacing: 0.1em;
		line-height: 1.3;
	}
	.callTel {
		font-size: 250%;
		line-height: 1.2;
		letter-spacing: 0.1em;
		margin-bottom: 0.2em;
	}
	.callTel span {
		background-position: left center;
		background-size: 33px auto;
		padding-left: 43px;
	}
	.callTm {
		margin: 0.5em auto 0.5em;
	}
	.pay_box {
		width: 98%;
		margin: 2.3em auto 0;
	}
	.pay_box h3 {
		font-size: 135%;
		margin-bottom: 0.5em;
	}
	.pay_box ul {
		width: 96%;
		max-width: 830px;
		margin: 0 auto;
	}
	.pay_box ul li {
		height: 55px;
		width: auto;
		margin: 0 0.5em 0.9em;
	}
	.daikostc_oya {
		margin: 2.3em auto 0;
		justify-content: center;
		padding: 1em 3%;
		width: 92%;
	}
	.daikostc_text {
		width: calc(100% - 140px); 
		order: 2;
		padding: 0 1.5em;
	}
	.daikostc_text h3 {
		font-size: 135%;
		margin-bottom: 0.2em;
	}
	.daikostc_img {
		width: 110px;
		order: 1;
	}
	table.charge {
		width: 95%;
		margin: 0 auto;
	}
	table.charge th {
		width: 10em;
		padding: 0.9em 0.8em;
	}
	table.charge td {
		padding: 0.9em 0.8em;
	}
	/* エリアごとの ul li の指定 e n d */
	#pageTop {
		bottom: 35px;
	}
	#pageTop a {
		width: 25px;
		height: 25px;
	}
	#footer {
		padding: 2.5em 0;
	}
	.fmenu {
		float: right;
		width: calc(100% - 22em);
		max-width: 40em;
	}
	.fmenu ul li {
		float: left;
		margin-right: 2.4em;
		margin-bottom: 0.4em;
		font-weight: normal;
	}
	.f_comp {
		float: left;
		width: 20em;
		margin-left: 1em;
	}
	.flogo {
		width: 12em;
	}
}
@media screen and (max-width:767px) {
	/* special start */
    #gNav .nav {
        overflow-y: auto;
        height: 100vh;
    }
    .mean-nav .container {
        padding: 0;
    }
    nav li .fa {
        display: none;
    }
    /* special end */
	.br-sp {
		display: block;
	}
	.br-tb {
		display: none;
	}
	.nods-sp {
		display: none;
	}
	body {
		line-height: 1.5;
	}
	.container {
		width: 95%;
	}
	.container_naw {
		width: 95%;
	}
	#header {
		width: 100%;
		padding: 0 0 3px 0;
		overflow: visible;
		display: block;
		z-index: 9999999;
		height: 60px;
		top: 0;
		left: 0;
	}
	.logo_pc { display: block !important; }
	.logo_sp { display: none !important; }
	#logo {
		padding: 3px 30px 0 1em;
	}
	#logo img {
		width: 171px;
	}
	#logo, #logo img {
        z-index: 999999 !important;
        position: absolute;
    }
	.h_tel_pc { display: none !important; }
	.h_tel_sp { display: block !important; }
	.header_tel {
		position: absolute;
		right: 55px;
		top: 0px;
		width: 83px;
		height: 60px;
		z-index: 999999 !important;
	}
	.header_tel img {
		width: 83px;
		height: 60px;
		z-index: 999999;
		position: absolute;
	}
	#gNav {
		float: right;
		margin-right: 0;
	}
	.area_01,
	.area_02,
	.area_03,
	.area_04,
	.area_06,
	.area_07 {
		padding: 2.5em 0;
	}
	.area_11 {
		padding: 0 0 2.5em 0;
	}
	.area_01 h2,
	.area_02 h2,
	.area_03 h2,
	.area_04 h2,
	.area_06 h2,
	.area_07 h2,
	.area_11 h2 {
		font-size: 170%;
		margin: 0 0 0.4em 0;
	}
	.bmspc {
		margin-bottom: 0.7em;
	}
	.bmbspc {
		margin-bottom: 1.9em;
	}
	.pCsL {
		text-align: left;
	}
	.pCtsL {
		text-align: left;
	}
	/* エリアごとの ul li の指定 start */
	.callBox {
		padding: 1.7em 0.8em;
	}
	.callTit {
		font-size: 130%;
		margin-bottom: 0.4em;
		letter-spacing: 0.1em;
		line-height: 1.3;
	}
	.callTel {
		font-size: 220%;
		line-height: 1.1;
		letter-spacing: 0;
		margin-bottom: 0;
	}
	.callTel span {
		background-position: left center;
		background-size: 32px auto;
		padding-left: 40px;
	}
	.callTm {
		width: 18em;
		text-align: left;
		margin: 0.5em auto 0.4em;
	}
	.callTxt {
		text-align: center;
	}
	.callArea {
		margin-top: 0.8em;
		text-align: center;
		font-size: 105%;
	}
	.callArea dd {
		text-align: left;
	}
	.callResrv {
		width: 97%;
		margin: 1.2em auto 0.3em;
		font-size: 105%;
	}
	.callResrv a {
		padding: 0.4em 0;
	}
	.pay_box {
		padding: 1.2em 2%;
		width: 95%;
		margin: 2em auto 0;
	}
	.pay_box h3 {
		font-size: 120%;
		margin-bottom: 0.4em;
	}
	.pay_box ul {
		width: 98%;
		margin: 0 auto;
	}
	.pay_box ul li {
		height: 50px;
		margin: 0 0.5em 0.8em;
	}
	.daikostc_oya {
		margin: 2em auto 0;
		display: flex;
		width: 95%;
		padding: 1.2em 2%;
	}
	.daikostc_text {
		width: calc(100% - 140px); 
		order: 2;
		padding: 0 2% 0 4%;
	}
	.daikostc_text h3 {
		font-size: 120%;
		margin-bottom: 0.2em;
	}
	.daikostc_text ul li {
		list-style-type: square;
		margin-left: 1.3em;
	}
	.daikostc_img {
		width: 110px;
		order: 1;
	}
	table.charge {
		width: 96%;
		margin: 0 auto;
	}
	table.charge th {
		width: 5em;
		text-align: left;
		padding: 0.8em 0.7em;
	}
	table.charge td {
		padding: 0.8em 0.7em;
	}
	/* エリアごとの ul li の指定 e n d */
	#pageTop {
		bottom: 25px;
		right: 20px;
	}
	#pageTop a {
		width: 25px;
		height: 25px;
	}
	#footer {
		padding: 0.5em 0 2em;
	}
	.fmenu {
		float: none;
		width: auto;
		margin-bottom: 1em;
	}
	.fmenu ul li {
		float: none;
		margin: 0.2em 0.1em 0.2em 0.2em;
		font-weight: normal;
		border-bottom: solid 1px #CCCCCC;
		padding: 0.2em 0;
	}
	.fmenu ul li a {
		color: #333;
		display: block;
	}
	.fmenu ul li a::before {
		content: "\f054"; 
		font-family: "Font Awesome 5 Free"; 
		font-weight: 600; /* Solidアイコンの場合 */
		margin-right: 5px;
		color: #333; 
	}
	.f_comp {
		float: none;
		width: fit-content;
		margin: 0 auto;
	}
	.flogo {
		width: 12em;
		height: auto
			
	}
	#f_cpy {
		padding: 0.5em 0;
		font-size: 80%;
	}
}