@charset "utf-8";

/* 1100px以下 */
@media screen and (max-width:1100px) {

h1{
	display: none;
}

.pc {
	display: none!important;
}

.sp {
	display: block!important;
}

/* base setting */
body {
	font-size: 15px;
	min-width: 100%;
}

img {
	max-width: 100%;
}
	.cv_contact2{
		width:100%;
	}
	.cv_conts2{
    width: 100%;
    margin: 10px auto;
	}
.cv_contact2 a{
		margin:auto;
	    width:100%;
	   margin-bottom:10px;
	}
	Container {
    width: 100% !important;
    height: auto !important;
}

.lb-dataContainer, #lightboxOverlay {
    width: 100% !important;
}

/* float */
.left_area {
	float:none;
	text-align: center;
	margin: 0 auto 15px;
}

.right_area {
    float: none;
	margin: 0 auto 15px auto;
    text-align: center;
}

.left_area:last-child img {
	margin-bottom: 0;
}

.point_block .right_area {
    max-width: 300px;
}

.flex {
	-webkit-flex-direction: column; /* Safari */
	flex-direction:         column;
}

/* page-background */
.bg01 {
	padding: 15px 20px 40px;
}

.bg02 {
	padding: 52px 20px 40px;
}

/* 目立たせるブロック */
.point_block {
    padding: 28px 20px;
}

.point_block .ttl {
    margin-bottom: 8px;
}

.sec.flow .point_block .ttl {
    font-size: 20px;
    font-size: 2.0rem;
}

/* breadcrumb list */
.breadcrumb li {
    font-size: 12px;
	font-size: 1.2rem;
}

