/*ルート(htmlタグ)のフォントサイズを変更することで比率を崩さずにサイズが変わる*/
html { font-size:16px ;}
@media screen and (min-width:768px){html{font-size:16px;}}
@media screen and (max-width:767px){html{font-size:11px;}}

body {
    color: #444444;
    font-family: YuGothic,'游ゴシック','Noto Sans Japanese', serif;
    font-weight:200;
    margin: 0;
    padding: 0;
}
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
h1{
    font-size: 3rem;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    font-family: inherit;
    font-weight: 200;
    line-height: 1.6;
    color: inherit;
    margin-bottom:0;
    margin-top:0;
}
a,a:hover {
    text-decoration: none;
}
table{
    width:100%;
}
.title {
    padding: 2rem 0;
    text-align: center;
    color: #fff;
}
.title h2 {
    font-size: 2.2rem;
    line-height:1.3;
}
.title p {
    font-size: 2rem;
    line-height:1.3;
}
a.sub_button {
	text-align:center;
	display: inline-block;
    border: 2px solid #0A7FC5;
    font-size: 1.4rem;
    font-style: normal;
    color: #0A7FC5;
    line-height: 1.6;
    background-color: #fff;
    padding:2rem;
    width:100%;
    margin-bottom:1.6rem;
}
a.sub_button:hover {
    color: #fff;
    background-color: #0A7FC5;
}
a.main_button {
	text-align:center;
	display: inline-block;
    border: 2px solid #0A7FC5;
    font-size: 1.4rem;
    font-style: normal;
    color: #fff;
    line-height: 1.6;
    background-color: #0A7FC5;
    padding:2rem;
    width:100%;
}
a.main_button span {
    font-size: 2rem;
}
a.main_button:hover {
    color: #0A7FC5;
    background-color: #fff;
}
header {
    border-top: 3px solid #0A7FC5;
    margin-bottom: 1.6rem;
}
header .container {
    position: relative;
}
header .header_logo {
    margin-top: 1.6rem;
    float: left;
    overflow: hidden;
}
.header_sp_logo {
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 30000;
}
header nav {
    position: absolute;
    right: 15px;
    bottom: 0;
}
header nav ul {
    overflow: hidden;
    margin: 0;
}
header nav ul li {
    display: inline-block;
    float: left;
    padding: 0.6rem 1.6rem;
    border-right: 1px solid #DDDDDD;
}
header nav ul li:last-child {
    padding: 0.6rem 0 0.6rem 1.6rem;
    border-right: none;
}
header nav ul li a {
    color: #0A7FC5;
    font-size: 0.8rem;
}
.slicknav_menu {

display:none;

}

/*Media Queries*/
 
@media screen and (max-width: 768px) {

.title h2 {
    font-size: 1.4rem;
    line-height:1.3;
}
.point .title span {
    font-size: 2rem !important;
}
.point .list_title h3 {
    font-size: 1.2rem !important;
}
.pd_menu{
    padding-top:57px;
}
#menu {
 
display:none;
 
}
 
.slicknav_menu {
 
display:block;
 
}
 
}
.spheader{
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 19999;
    width: 100%;
    background: #fff;
    opacity:0.8;
}


.firstview .title {
    padding: 6rem 0;
    color: #fff;
    background-color: #CECEBF;
    font-style: italic;
}
.firstview .pankuzu {
    padding: 0.6rem 0;
    font-size:0.8rem;
    color: #444444;
    text-align:left;
    background-color:#F7F7F7;
}
.introduction {
    text-align: center;
    line-height: 2.2;
}
.introduction .intro_bg {
background-image:url(../img/top/intro_img.jpg);
background-position: right bottom;
background-repeat:no-repeat;
}
.introduction .row img {
    width: 100%;
    height: auto;
    vertical-align: middle;
    border: 0;
}
.introduction .introduction_inner {
    padding: 4rem 0 3.6rem;
}
.introduction h3 {
    margin-bottom: 1.6rem;
    font-size: 2rem;
    color: #0A7FC5;
    font-style: italic;
}
.introduction article {
    margin-bottom: 2.6rem;
}
.introduction a.button {
    display: inline-block;
    padding: 1.6rem 2.6rem;
    border: 2px solid #0A7FC5;
    font-size: 1.5rem;
    font-style: normal;
    color: #0A7FC5;
    background-color: #fff;
}
.introduction a.button:hover {
    font-style: normal;
    color: #fff;
    background-color: #0A7FC5;
}
.case {
}
.case .title {
    background-color: #607D8B;
    font-style: italic;
}
.case .row {
}
.case .row img {
    width: 100%;
    height: auto;
    vertical-align: middle;
    border: 0;
}
.case .case_inner {
}
.offer {
    padding: 2.6rem 0;
    font-size: 2rem;
    background-color: #0A7FC5;
    text-align: center;
    font-style: italic;
    color: #fff;
}
.offer h2 {
    font-size: 2.4rem;
}
.offer hr {
    margin-top: 2rem;
    margin-bottom: 2rem;
    border: 0;
    border-top: 1px solid #fff;
}
.offer p {
    margin-bottom: 2rem;
    font-size:1.6rem;
    }