.breadcrumb .flex {
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
.breadcrumb ul {
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

/* 余白 */
header .inner,
nav ul,
.top_cont .inner,
.cv .inner,
.line .inner,
footer .inner,
.ftr-nav ul,
.page-ttl .inner
 {
	width: 100%;
	padding: 0 4%;
}

header .inner {
    margin-bottom: 20px;
}

.page_cont {
    width: 100%;
	padding: 0 4%;
}

footer .inner {
	padding: 25px 4% 25px;
}

/* table */
table th, table td {
	padding: 10px 10px;
}

.tbl02 th, .tbl02 td {
    padding: 8px 8px;
}

.tbl03 {
	margin: 0 0 1em;
}

.tbl03 th, .tbl03 td{
	display: block;
	padding: 10px 22px;
}

.tbl03 th {
    margin-top: -1px;
    border-bottom: none;
}

.page_tbl.right_area {
    width: 100%;
	margin-bottom: 24px;
}

/* form */
.required:after {
    display: block;
    text-align: center;
    width: 35px;
    float: none;
}

/* title */
.top_reason .top_ttl em {
    font-size: 38px;
    font-size: 3.8rem;
	bottom: 7px;
}

.top_reason .bud .inner::before {
    bottom: -17px;
}

.top_ttl.ttl04 {
    background: url(../images/ttl_bg01.png) no-repeat bottom center / contain;
}

.top_ttl.ttl05 {
    background: url(../images/ttl_bg01.png) no-repeat bottom center / contain;
}

.top_ttl.ttl06 {
    font-size: 25px;
    font-size: 2.5rem;
}

.top_ttl.small {
    font-size: 2.6rem;
	text-align: center;
}

.top_ttl.small .icon {
    margin-right: 8px;
    width: 28px;
}

.top_ttl {
    font-size: 26px;
    font-size: 2.6rem;
	line-height: 1.5;
	margin-bottom: 1em;
}

.top_ttl.ttl02 {
    font-size: 24px;
    font-size: 2.4rem;
	padding-top: 6px;
}

.bud .inner::before {
    background-image: url(../images/ttl_bud.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    content: "";
    position: absolute;
    bottom: -12px;
    right: -44px;
    width: 68px;
    height: 64px;
}

.top_reason .bud .inner::before {
    bottom: -17px;
}

.page_ttl.ttl04.bud .inner::before {
    bottom: -14px;
}

.top_reason .top_ttl {
    margin-bottom: 60px;
}

.page_ttl.ttl01 {
    font-size: 26px;
    font-size: 2.6rem;
	margin-bottom: 30px;
}

.page_ttl.ttl02 {
	background: url(../images/page-ttl02_bg.png) no-repeat -8px 100% #f6f2e5;
    font-size: 20px;
    font-size: 2.0rem;
    height: auto;
    padding: 7px 30px 13px;
}

.page_ttl .price {
    float: none;
    display: block;
}

.page_ttl.ttl04 {
    font-size: 26px;
    font-size: 2.6rem;
	line-height: 1.5;
}

.page_ttl.ttl04 em {
    font-size: 38px;
    font-size: 3.8rem;
	bottom: 7px;
}

.page_ttl.ttl05 {
    font-size: 24px;
    font-size: 2.4rem;
	padding: 6px 0 10px;
	margin-bottom: 50px;
}

/* button */
.top_reason .cmn_btn {
    margin-bottom: 40px;
}

.cmn_btn a {
    border-radius: 60px;
    font-size: 17px;
    font-size: 1.7rem;
    padding: 10px 33px;
	width: 90%;
}

.cmn_btn.small {
    margin-top: 34px;
}

.cmn_btn.small a {
    font-size: 17px;
    font-size: 1.7rem;
}

.mail_btn {
    float: none;
    margin-bottom: 40px;
}

.mail_btn a {
    padding: 15px 33px;
}

.mail_btn .fa {
    font-size: 26px;
	font-size: 2.6rem;
}

.page_link_btn {
    margin: 0;
}

.page_link_btn a {
	border-radius: 60px;
    padding: 10px 33px;
}

.top_reason .page_link_btn a {
    border-radius: 60px;
    font-size: 17px;
    font-size: 1.7rem;
    padding: 10px 33px;
	width: 90%;
}

/* tel */
.cv .tel_area {
    float: none;
}

.cv .tel {
    font-size: 40px;
    font-size: 4.0rem;
    margin-bottom: 18px;
}

.point_block .tel {
    float: none;
    margin-left: 0;
    font-size: 26px;
    font-size: 2.6rem;
	margin-bottom: 10px;
}

.cv .tel .fa {
    font-size: 40px;
    font-size: 4.0rem;
    margin-right: 14px;
}

.open_close {
    text-align: center;
}

.point_block .open_close {
    float: none;
    margin-right: 0;
}

.tel a {
	text-decoration: underline;
}

.img_area img {
	margin-right: 0;
	display: block;
/*	max-width: 220px;*/
	margin: 0 auto;
}

.img_area img {
	margin-bottom: 20px;
}

.img_area img:last-child {
	margin-bottom: 0;
	margin-right: auto;
}

/* header
----------------------------------------------------------- */
header .inner{
	min-height: 80px;
}

header .info_area {
	display: none;
}

.head_logo{
	width: 100%;
	float: none;
	text-align: center;
	margin: 5px auto 0;
	top: 0;

	-webkit-justify-content: center;
	justify-content: center;
}


h1 {
	margin: 18px 0;
	width: 88%;
}

.head_logo img{
	max-height: 80px;
}

/*強み */
.point_area {
    display: none;
}

/* g-navi
----------------------------------------------------------- */
nav .flex {
	display: block;
}

nav ul {
	height: auto;
	position: relative;
	overflow-x: hidden;
	overflow-y: auto;
	font-size: 15px;
    font-size: 1.5rem;
	margin-bottom: 20px;
}

nav li:first-child {
    border-left: none;
}

nav li {
    border-right: none;
	border-bottom: 1px solid #c2c2c2;
    padding: 14px 0;
}

nav ul li a:hover{
	background: none;
	color: inherit;
	font-weight: bold;
	opacity: 0.6;
}

.nav-button {
    display: block;
    cursor: pointer;
}

.nav-wrap {
	position: fixed;
	left: 0;
	top: 0;
	display: none;
	background-color: rgba(246, 242, 229, 0.9);
	width: 100%;
	height: 100%;
	padding: 20px;
	z-index: 9999;
}

/*メニューボタンのエフェクト*/
  .nav-button,
  .nav-button span {
    display: inline-block;
    transition: all 0.4s;
  }
  .nav-button {
    z-index: 10000;
    position: fixed;
    width: 40px;
    height: 36px;
    top: 20px;
    right: 4%;
  }
  .nav-button span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #333;
    border-radius: 4px;
  }
  .nav-button span:nth-of-type(1) {
    top: 0;
  }
  .nav-button span:nth-of-type(2) {
    top: 16px;
  }
  .nav-button span:nth-of-type(3) {
    bottom: 0;
  }
  .nav-button.active span:nth-of-type(1) {
    -webkit-transform: translateY(16px) rotate(-45deg);
    transform: translateY(16px) rotate(-45deg);
  }
  .nav-button.active span:nth-of-type(2) {
    opacity: 0;
  }
  .nav-button.active span:nth-of-type(3) {
    -webkit-transform: translateY(-16px) rotate(45deg);
    transform: translateY(-16px) rotate(45deg);
  }

/* main-img
----------------------------------------------------------- */
.main-img{
	height: auto;
	line-height: 0;
}

.mainimage-wrap{
	width: auto;
	max-width: 98%;
	padding: 0 1%;
}

.top_open{
	left: 0;
	top: -5vw;
}

.top_open img{
	width: 12vw;
	max-width: 120px;
	height: auto;
}

.mainimage img{
	width: auto;
	max-width: 100%;
}

.page-ttl {
	font-size: 24px;
	font-size: 2.4rem;
	height: 0;
    background-repeat: no-repeat;
    background-position: center;
	background-size: 100% auto;
	padding-top: 36.266%;
	position: relative;
}

.page-ttl.ttl01 {
    background-image: url(../images/page-ttl01_sp.jpg);
}

.page-ttl.ttl02 {
    background-image: url(../images/page-ttl02_sp.jpg);
}

.page-ttl .inner {
    max-width: 90%;
    padding-top: 0;
    position: absolute;
    top: 28%;
    left: 4%;
}

/* common
----------------------------------------------------------- */
.wrap{
	width: 98%;
	max-width: 1000px;
	padding: 0 1%;
}

.ttl01{
	line-height: 0;
	min-height:auto;
	padding: 10px 0;
}

.ttl01 img{
	width: auto;
	max-width: 95%;
	margin: 0 auto;
}

.ttl01 .ttl01_text{
	min-height: 60px;
	line-height: 1.4;
	height: 100%;

	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}



.ttl03{
	font-size: 28px;
}


.br2{
	display: block;
}


/* voice
----------------------------------------------------------- */

.top_voice{
	padding: 50px 25px 20px;
}

.top_voice_conts{
	width: calc(50% - 20px);
	margin: 0 40px 50px 0;
}

.top_voice_conts:nth-of-type(2n){
	margin-right: 0;
}

.top_voice_img{
	margin: 20px auto 5px;
}

.top_voice_img img{
	width: auto;
	max-width: 100%;
}

/* reason
----------------------------------------------------------- */
.top_reason_conts{
	margin: 30px 50px 0 0;
	width: calc(50% - 25px);
	max-width: 460px;
}

.top_reason_conts:nth-of-type(2n){
	margin-right: 0;
}

.top_reason_img img{
	width: auto;
	max-width: 100%;
}

/* price
----------------------------------------------------------- */

.top_price{
	padding-bottom: 50px;
}

.top_price_menu{
	border: 3px solid #115711;
}

.top_price_menu dl{
	-webkit-flex-direction: column;
	flex-direction: column;
	border-bottom: none;
}

.top_price_menu dl dt{
	width: 100%;
	padding: 0;
}

.top_price_menu dl dd{
	width: 100%;
	padding: 7px 0;
	border: none;
}

.top_campign_bnr{
	margin-top: 30px;
}



/* access
----------------------------------------------------------- */
.top_access{
	margin-bottom: 20px;
}

.access_conts{
	width: calc(100% / 3 - 10px);
	max-width: 320px;
	margin: 0 15px 50px 0;
}

.access_conts:nth-of-type(3n){
	margin-right: 0;
}

/* column fb
----------------------------------------------------------- */
.top_column_conts,
.top_fb_conts{
	width: 100%;
	margin: 0 auto;
}

.top_fb_conts{
	margin-top: 40px;
}


/* menu column
----------------------------------------------------------- */
.cv_conts{
	flex-direction: -webkit-column;
	flex-direction: column;
	-webkit-justify-content: center;
	justify-content: center;

	margin: 50px auto;
}

.cv_tel{
	margin: 0 auto 15px;
}

.cv_contact a{
	margin: 0 auto;
}

/* sns
----------------------------------------------------------- */

.top_sns_pc{
	display: none;
}
.top_sns_sp{
	display: block;
	margin-top: 50px;

	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
}

.top_fb,
.top_instagram{
	width: 100%;
	max-width: 500px;
	margin: 0 auto;
}

.top_fb{
	margin-bottom: 30px;
}

.fb-wrapper {
    max-width: 500px;
    margin: 0 auto;
}
.fb-wrapper .fb-page {
    width: 100%;
}
.fb-wrapper .fb-page span,
.fb-wrapper iframe {
    width: 100% !important;
}

.top_ttl_fb,
.top_ttl_insta{
	margin-bottom: 20px !important;
}

/* access
----------------------------------------------------------- */
.gmap iframe {
	width: 100%;
}

.gmap {
	float: none;
    margin-bottom: 1em;
}

.top_access .detail {
    float: none;
    width: 100%;
}

/* faq
----------------------------------------------------------- */
.faq_list dt {
    font-size: 18px;
    font-size: 1.8rem;
	padding-left: 16px;
}

.faq_list dd .inner {
    padding: 20px 20px;
}

/* conversion area
----------------------------------------------------------- */
.cv .notice_list {
    font-size: 14px;
    font-size: 1.4rem;
    padding: 8px 15px;
}


/* column
----------------------------------------------------------- */
.column_conts{
	-webkit-flex-direction: column;
	flex-direction: column;
}

.column_cat_ttl01{
	font-size: 26px;
}

.column_single{
	max-width: 100%;
}

.column_sidemenu{
	max-width: 100%;
	margin-left: 0;
}

.column_side_new_list li{
	border-bottom: 1px dashed #bbb;
	padding-bottom: 10px;
}

.column_side_cat ul{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-top: 10px;
}

.column_side_cat ul li{
	margin-right: 10px;
	margin-bottom: 5px;
}

.column_side_cat ul li a{
	background: #e8e2cc none repeat scroll 0 0;
    border-radius: 100px;
    padding: 5px 15px;
    text-align: center;
}

.column_side_cat ul li a:before{
	content: "#";
}

.single_ttl01{
	font-size: 24px;
}

.column_single_conts h3{
	font-size: 1.2em;
	border-left: 7px solid #e8e2cc;
	padding: 3px 0 5px 8px;
}


.column_single_conts h4{
	font-size: 1.1em;
}


/* LINE
----------------------------------------------------------- */
.line{
	padding: 35px 0;
}

.line .icon_main {
    margin: 0 18px 0 0;
    width: 15%;
}

.line .info {
    width: 77%;
    margin-bottom: 20px;
}

.line_ttl {
    font-size: 26px;
    font-size: 2.6rem;
}

.line_ttl_sub {
    font-size: 16px;
    font-size: 1.6rem;
}

.line .add {
    float: none;
	clear: both;
}

.line .qr {
	display: none;
}

.line_btn {
    float: none;
    margin-right: 0;
    height: auto;
}

.line_btn a {
    border: none;
    border-radius: 80px;
    background: #fff;
    color: #333;
    font-size: 16px;
    font-size: 1.6rem;
	width: 70%;
	margin: 0 auto;
}

.line_btn .icon {
    display: none;
}

/* footer
----------------------------------------------------------- */
footer {
    padding-bottom: 68px;
}

.ftr-nav {
    font-size: 14px;
    font-size: 1.4rem;
	padding: 0;
}

.ftr-nav .flex {
	display: block;
}

.ftr-nav ul {
	padding: 0;
}

.ftr-nav li {
    border-right: none;
    text-align: left;
    padding: 16px 4%;
    border-bottom: 1px solid #c2c2c2;
}

.ftr-nav li:last-child {
	border-bottom: none;
}

.ftr-nav li a:hover{
	background: no-repeat;
	color: inherit;
	opacity: 0.6;
}

.ftr-nav li:last-child{
	border-right: none;
}

.logo_area {
    float: none;
    margin-right: 0;
}

.logo_area .logo {
	text-align: center;
}

footer .logo img {
	width: 240px;
}

.tbl_area {
    float: none;
	margin-bottom: 30px;
}

	.tbl_area .f_banner {
	text-align: center;
}

.logo_area .address {
    margin-bottom: 16px;
}

.sns {
    float: none;
    text-align: center;
}

.sns a {
    margin-right: 15px;
}

.sns a img {
	width: 45px;
}

#pagetop {
    bottom: 71px !important;
}

#pagetop img{
    width: 54px;
}