.offer span {
    font-size: 2.4rem;
}
.offer figure {
    padding: 2rem;
    background: #fff;
}
.offer figure img {
    width: 100%;
    height: auto;
    vertical-align: middle;
    border: 0;
}
.offer a.button {
    display: inline-block;
    padding: 2rem 4rem;
    border: 2px solid #fff;
    font-size: 1.5rem;
    font-style: normal;
    color: #fff;
    background-color: #0A7FC5;
}
.offer a.button:hover {
    font-style: normal;
    color: #0A7FC5;
    background-color: #fff;
}
.offer2 {
    padding: 2.6rem 0;
    font-size: 1.6rem;
    background-color: #fff;
    text-align: center;
    font-style: italic;
    color:#0A7FC5;
}
.offer2 h2 {
    font-size: 2.4rem;
}
.offer2 p {
    margin-bottom: 1.4rem;
}
.point {
    text-align: center;
    padding-bottom: 2.6rem;
    line-height: 2.2;
}
.point .row {
    margin-bottom: 1.6rem;
}
.point a.button {
    display: inline-block;
    padding: 1.6rem 2.6rem;
    border: 2px solid #0EA7B2;
    font-size: 1.5rem;
    font-style: normal;
    color: #0EA7B2;
    line-height: 1.6;
    background-color: #fff;
}
.point a.button:hover {
    font-style: normal;
    color: #fff;
    background-color: #0EA7B2;
}
.point .title {
    padding: 3rem 0;
    color: #444444;
    line-height:1.4;
}
.point .title span {
    font-size: 3rem;
    color: #0EA7B2;
}
.point .list_title {
    padding: 2rem;
    border: 1px solid #0EA7B2;
    background-color: #0EA7B2;
    color: #ffffff;
    vertical-align: middle;
}
.point .list_title h3 {
    line-height: 1.4;
    font-size:1.6rem;
}
.point .list_title p {
    display: inline-block;
    padding: 1.6rem 2rem;
    margin-bottom:1.6rem;
    border: 1px solid #fff;
    font-size: 2rem;
    line-height: 1;
}
.point .list_inner {
    padding: 1.6rem;
    border: 1px solid #0EA7B2;
    display: table-cell;
    vertical-align: middle;
}
.point .list_inner dt {
    font-size: 1.5rem;
    font-weight: 200;
    color: #0EA7B2;
    line-height: 1.6;
    margin-bottom: 1.4rem;
}
.point .list_inner dd {
    line-height: 2.2;
}
.point .list_inner .list_inner_contents {
    border: 7px solid #EEEEEE;
    padding: 0.6rem;
    line-height: 1.2;
    box-sizing:border-box;
}
.point .list_inner .list_inner_contents .list_inner_name {
    font-size: 2.2rem;
    margin-bottom:1.4rem;}
.point .list_inner .list_inner_contents span {
    font-size: 0.8rem}
.point .list_inner .list_inner_contents img {
    width: 100%;
    height: auto;
    vertical-align: middle;
    border: 0;
}
.point .list_inner dd p {
    margin-bottom: 2.6rem;
}
.point .list_inner hr {
    margin-bottom: 1rem;
    margin-top:1rem;
}
.point .list_inner a.button {
    font-size: 1.4rem;
    line-height: 1.6;
}
.effort{
    border: 1px solid #0EA7B2;
}
.effort .title{
	padding:1.6rem 0;
    color: #0EA7B2;
    font-style: italic;
}
.effort .title h3{
	font-size:2rem;
}
.message {
    text-align: center;
    line-height: 2.2;
}
.message img{
    width: 100%;
    height: auto;
    vertical-align: middle;
    border: 0;
}
.message .container {
    padding-top: 2.6rem;
    padding-bottom: 2.6rem;
}