.copyright {
    padding: 18px 80px;
}

.floating_menu {
    width: 100%;
    position: fixed;
    left: 0px;
    bottom: -200px;
    z-index: 6;
    text-align: center;
    padding: 0 auto;
	font-size: 18px;
	font-size: 1.8rem;
	color: #fff;
	font-weight:bold;

	-webkit-transition: bottom 0s ease 0s;
	transition: bottom 0.25s ease 0s;
}

.floating_menu.on{
	bottom: 0;
}

.floating_menu .flex {
	-webkit-flex-direction: row; /* Safari */
	flex-direction:         row;
}

.floating_box {
	width: 100%;
    padding: 16px 5px 10px;
	font-size: 12px;
	font-size: 1.2rem;
	position: relative;
	border-top: none;
}

.floating_box a {
    width: 100%;
    margin: 0 auto;
	text-decoration: none;

	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
}

.floating_box .icon {
	height: 32px;
	margin-bottom: 10px;
/*	width: 30px;*/
    display: inline-block;
    vertical-align: top;
}

.floating_box.tel {
	background: #fcc225;
}

.floating_box .detail {
    width: 130px;
    display: inline-block;
}

.floating_menu .tel {
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
}

/*2019/11/15 追記*/

.pc {
	display: none;
}

.sp {
	display: block;
}

.sp.sp-sub {
}

.sp-header {
	width: 100%;
	/* position: fixed;
	left: 0;
	top: 0; */
	z-index: 99;
}

.sp-header * {
	box-sizing: border-box;
}

.sp-header-main {
	width: 100%;
	background-color: white;
}

.sp-logo {
	width: 100%;
	text-align: center;
	padding: 0;
}

.sp-logo img {
	height: 55px;
}

.sp-botan {
	width: 100%;
	position: sticky;
	top: 0;
	z-index: 999;
}

.sp-botan > ul {
	width: 100%;
	display: table;
	table-layout: fixed;
	background-color: #f1fcdb;
	padding: 5px 0;
}

.sp-botan > ul > li {
	display: table-cell;
	vertical-align: middle;
}

.sp-botan > ul > li > a, .sp-botan > ul > li > label {
	display: block;
	text-align: center;
	line-height: 0;
}

.sp-botan > ul > li img {
	height: 45px;
	width: auto;
}

.sp-menu {
	background-color: white;
	overflow: hidden;
	height: 0;
	opacity: 0;
	transition: all 0.2s;
}

.sp-menu ul {
	padding: 1px;
}

.sp-menu ul li {
	padding-bottom: 1px;
}

.sp-menu ul li:last-of-type {
	padding-bottom: 0;
}

.sp-menu ul li a, .sp-menu ul li label {
	display: block;
	padding: 15px;
	padding-left: calc(10% + 15px);
	background: linear-gradient(to right, #52a621 10%, #aac925 10%);
	color: white;
	font-size: 16px;
	position: relative;
	text-shadow: 0 2px 2px rgba(0,0,0,0.2);
}

.sp-menu ul li a::before, .sp-menu ul li label::before {
	content: " ";
	width: 5px;
	height: 5px;
	border-top: 2px solid white;
	border-right: 2px solid white;
	position: absolute;
	left: 4%;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
}

input#sp-menu:checked + .sp .sp-botan .sp-menu {
	height: auto;
	opacity: 1;
}

.footer-popup {
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 99;
	border-top: 1px solid white;
}

.footer-popup ul {
	width: 100%;
	display: table;
	table-layout: fixed;
}

.footer-popup ul li {
	display: table-cell;
	vertical-align: bottom;
}

.footer-popup ul li a {
	display: block;
	line-height: 0;
	background-color: #e2a90b;
}

.footer-popup ul li:first-of-type a {
	background-color: #98c834;
}

.footer-popup ul li:last-of-type a {
	background-color: #3fab3c;
}

/* body {
	padding-top: 118px;
} */

footer {
	padding-bottom: 15% !important;
}

/*2019/11/15 追記ここまで*/

}


/* スマホ 1020px */
@media screen and (max-width:1020px) {
	.campign_btn{
	    position: absolute;
	    bottom: 3.7vw;
	    left: 6.5vw;
	    width: 47vw;
	    max-width: 498px;
	}
}

/* スマホ 0～767px */
@media screen and (max-width:767px) {

h1{
	display: none;
}

.pc {
	display: none!important;
}

.sp {
	display: block!important;
}

/* base setting */
body {
	font-size: 15px;
	min-width: 100%;
}

img {
	max-width: 100%;
}

.lb-outerContainer {
    width: 100% !important;
    height: auto !important;
}

.lb-dataContainer, #lightboxOverlay {
    width: 100% !important;
}

/* float */
.left_area {
	float:none;
	text-align: center;
	margin: 0 auto 15px;
}

.right_area {
    float: none;
	margin: 0 auto 15px auto;
    text-align: center;
}

.left_area:last-child img {
	margin-bottom: 0;
}

.point_block .right_area {
    max-width: 300px;
}

.flex {
	-webkit-flex-direction: column; /* Safari */
	flex-direction:         column;
}

/* page-background */
.bg01 {
	padding: 15px 20px 40px;
}

.bg02 {
	padding: 52px 20px 40px;
}

/* 目立たせるブロック */
.point_block {
    padding: 28px 20px;
}

.point_block .ttl {
    margin-bottom: 8px;
}

.sec.flow .point_block .ttl {
    font-size: 20px;
    font-size: 2.0rem;
}

/* breadcrumb list */
.breadcrumb li {
    font-size: 12px;
	font-size: 1.2rem;
}