.message .row {
    text-align: center;
}
.message .title {
    background-color: #0A7FC5;
    font-style: italic;
}
.message .title2 {
    margin-bottom:3rem;
}
.message .title2 h3{
	overflow: hidden;
    color:#0A7FC5;
    font-style: italic;
    line-height:1.2;
}
.message .title2 h3 span.name{
	font-size:2.5rem;
}
.message .title2 h3 span.border{
	position: relative;
	display: inline-block;
	margin: 0 2.5em;
	padding: 0 1em;
}
.message .title2 h3 span.border::before,
.message .title2 h3 span.border::after {
	position: absolute;
	top: 50%;
	content: '';
	width: 400%;
	height: 1px;
	background-color: #0A7FC5;
}
.message .title2 h3 span.border::before {
	right: 100%;
}
.message .title2 h3 span.border::after {
	left: 100%;
}
.message2 {
    border:0.6rem solid #B8E2FC;
    padding:2rem 15px;
    margin-bottom:2.6rem;
}
.message2 img{
    width: 100%;
    height: auto;
    vertical-align: middle;
    border: 0;
}
.message2 .message2_inner_contents {
    padding-bottom:1.6rem;
    border-bottom:1px solid #B8E2FC;
    margin-bottom:1.6rem;
}
.message2 .message2_inner_contents2 {
    line-height: 1.2;
    box-sizing:border-box;
}
.message2 .message2_inner_contents2 .list_inner_name {
    font-size: 2.4rem;
    margin-bottom: 1rem;
    }