.breadcrumb .flex {
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
.breadcrumb ul {
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

/* 余白 */
header .inner,
nav ul,
.top_cont .inner,
.cv .inner,
.line .inner,
footer .inner,
.ftr-nav ul,
.page-ttl .inner
 {
	width: 100%;
	padding: 0 4%;
}

header .inner {
    margin-bottom: 20px;
}

.page_cont {
    width: 100%;
	padding: 0 4%;
}

footer .inner {
	padding: 25px 4% 25px;
}

/* table */
table th, table td {
	padding: 10px 10px;
}

.tbl02 th, .tbl02 td {
    padding: 8px 8px;
}

.tbl03 {
	margin: 0 0 1em;
}

.tbl03 th, .tbl03 td{
	display: block;
	padding: 10px 22px;
}

.tbl03 th {
    margin-top: -1px;
    border-bottom: none;
}

.page_tbl.right_area {
    width: 100%;
	margin-bottom: 24px;
}

/* form */
.required:after {
    display: block;
    text-align: center;
    width: 35px;
    float: none;
}

/* title */
.top_reason .top_ttl em {
    font-size: 38px;
    font-size: 3.8rem;
	bottom: 7px;
}

.top_reason .bud .inner::before {
    bottom: -17px;
}

.top_ttl.ttl04 {
    background: url(../images/ttl_bg01.png) no-repeat bottom center / contain;
}

.top_ttl.ttl05 {
    background: url(../images/ttl_bg01.png) no-repeat bottom center / contain;
}

.top_ttl.ttl06 {
    font-size: 25px;
    font-size: 2.5rem;
}

.top_ttl.small {
    font-size: 2.6rem;
	text-align: center;
}

.top_ttl.small .icon {
    margin-right: 8px;
    width: 28px;
}

.top_ttl {
    font-size: 26px;
    font-size: 2.6rem;
	line-height: 1.5;
	margin-bottom: 1em;
}

.top_ttl.ttl02 {
    font-size: 24px;
    font-size: 2.4rem;
	padding-top: 6px;
}

.bud .inner::before {
    background-image: url(../images/ttl_bud.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    content: "";
    position: absolute;
    bottom: -12px;
    right: -44px;
    width: 68px;
    height: 64px;
}

.top_reason .bud .inner::before {
    bottom: -17px;
}

.page_ttl.ttl04.bud .inner::before {
    bottom: -14px;
}

.top_reason .top_ttl {
    margin-bottom: 60px;
}

.page_ttl.ttl01 {
    font-size: 26px;
    font-size: 2.6rem;
	margin-bottom: 30px;
}

.page_ttl.ttl02 {
	background: url(../images/page-ttl02_bg.png) no-repeat -8px 100% #f6f2e5;
    font-size: 20px;
    font-size: 2.0rem;
    height: auto;
    padding: 7px 30px 13px;
}

.page_ttl .price {
    float: none;
    display: block;
}

.page_ttl.ttl04 {
    font-size: 26px;
    font-size: 2.6rem;
	line-height: 1.5;
}

.page_ttl.ttl04 em {
    font-size: 38px;
    font-size: 3.8rem;
	bottom: 7px;
}

.page_ttl.ttl05 {
    font-size: 24px;
    font-size: 2.4rem;
	padding: 6px 0 10px;
	margin-bottom: 50px;
}

/* button */
.top_reason .cmn_btn {
    margin-bottom: 40px;
}

.cmn_btn a {
    border-radius: 60px;
    font-size: 17px;
    font-size: 1.7rem;
    padding: 10px 33px;
	width: 90%;
}

.cmn_btn.small {
    margin-top: 34px;
}

.cmn_btn.small a {
    font-size: 17px;
    font-size: 1.7rem;
}

.mail_btn {
    float: none;
    margin-bottom: 40px;
}

.mail_btn a {
    padding: 15px 33px;
}

.mail_btn .fa {
    font-size: 26px;
	font-size: 2.6rem;
}

.page_link_btn {
    margin: 0;
}

.page_link_btn a {
	border-radius: 60px;
    padding: 10px 33px;
}

.top_reason .page_link_btn a {
    border-radius: 60px;
    font-size: 17px;
    font-size: 1.7rem;
    padding: 10px 33px;
	width: 90%;
}

/* tel */
.cv .tel_area {
    float: none;
}

.cv .tel {
    font-size: 40px;
    font-size: 4.0rem;
    margin-bottom: 18px;
}

.point_block .tel {
    float: none;
    margin-left: 0;
    font-size: 26px;
    font-size: 2.6rem;
	margin-bottom: 10px;
}

.cv .tel .fa {
    font-size: 40px;
    font-size: 4.0rem;
    margin-right: 14px;
}

.open_close {
    text-align: center;
}

.point_block .open_close {
    float: none;
    margin-right: 0;
}

.tel a {
	text-decoration: underline;
}

.img_area img {
	margin-right: 0;
	display: block;
/*	max-width: 220px;*/
	margin: 0 auto;
}

.img_area img {
	margin-bottom: 20px;
}

.img_area img:last-child {
	margin-bottom: 0;
	margin-right: auto;
}


.cv_contact2 a {
	width: 100%;
}


/**/

p.img-mail-bnr img {
    width: 100%;
}



/* header
----------------------------------------------------------- */
header .inner{
	min-height: 80px;
}

header .info_area {
	display: none;
}

.head_logo{
	width: 100%;
	float: none;
	text-align: center;
	margin: 5px auto 0;
	top: 0;

	-webkit-justify-content: center;
	justify-content: center;
}


h1 {
	margin: 18px 0;
	width: 88%;
}

.head_logo img{
	max-height: 80px;
}

/*強み */
.point_area {
    display: none;
}

/* g-navi
----------------------------------------------------------- */
nav .flex {
	display: block;
}

nav ul {
	height: auto;
	position: relative;
	overflow-x: hidden;
	overflow-y: auto;
	font-size: 15px;
    font-size: 1.5rem;
	margin-bottom: 20px;
}

nav li:first-child {
    border-left: none;
}

nav li {
    border-right: none;
	border-bottom: 1px solid #c2c2c2;
    padding: 14px 0;
}

nav ul li a:hover{
	background: none;
	color: inherit;
	font-weight: bold;
	opacity: 0.6;
}

.nav-button {
    display: block;
    cursor: pointer;
}

.nav-wrap {
	position: fixed;
	left: 0;
	top: 0;
	display: none;
	background-color: rgba(246, 242, 229, 0.9);
	width: 100%;
	height: 100%;
	padding: 20px;
	z-index: 9999;
}

/*メニューボタンのエフェクト*/
  .nav-button,
  .nav-button span {
    display: inline-block;
    transition: all 0.4s;
  }
  .nav-button {
    z-index: 10000;
    position: fixed;
    width: 40px;
    height: 36px;
    top: 20px;
    right: 4%;
  }
  .nav-button span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #333;
    border-radius: 4px;
  }
  .nav-button span:nth-of-type(1) {
    top: 0;
  }
  .nav-button span:nth-of-type(2) {
    top: 16px;
  }
  .nav-button span:nth-of-type(3) {
    bottom: 0;
  }
  .nav-button.active span:nth-of-type(1) {
    -webkit-transform: translateY(16px) rotate(-45deg);
    transform: translateY(16px) rotate(-45deg);
  }
  .nav-button.active span:nth-of-type(2) {
    opacity: 0;
  }
  .nav-button.active span:nth-of-type(3) {
    -webkit-transform: translateY(-16px) rotate(45deg);
    transform: translateY(-16px) rotate(45deg);
  }

/* main-img
----------------------------------------------------------- */
.main-img{
	height: auto;
	line-height: 0;
}

.mainimage-wrap{
	width: auto;
	max-width: 98%;
	padding: 0 1%;
}

.top_open{
	left: 0;
}

.top_open img{
	width: 13.2vw;
	max-width: 90px;
	height: auto;
}

.mainimage img{
	width: auto;
	max-width: 100%;
}

.page-ttl {
	font-size: 24px;
	font-size: 2.4rem;
	height: 0;
    background-repeat: no-repeat;
    background-position: center;
	background-size: 100% auto;
	padding-top: 36.266%;
	position: relative;
}

.page-ttl.ttl01 {
    background-image: url(../images/page-ttl01_sp.jpg);
}

.page-ttl.ttl02 {
    background-image: url(../images/page-ttl02_sp.jpg);
}

.page-ttl .inner {
    max-width: 90%;
    padding-top: 0;
    position: absolute;
    top: 28%;
    left: 4%;
}

/* common
----------------------------------------------------------- */
.wrap{
	width: 98%;
	max-width: 1000px;
	padding: 0 1%;
}

.ttl01{
	line-height: 0;
	min-height:auto;
	padding: 10px 0;
}

.ttl01 img{
	width: auto;
	max-width: 95%;
	margin: 0 auto;
}

.ttl01 .ttl01_text{
	min-height: 60px;
	line-height: 1.4;
	height: 100%;

	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.ttl02 span.ttl02_wrap{
	font-size: 28px;
	padding: 0 10px;
	display: block;
}

.ttl02 span.ttl02_wrap::before{
	background-size: 6vw auto;
	left: -3vw;
	background-position: left 80%;
	top: 0;
}

.ttl02 span.ttl02_wrap::after{
	background-size: 6vw auto;
	right: -5vw;
	background-position: left 80%;
	top: 0;
}

.ttl03{
	font-size: 28px;
}


.br2{
	display: inline;
}

.ttl06,
.ttl07{
	font-size: 30px;
}


/* first
----------------------------------------------------------- */
.top_first{
	padding-top: 30px;
}

.first_list_wrap{
	-webkit-flex-direction: column;
	flex-direction: column;

	margin-bottom: 40px;
}

.first_img{
	text-align: center;
}

.omakase_inline{
	-webkit-flex-direction: column;
	flex-direction: column;
}

.omakase_text p{
	font-size: 18px;
}

.omakase_img{
	text-align: center;
	margin: 30px auto 0;
	position: relative;
	z-index: 5;
}



/* voice
----------------------------------------------------------- */
.top_voice{
	padding: 50px 25px 20px;
}

.top_voice_conts{
	width: 100%;
	margin: 0 auto 50px;
}

.top_voice_img{
	margin: 20px auto 5px;
}

.top_voice_img img{
	width: auto;
	max-width: 100%;
}

/* reason
----------------------------------------------------------- */
.top_reason_conts{
	margin: 0 auto 70px !important;
	width: 100%;
	max-width: 460px;
}

.top_reason_conts:last-of-type{
	margin-bottom: 0 !important;
}

.reason_conts02_img{
	margin: 0 auto;
}

.top_reason_img img{
	width: auto;
	max-width: 100%;
}


/* profile
----------------------------------------------------------- */
.profile_outline{
	-webkit-flex-direction: column-reverse;
	flex-direction: column-reverse;
}

.profile_img{
	text-align: center;
	margin: 0 auto;
}

.profile_textconts p{
	background-position-y: -4px;
	margin-bottom: 6px;
}


/* reason
----------------------------------------------------------- */

.reason_ttl01 img{
	width: 13vw;
	max-width: 118px;
	height: auto;
}

.reason_ttl01 span{
	font-size: 28px;
}

.top_reason_conts02{
	margin-bottom: 40px;
	padding-top: 70px;
}


/* flow
----------------------------------------------------------- */

.flow_ttl01{
	font-size: 32px;
}

.flow_conts_wrap{
	padding: 25px;
}

.flow_tb{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column-reverse;
	flex-direction: column-reverse;
}

.flow_tb_img{
	margin: 0 auto 30px;
}

.flow_tb_img figure{
	line-height: 0;
	margin: 0;
	margin-right: 15px;
}

.flow_tb_img figure:last-of-type{
	margin-right: 0;
}

.flow_lr{
	-webkit-flex-direction: column-reverse;
	flex-direction: column-reverse;
}

.flow_lr_img{
	margin: 0 auto 20px;
	text-align: center;
	width: 100%;
	max-width: 300px;
}

.flow_lr_text{
	width: 100%;
}


/* price
----------------------------------------------------------- */

.top_price{
	padding-bottom: 50px;
}

.top_price_menu{
	border: 3px solid #115711;
}

.top_price_menu dl{
	-webkit-flex-direction: column;
	flex-direction: column;
	border-bottom: none;
}

.top_price_menu dl dt{
	width: 100%;
	padding: 0;
}

.top_price_menu dl dd{
	width: 100%;
	padding: 7px 0;
	border: none;
}

.top_campign_bnr{
	margin-top: 30px;
}


/* policy
----------------------------------------------------------- */
.policy_conts01{
	-webkit-flex-direction: column-reverse;
	flex-direction: column-reverse;
}


.policy_conts02{
	-webkit-flex-direction: column-reverse;
	flex-direction: column-reverse;
}

.policy_img01,
.policy_img02{
	right: 0;
	left: 0;
	margin: 0 auto;
	position: relative;
}

.policy_text01,
.policy_text02{
	width: 100%;
	max-width: 100%;

	margin-top: -30px;
	padding: 40px 20px 20px;

	min-height: 100%;
}

/* recommend
----------------------------------------------------------- */
.reco_conts{
	margin-bottom: 40px;

	-webkit-flex-direction: column;
	flex-direction: column;
}

.reco_img{
	margin: 0 auto 20px;
}

.reco_text{
	width: 100%;
	margin: 0 auto;
}

.reco_name span{
	font-size: 1.3em;
}

.reco_text p{
	margin-bottom: 15px;
}

.reco_text p:last-of-type{
	margin-bottom: 0;
}



/* access
----------------------------------------------------------- */
.top_access{
	margin-bottom: 20px;
}

.access_conts{
	width: 50%;
	max-width: 320px;
	margin: 0 auto 50px !important;
}

/* column fb
----------------------------------------------------------- */
.top_column_conts,
.top_fb_conts{
	width: 100%;
	margin: 0 auto;
}

.top_fb_conts{
	margin-top: 40px;
}


/* menu column
----------------------------------------------------------- */
.cv_conts{
	flex-direction: -webkit-column;
	flex-direction: column;
	-webkit-justify-content: center;
	justify-content: center;

	margin: 50px auto;
}

.cv_tel{
	margin: 0 auto 15px;
}

.cv_contact a{
	margin: 0 auto;
}

/* sns
----------------------------------------------------------- */

.top_sns_pc{
	display: none;
}
.top_sns_sp{
	display: block;
	margin-top: 50px;

	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
}

.top_fb,
.top_instagram{
	width: 100%;
	max-width: 500px;
	margin: 0 auto;
}

.top_fb{
	margin-bottom: 30px;
}

.fb-wrapper {
    max-width: 500px;
    margin: 0 auto;
}
.fb-wrapper .fb-page {
    width: 100%;
}
.fb-wrapper .fb-page span,
.fb-wrapper iframe {
    width: 100% !important;
}

.top_ttl_fb,
.top_ttl_insta{
	margin-bottom: 20px !important;
}

/* access
----------------------------------------------------------- */
.gmap iframe {
	width: 100%;
}

.gmap {
	float: none;
    margin-bottom: 1em;
}

.top_access .detail {
    float: none;
    width: 100%;
}

/* faq
----------------------------------------------------------- */
.faq_list dt {
    font-size: 18px;
    font-size: 1.8rem;
	padding-left: 16px;
}

.faq_list dd .inner {
    padding: 20px 20px;
}

/* conversion area
----------------------------------------------------------- */
.cv .notice_list {
    font-size: 14px;
    font-size: 1.4rem;
    padding: 8px 15px;
}


/* column
----------------------------------------------------------- */
.column_conts{
	-webkit-flex-direction: column;
	flex-direction: column;
}

.column_cat_ttl01{
	font-size: 26px;
}

.column_single{
	max-width: 100%;
}

.column_sidemenu{
	max-width: 100%;
	margin-left: 0;
}

.column_side_new_list li{
	border-bottom: 1px dashed #bbb;
	padding-bottom: 10px;
}

.column_side_cat ul{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-top: 10px;
}

.column_side_cat ul li{
	margin-right: 10px;
	margin-bottom: 5px;
}

.column_side_cat ul li a{
	background: #e8e2cc none repeat scroll 0 0;
    border-radius: 100px;
    padding: 5px 15px;
    text-align: center;
}

.column_side_cat ul li a:before{
	content: "#";
}

.single_ttl01{
	font-size: 24px;
}

.column_single_conts h3{
	font-size: 1.2em;
	border-left: 7px solid #e8e2cc;
	padding: 3px 0 5px 8px;
}


.column_single_conts h4{
	font-size: 1.1em;
}


/* LINE
----------------------------------------------------------- */
.line{
	padding: 35px 0;
}

.line .icon_main {
    margin: 0 18px 0 0;
    width: 15%;
}

.line .info {
    width: 77%;
    margin-bottom: 20px;
}

.line_ttl {
    font-size: 26px;
    font-size: 2.6rem;
}

.line_ttl_sub {
    font-size: 16px;
    font-size: 1.6rem;
}

.line .add {
    float: none;
	clear: both;
}

.line .qr {
	display: none;
}

.line_btn {
    float: none;
    margin-right: 0;
    height: auto;
}

.line_btn a {
    border: none;
    border-radius: 80px;
    background: #fff;
    color: #333;
    font-size: 16px;
    font-size: 1.6rem;
	width: 70%;
	margin: 0 auto;
}

.line_btn .icon {
    display: none;
}

/* footer
----------------------------------------------------------- */
footer {
    padding-bottom: 68px;
}

.ftr-nav {
    font-size: 14px;
    font-size: 1.4rem;
	padding: 0;
}

.ftr-nav .flex {
	display: block;
}

.ftr-nav ul {
	padding: 0;
}

.ftr-nav li {
    border-right: none;
    text-align: left;
    padding: 16px 4%;
    border-bottom: 1px solid #c2c2c2;
}

.ftr-nav li:last-child {
	border-bottom: none;
}

.ftr-nav li a:hover{
	background: no-repeat;
	color: inherit;
	opacity: 0.6;
}

.ftr-nav li:last-child{
	border-right: none;
}

.logo_area {
    float: none;
    margin-right: 0;
}

.logo_area .logo {
	text-align: center;
}

footer .logo img {
	width: 240px;
}

.tbl_area {
    float: none;
	margin-bottom: 30px;
}

.logo_area .address {
    margin-bottom: 16px;
}

.sns {
    float: none;
    text-align: center;
}

.sns a {
    margin-right: 15px;
}

.sns a img {
	width: 45px;
}

#pagetop {
    bottom: 71px !important;
}

#pagetop img{
    width: 54px;
}

.copyright {
    padding: 18px 80px;
}

.floating_menu {
    width: 100%;
    position: fixed;
    left: 0px;
    bottom: -200px;
    z-index: 6;
    text-align: center;
    padding: 0 auto;
	font-size: 18px;
	font-size: 1.8rem;
	color: #fff;
	font-weight:bold;

	-webkit-transition: bottom 0s ease 0s;
	transition: bottom 0.25s ease 0s;
}

.floating_menu.on{
	bottom: 0;
}

.floating_menu .flex {
	-webkit-flex-direction: row; /* Safari */
	flex-direction:         row;
}

.floating_box {
	width: 100%;
    padding: 16px 5px 10px;
	font-size: 12px;
	font-size: 1.2rem;
	position: relative;
	border-top: none;
}

.floating_box a {
    width: 100%;
    margin: 0 auto;
	text-decoration: none;

	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
}

.floating_box .icon {
	height: 32px;
	margin-bottom: 10px;
/*	width: 30px;*/
    display: inline-block;
    vertical-align: top;
}

.floating_box.tel {
	background: #fcc225;
}

.floating_box .detail {
    width: 130px;
    display: inline-block;
}

.floating_menu .tel {
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
}

}