.message2 .message2_inner_contents2 span {
    font-size: 1rem;
    line-height: 1.4;
}
.message2 .message2_inner_contents2 img {
    width: 100%;
    height: auto;
    vertical-align: middle;
    border: 0;
}
.user-voice {
    text-align: center;
    line-height: 2.2;
}
.user-voice .container {
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.user-voice .container .row {

}
.user-voice .row {
    text-align: center;
}
.user-voice .title {
    background-color: #83AF30;
    font-style: italic;
}
.user-voice a.button {
    display: inline-block;
    padding: 1.6rem 2.6rem;
    border: 2px solid #83AF30;
    font-size: 2rem;
    color: #fff;
    background-color: #83AF30;
    line-height: 1.6;
}
.user-voice a.button:hover {
    color: #83AF30;
    background-color: #fff;
}
.user-voice .voice_list {
    border: 2px solid #83AF30;
    text-align: center;
}
.user-voice .voice_list .voice_image {
}
.user-voice .voice_list .voice_image img {
    width: 100%;
    height: auto;
}
.user-voice .voice_list .voice_inner {
    padding: 1.6rem;
}
.user-voice .voice_list .voice_number {
    font-size: 1.6rem;
    margin-bottom: 1.6rem;
}
.user-voice .voice_list .voice_name {
    color: #83AF30;
    font-size: 2rem;
    margin-bottom: 1.6rem;
    padding: 1.2rem 0;
    border-top: 1px solid #83AF30;
    border-bottom: 1px solid #83AF30;
}
.user-voice .voice_list article {
    margin-bottom: 1.6rem;
    color: #83AF30;
}
.user-voice .voice_list a.button {
    font-size: 1.2rem}
.access a.button{
    text-align:center;
    display: inline-block;
    border: 2px solid #0A7FC5;
    font-size: 1.4rem;
    font-style: normal;
    color: #fff;
    background-color: #0A7FC5;
    padding:2rem;
    width:100%;
}
.access a.button:hover {
    color: #0A7FC5;
    background-color: #fff;
}
.access .access_contents1{
    margin-bottom:2.6rem;
}
.access .access_contents1 figure{
    padding: 2rem;
    margin-bottom:0.6rem;
    background:#EEEEEE;
}
.access .access_contents1 figure img{
    width: 100%;
    height: auto;
    vertical-align: middle;
    border: 0;
}
.access .access_contents1 p{
    text-align:center;
}
.access .access_contents_left{
border:1px solid #0A7FC5;
padding:1.6rem;
}
.access .access_contents_left dl{
margin-bottom:0;
}
.access .access_contents_left dt{
color:#0A7FC5;
margin-bottom:0.6rem;
font-weight:100;
font-size:1.5rem;
}
.access .access_contents_left dd{
line-height:1.6;
}
.access .access_contents_right{
border:1px solid #0A7FC5;
background-color: #0A7FC5;
color:#fff;
text-align:center;
font-size:1.5rem;
padding: 1rem;
}
.access .access_contents_right p span{
font-size:1.6rem;
}
.access .access_contents_right a{
    color:#fff;
}
.access .access_contents_right a.button{
    display: inline-block;
    padding: 1.6rem 1rem;
    width: 100%;
    text-align: center;
    border: 2px solid #fff;
    font-size: 1.5rem;
    color: #0A7FC5;
    background-color: #fff;
    line-height: 1.6;
}
.access .access_contents_right a.button:hover {
    color:#fff ;
    background-color: #0A7FC5;
}


.access .googlemaps {
    position: relative;
    padding-bottom: 65%;
    margin-bottom: 2.6rem;
    height: 0;
    overflow: hidden;
}
.access .googlemaps iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}
.access .container {
    padding-top: 2.6rem;
}
.access .access_name {
    font-size: 1.6rem;
    margin-bottom:1rem;
}
.access .title {
    background-color: #79796A;
    font-style: italic;
}
.question .title {
    background-color: #79796A;
    font-style: italic;
}
.question .container {
    padding-top:2.6rem;
    padding-bottom:2.6rem;
}
.question table {
    margin-bottom:1rem;
}
.question hr {
    border-top:dotted 1px #79796A;
    margin:2rem 0;
}
.question .icon img{
    width: 100%;
    height: auto;
    vertical-align: middle;
    border: 0;
}
.flow {
    text-align: center;
    padding-bottom: 2.6rem;
    line-height: 2.2;
}
.flow .row {
    margin-bottom: 1.6rem;
}
.flow .title {
    padding: 3rem 0;
    color: #0A7FC5;
    font-style: italic;
}
.flow .list_title {
    padding: 1.6rem 1.6rem;
    border: 1px solid #0EA7B2;
    background-color: #0EA7B2;
    color: #ffffff;
    vertical-align: middle;
    line-height:1.6;
}
.flow .list_title h3 {
    line-height: 1.6;
}
.flow .list_title p {
    display: inline-block;
    padding: 1.6rem 2rem;
    border: 1px solid #fff;
    font-size: 2rem;
    line-height: 1;
}
.flow .list_inner {
    padding: 1.6rem;
    border: 1px solid #0EA7B2;
    display: table-cell;
    vertical-align: middle;
}
.flow .list_inner img {
    width: 100%;
    height: auto;
    vertical-align: middle;
    border: 0;
}
.flow .list_inner a.button {
    font-size: 1.4rem;
    line-height: 1.6;
}
.flow hr {
    border-top:dotted 1px;
    margin-top: 1.6rem;
    margin-bottom: 1.6rem;
}
.cost {
    text-align:center;
    color:#0A7FC5;
    border:1px solid #0A7FC5;
    padding-bottom:1.6rem;
}
.cost .cost_panel{
    border:3px solid #0A7FC5;
    padding:0.6rem 0;
    line-height:1.6;
}
.cost .title{
background-color:#0A7FC5;
color:#fff;
font-style: italic;
padding:1.6rem 1rem;
margin-bottom:1.6rem;
}
.cost .title h3{
font-size:2rem;
}
.cost .title p{
font-size:1rem;
line-height:1.4;
margin-bottom:1rem;
}
.cost span{
font-size:1.6rem;
font-weight:300;
}
.cost p{
line-height:1.4;
}
footer {
    border-top: 6px solid #0A7FC5;
    padding: 3rem 0;
    color: #0A7FC5;
}
footer p {
    margin: 0;
}
footer .footer_inner {
}
footer .footer_logo img {
    width: 100%;
    height: auto;
    vertical-align: middle;
    border: 0;
}
footer .footer_infomation {
    border-left: 4px solid #0A7FC5;
    padding-left: 1.6rem;
}
footer .footer_tel {
    font-size: 2.4rem;
}
footer .footer_time {
    font-size: 0.8rem;
}
footer nav ul {
}
footer nav li {
    display: block;
}
footer nav ul li a {
    font-size: 0.8rem;
}

/*170421_cp*/

.cost02 {
    text-align:center;
    color:#CF1F23;
    border:1px solid #FF3D3D;
    padding-bottom:1.6rem;
}
.cost02 .cost_panel{
    border:3px solid #FF3D3D;
    padding:0.6rem 0;
    line-height:1.6;
}
.cost02 .title{
background-color:#FF3D3D;
color:#fff;
font-style: italic;
padding:1.6rem 1rem;
margin-bottom:1.6rem;
}
.cost02 .title h3{
font-size:2rem;
}
.cost02 .title p{
font-size:1rem;
line-height:1.4;
margin-bottom:1rem;
}
.cost02 span{
font-size:1.6rem;
font-weight:500;
}
.cost02 p{
line-height:1.4;
}

.cp1704{
	margin-bottom:4rem;
	width:600px !important;
	margin-bottom:15px !important;
	margin-top:40px !important;
	line-height:150% !important;
	}
.br_cp{display:none;}
	
	@media screen and (max-width:767px){
		.cp1704{
			margin-bottom:4rem;
			width:320px !important;
			margin-bottom:15px !important;
			margin-top:40px !important;
			line-height:150% !important;
			}
			
.br_cp{
	display:inline;
		
		}

	