@media screen and (max-width:640px) {

	/* common */
	table tr{
		-webkit-display: flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	table tr th,
	table tr td{
		width: 100%;
		display: block;
		text-align: left;
		padding: 5px 10px;
	}

	table tr th{
		border-bottom: none;
	}

	table tr td{
		border-top: none;
	}

	.sample tr th:nth-of-type(1) {
     width: 24%;
	}

	.sample tr th, .sample tr td {
    width: 38%;
    border-top: 1px solid #dbd9d0;
    border-bottom: 0;
	}

	table tr th, table tr td {
    width: 100%;
    text-align: left;
    padding: 5px 10px;
	}

	/* 全ページ */
	.tbl_area table,
	.tbl_area table tbody,
	.tbl_area table tr{
		-webkit-display: flex;
		display: flex;
	}

	.tbl_area table tr{
		width: 50%;
	}

	.tbl_area table tbody tr th{
		text-align: center;
	}

	.tbl_area table tbody tr:first-child th,
	.tbl_area table tbody tr:first-child td{
		border-left: 1px solid #dbd9d0;
	}

	.tbl_area table tbody tr th,
	.tbl_area table td:last-child{
		border-right: 1px solid #dbd9d0;
	}


	/* メインイメージ */
	.mainimage-wrap{
		max-width: 100%;
		padding: 0;
	}

	.main-img{
		margin-bottom: 10px;
	}

	.mainimage_pc{
		display: none;
	}

	.mainimage_sp{
		display: block;
	}

	.top_open{
		top: -14vw;
		left: 3px;
	}

	.top_open img{
		width: 20vw;
	}


	/* トップページ
	--------------------------------------- */

	/* common */
	.ttl01{
		margin-bottom: 50px;
	}

	.ttl02{
		margin-bottom: 20px;
	}

	.ttl02 span.ttl02_wrap{
		font-size: 20px;
		line-height: 1.5;
		min-height: 50px;
	}

	.ttl03{
		font-family: "Sawarabi Mincho";
		font-weight: normal;
	}

	.ttl04{
		font-size: 18px;
		line-height: 1.5;
		margin-bottom: 40px;
	}

	.ttl04:after{
		bottom: -20px;
	}

	.ttl05{
		font-size: 18px;
		padding: 10px;
	}

	.ttl06{
		font-size: 20px;
		border-bottom: 1px solid;
		margin-bottom: 20px;
	}

	.ttl07{
		font-size: 18px;
		border-bottom: 1px solid;
		padding-bottom: 9px;
		text-align: left;
	}

	.ttl07 .br{
		display: inline;
	}

	.wrap{
		width: 95%;
		padding: 0 2.5%;
	}


	/* こんなお悩みございませんか？ */
	.top_first{
		padding-bottom: 30px;
	}

	.first_list_wrap{
		margin-bottom: 25px;
	}

	.first_list ul li{
		font-size: 15px;
		font-weight: normal;
		background-size: 20px auto;
		background-position-y: 2px;
		padding-left: 30px;
		margin-bottom: 14px;
	}

	.omakase{
		padding: 8px;
	}

	.omakase_outline{
		padding: 16px;
	}

	.omakase_inline{
		margin-top: 14px;
	}

	.omakase_text p{
		font-size: 15px;
	}

	.omakase_bg01{
		width: 100px;
		height: 100px;
		left: 0px;
		top: 0;
	}

	.omakase_bg02{
		width: 100px;
		height: 100px;
		top: 30px;
	}

	.omakase_img{
		margin-top: 16px;
	}


	/* お客様の声 */
	.ttl02 span.ttl02_wrap{
		padding: 0 8vw;
	}

	.ttl02 span.ttl02_wrap:before{
		background-size: 40px auto;
		left: -4%;
		background-position: left top;
	}

	.ttl02 span.ttl02_wrap:after{
		background-size: 40px auto;
		right: -5%;
		background-position: right top;
	}

	.top_voice{
		padding: 30px 0px 0;
	}

	.top_voice_conts{
		padding: 20px 20px 30px;
		box-shadow: 10px 10px 0 #60b432;
		margin-bottom: 28px;
	}

	.top_voice_conts:last-of-type{
		margin-bottom: 30px;
	}


	/* キャンペーン */
	#campaign{
		padding-bottom: 30px;
	}

	.campign_btn{
		width: 45vw;
		left: 6.3vw;
	}


	/* プロフィール */
	.top_profile{
		padding-bottom: 30px;
	}

	.profile_img img{
		width: auto;
		max-width: 250px;
	}

	.profile_ttl01{
		font-size: 18px;
		margin-bottom: 8px;
		border-bottom: 1px solid;
		padding-bottom: 0;
	}



	/* 選ばれる理由 */
	.top_reason{
		padding-bottom: 40px;
	}

	.top_reason_conts{
		margin-bottom: 40px !important;
	}

	.top_reason_num{
		top: -30px;
		left: 0;
		right: 0;
		text-align: center;
	}

	.top_reason_num img{
		width: 80px;
		height: auto;
	}

	.top_reason_conts{
		padding: 20px;
	}

	.top_reason_img{
		margin-bottom: 5px;
	}

	.top_reason_text{
		font-family: "Sawarabi Mincho";
		font-size: 20px;
		font-weight: normal;
	}

	.top_reason_text .ttl{
		font-size: 1.2em;
		font-weight: 500;
	}

	.reason_ttl01{
		-webkit-align-items: flex-start;
		align-items: flex-start;
	}

	.reason_ttl01 span{
		font-size: 18px;
		line-height: 1.5;
		margin-left: 12px;
	}

	.top_reason_conts02{
		padding-top: 30px;
	}

	.top_reason_conts02_outline{
		margin: 10px 16px 0;
	}

	.top_reason_conts02_inline{
		margin-top: 12px;
	}

	.reason_conts02_img{
		float: none;
		text-align: center;
		max-width: 250px;
		line-height: 0;
		margin-bottom: 16px;
	}


	/* 施術の流れ */
	.top_flow{
		padding-bottom: 30px;
	}

	.flow_conts_wrap{
		padding: 16px;
	}

	.flow_conts{
		margin-bottom: 36px;
	}

	.flow_ttl01{
		font-size: 20px;
		margin-bottom: 16px;
	}

	.flow_ttl01:after{
		width: 50px;
	}

	.flow_tb_img{
		margin-bottom: 16px;
	}

	.flow_lr_img{
		line-height: 0;
		margin-bottom: 16px;
	}

	.flow_lr_text p:last-of-type{
		margin-bottom: 0;
	}


	/* 当院の施術方針とは */
	.top_policy{
		padding-bottom: 30px;
	}

	.policy_img01,
	.policy_img02{
		width: 80%;
	}


	/* 推薦文 */
	.top_recommend{
		padding-bottom: 30px;
	}

	.reco_conts{
		padding: 20px;
		margin-bottom: 24px;
	}

	.reco_img{
		margin-bottom: 8px;
		width: 100%;
		max-width: 100%;
	}



	/* 施術メニュー・料金 */
	.top_price_menu dl dt{
		font-size: 18px;
	}

	.top_price_menu dl dd{
		font-size: 16px;
	}


	/* アクセス */
	.top_access_mapdate{
		height: 60vw;
	}

	.access_conts{
		width: 48.5%;
		margin-right: 3% !important;
		margin-left: 0 !important;
		margin-bottom: 35px !important;

		border-width: 4px;
	}

	.access_conts:nth-of-type(2n){
		margin-right: 0 !important;
	}

	.access_num{
		top: -30px;
	}

	.access_num img{
		width: 60px;
		height: auto;
	}


	.cv_contact a{
		width: auto;
		max-width: 100%;
	}

	.top_column_fb{
		padding: 30px 0;
	}

	/* コラム */
	.top_column dl{
		-webkit-flex-direction: column;
		flex-direction: column;

		padding-bottom: 10px;
		margin-bottom: 15px;
	}

	.top_column dl dt{
		font-size: 13px;
	}

	.top_column dl dd{
		width: 100%;
		margin-left: 0;
		margin-top: 5px;
	}

	.column_single_conts h3,
	.column_single_conts h4{
		font-weight: bold;
	}


	/* cv */
	.ttl01 .ttl01_text{
		font-size: 22px;
		line-height: 1.5;
		min-height: 30px;

		font-family: "Sawarabi Mincho";
		font-weight: normal;
	}

	.cv_conts{
		margin: 30px auto 50px;
	}

.cv_conts2 {
    margin: 30px auto 20px;
}




	.cv_telnum{
		font-size: 9vw;
	}

	.line_ttl{
		font-size: 18px;
	}

	.cv_contact a{
		font-size: 18px;
	}

	.cv_contact a img{
		width: 30px;
		height: auto;
	}

	.cv_open_sche p{
		margin-left: 0;
		margin-right: 10px;
	}


	/* floating box */
	.floating_box .icon{
		margin-bottom: 0;
		height: auto;
	}



	/* お問い合わせ */
	.second_conts{
		margin-bottom: 75px;
	}

	.second_conts:last-of-type{
		margin-bottom: 50px;
	}

	#second .main-img{
		height: 34vw;
		min-height: 100px;
	}

	.second_ttl01{
		font-size: 24px;
		font-family: "Sawarabi Mincho";
	}

	.point_block .tel{
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;

		background-position: center center;
	}

	.contact_reserve_conts{
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-justify-content: center;
		justify-content: center;
	}

	.point_block{
		padding: 20px 15px;
	}

	.point_block .tel{
		font-family: "Sawarabi Mincho";
	}


	.point_block .tel img{
		width: 25px;
		height: auto;
		margin-right: 10px;
	}

	.point_block .open,
	.point_block .close{
		text-align: center;
	}

	.point_block .close{
		text-indent: 0;
	}

	input[type="text"], input[type="tel"], input[type="email"], input[type="password"], textarea, select {
	    font-size: 16px;
	}

	.required::after{
		display: inline;
		margin-left: 10px;
	}

	.contact_form td{
		padding: 18px 0;
	}


	/* wordpress */
	.single_ttl01{
		font-size: 24px;
	}

	.breadcrumb{
		margin-bottom: 20px;
	}


}


@media screen and (max-width:320px) {
	#pagetop{
		bottom: 33vw !important;
	}

	.floating_box .icon{
		display: block;
		min-height: 30px;
	}

	.floating_box a{
		-webkit-flex-direction: column;
		flex-direction: column;
	}

	nav ul li a{
		padding: 0;
	}
}