@charset "utf-8";
/* CSS Document */
/*********************************************************************
                           全体にかかる部分
**********************************************************************/
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
a {
	text-decoration: none;
	-webkit-font-smoothing: antialiased;
}
a:hover {
	-webkit-font-smoothing: antialiased;
}

a:hover img {
	opacity: 0.85;/*--IE,FF対応--*/
	filter: alpha(opacity=85);
	-ms-filter: "alpha( opacity=85)";
}
p {
	margin: 0.5em 0 1.2em;
	-webkit-font-smoothing: antialiased;
	text-align: justify;
	font-weight: 400;
}
h1, h2, h3, h4, h5, h6 {
	font-family: 'Noto Serif JP', serif;
	font-weight: normal;
}
html {
	overflow-y: scroll;
}
body {
	counter-reset: number 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
html,body {
	width: 100%;
	height: 100%;
	-webkit-text-size-adjust: 100%;
	font-size: 16px;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 175%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
@media screen and (max-width: 640px) {
	html,body { font-size: 12px; }
}
.pc {
	display: block;
}
.sp {
	display: none;
}
.container {
	position: relative;
}
/*********************************************************************
                           ヘッダここから
**********************************************************************/
header {
	position: fixed; 
	top: 0; 
	left: 0; 
	width: 100%; 
	height: 70px; 
	z-index: 999;
}
.header_wrap{
	position: relative;
	max-width: 1200px;
	margin: auto;
}
header .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
 	align-items: center;
 	width: 100%;
 	height: 70px;
	margin:0 auto 0;
	padding: 10px;
}

h1 {
	width: 100%;
	font-size: 0.8rem;
	text-align: left;
	height: 40%;
	padding-bottom: 5px;
    line-height: 1;
}
header .inner .logo_area{
	width: 35%;
	height: auto;
	height: 60%;
}
header .inner .logo_area img{
	width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;
}
header .inner ul.nav-list{
	width: 65%;
	padding: 0;
	text-align: right;
}
header ul.nav-list li{
	display: inline-block;
	font-size: 0.85rem;
	font-weight: 500;
	font-family: 'Noto Serif JP', serif;
}
header ul.nav-list li::after{
	content: "／";
	padding-left: 4px;
}
header ul.nav-list li:last-child::after{
	content: "";
	padding-left: 4px;
}
header ul.nav-list li a:hover{
	border-bottom: 2px solid;
}

header .btn_area {
	display: block;
	position: absolute;
	top: 100px;
	right: 0;
	width:100%;
	max-width: 60px;
	height: auto;
	min-height: 70px;
	text-align:center;
	padding: 10px 0px 10px;
	cursor: pointer;
}

header .btn_area img {
	width:100%;
	height: auto;
	padding: 10px 22px 0 20px;
	margin: 0 auto 0;
}

header .btn_area img.sp {
	max-width: 34px;
	padding: 8px;
}
@media screen and (max-width: 1024px) {
	h1 {
		font-size: 10px;
		height: 50%;
	}
	header .inner{
		width: calc(100% - 75px);
		margin: 0;
		padding: 10px 0 10px 10px;
	}
	header .inner .logo_area{
		width: 85%;
		height: 50%;
	}
	header ul.nav-list{
		display: none;
	}
	header .btn_area{
		display: none;
	}
}

/*********************************************************************
							ヘッダここまで
**********************************************************************/

/***********************************
		ハンバーガーメニュー
**************************************/

.glmenu,
.gnav_wrap{
	display: none;
}

@media screen and (max-width: 1024px) {
	.glmenu{
		display: block;
		overflow: hidden;
	}
	.gnav_wrap{
		display: block;
		overflow: hidden;
	}
	.navT * {
		margin: 0;
		padding: 0;
		outline: none;
		border: none;
		font: inherit;
		font-family: inherit;
		font-size: 100%;
		font-style: inherit;
		font-weight: inherit;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		text-align: left;
		text-decoration: none;
		list-style: none;
	}
	.navT {
		display: block;
		padding: 0;
		width: 35px;
		height: 22px;
		position: relative;
		background: none;
		border: none;
		text-align: center;
		letter-spacing: 0.1em;
		cursor: pointer;
		outline: none;
	}
	.navT.active {
		position: fixed;
	}
	.navT span {
		display: block;
		width: 35px;
		height: 4px;
		transition: all 0.2s;
		transform-origin: 0% 0%;
		transform: translateY(-50%);
		position: absolute;
		left: 0;
	}
	.navT span:nth-child(1) {
		top: 0;
	}

	.navT span:nth-child(2) {
		top: 50%;
	}

	.navT span:nth-child(3) {
		top: 100%;
	}

	.navT.active span {
		width: 35px;
	}
	.navT .menus {
		display: block;
		top: 130%;
		position: absolute;
		left: -1px;
		font-size: 13px;
		letter-spacing: -0.01em;
	}

	.navT.active span:nth-child(1) {
		transform: rotate(45deg) translateY(-50%);
		top: -0.18em;
	}

	.navT.active span:nth-child(2) {
		opacity: 0;
	}

	.navT.active span:nth-child(3) {
		transform: rotate(-45deg) translateY(-50%);
		top: calc(100% - 0px);
	}

	.navT.active .menus {
		display: none;
		top: 120%;
	}

	/* === Hambuerger Button's Style End === */
	.glmenu .navT {
		position: absolute;
		top: 18px;
		right: 20px;
		z-index: 1001;
	}
	.glmenu .navT.active {
		position: fixed;
		top: 20px;
		right: 15px;
		z-index: 1001;
	}
	.glmenu a {
		text-decoration: none;
	}
	.glmenu .gl_bg {
		width: 100%;
		height: 100%;
		position: fixed;
		z-index: 999;
		display: none;
		top: 0;
		left: 0;
	}
	.glmenu .gnav_wrap {
		width: 312px;
		height: 100%;
		transition: all 0.2s;
		transform: translate(312px);
		position: fixed;
		top: 0;
		right: 0;
		z-index: 1000;
		letter-spacing: 2px;
		overflow-y:auto;
		-webkit-overflow-scrolling: touch;
	}
	.glmenu .gnav_wrap::before {
		content: "";
		height: 5px;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
	}
	.glmenu .gnav_wrap.open {
		transform: translate(0);
	}
	/* スクロールのつまみ部分の設定 */
	.gnav_wrap .inner::-webkit-scrollbar-thumb {
		border-radius: 5px;
	}
	.gnav_wrap p.gtitle {
		display: block;
		width: 90%;
		color: #313131;
		font-size: 16px;
		line-height: 100%;
		padding: 15px 20px 0px;
	}
	/*+++ Default Navigation CSS +++*/
	.glmenu .gnav {
		padding: 0px 0px;
	}
	.glmenu .gnav li {
		width: auto;
		font-size: 14px;
		line-height: 120%;
		margin-bottom: 0px;
		cursor: pointer;
		border-bottom: 1px solid;
	}
	.glmenu .gnav li a {
		display: block;
		width: auto;
		padding: 13px 10px 13px;
	}

	.glmenu .gnav li a::before {
		font-family: "Font Awesome 5 Free";
		content:"\f152";
		padding-right:5px;
		padding-left:0px;
		font-weight:bold;
		margin-right:0px;
	}

	.glmenu .gnav_farea p{
		display: block;
		font-size: 18px;
		font-family: 'Noto Serif JP', serif;
		font-weight: 600;
		margin: 5px auto 15px;
		text-align: center;
	}

	.glmenu .gnav_farea{
		display: block;
		clear: both;
		padding:10px 0 50px;
		margin: 0 auto 5px;
		text-align: center;
	}
	.mbtn_area,
	.mbtn_area_tel {
		display: block;
		width: 100%;
		max-width: 260px;
		height: 52px;
		text-align: center;
		cursor: pointer;
		padding: 5px 10px;
		margin: 10px auto 20px;
		border-radius: 5px;
		position: relative;
	}

	.mbtn_area img {
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform : translate(-50%,-50%);
		transform : translate(-50%,-50%);
		width: 50%;
	}
	.mbtn_area_tel span {
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform : translate(-50%,-50%);
		transform : translate(-50%,-50%);
		width: 100%;
		font-size: 1.6rem;
	}
	.mbtn_area_tel span::before {
		margin: 0 10px 0 0;
		content: "";
		display: inline-block;
		width: 1.6rem;
		height: 1.6rem;
		background: url("../asset/tel_icon.png");
		background-repeat: no-repeat;
		background-size: contain;
		vertical-align: middle;
	}

}
/***********************************
　　　ハンバーガーメニューここまで
************************************/

/***********************************
　　　メインバナー部分ここから
************************************/
.main_visual {
	width: 100%;
	max-width: 1200px;
}
#main_bnr {
	margin: 70px auto 0;
	padding:0;
}
#main_bnr img{
	margin:auto;
	width:100%;
	height:auto;	
}

@media screen and (max-width: 768px) {
	#main_bnr img.sp{
		display:block;
		margin:0 auto 0;
		width:100%;
		height:auto;	
	}
	#main_bnr img.pc{
		display: none;
	}
}

/***********************************
　　		　メインバナー部分ここまで
************************************/

/***********************************
			クーポン部分
************************************/

#coupon_area {
	display: block;
	text-align: center;
	background: url("../asset/coupon_bg.jpg") no-repeat scroll center center transparent;
	background-size: cover;
	width: 100%;
	height: auto;
	margin: 0 auto 0;
}

.coupon_area_wrap{
	width: 60%;
	margin: auto;
	padding: 60px 0;
}
.coupon_area_wrap h3{
	margin-bottom: 40px;
}
.coupon_area_wrap h3 img,
.coupon_area_wrap .coupon_bnr img{
	max-width: 100%;
	height: auto;
	margin: auto;
}

.coupon_bnr {
	background-color: #fff;
	/* hoverで透明になるため、背景に白を引く */
}

@media screen and (max-width: 768px) {
	#coupon_area .pc {
		display: none;
	}
	#coupon_area .sp {
		display: block;
	}
	.coupon_area_wrap{
		padding: 5vw 0;
	}
	.coupon_area_wrap h3{
		margin-bottom: 3vw;
	}
}
/***********************************
		クーポン部分ここまで
************************************/

/***********************************
		下部コンテンツ共通部分
************************************/

section {
	margin: auto;
	margin-bottom: 120px;
	padding: 0px;
}
@media screen and (max-width: 1024px) {
	section {
		margin-bottom: 100px;
	}
}
@media screen and (max-width: 768px) {
	section {
		margin-bottom: calc( 30px + 5vw );
	}
}

/***********************************
			お知らせここから
************************************/
#news {
	width: 100%;
	max-width: 1200px;
}
#news h3{
	width: 100%;
	font-size: 2rem;
	font-weight: 600;
	line-height: 100%;
	text-align: center;
	margin: 0px auto 0;
	padding-top: 0;
	padding-bottom: 20px;
}
.news_caption{
	font-size: 1rem;
	margin: 0;
	line-height: 1;
	text-align: center;
}
.news_area{
	display: flex;
	justify-content: space-between;
	border-top: 1px solid #000;
	margin-top: 20px;
	padding: 30px 5% 0;
}
.news_txt {
	width: 60%;
}
.news_txt h4 {
	position: relative;
	font-size: 1.5rem;
	margin-bottom: 15px;
	padding-left: 15px;
}
.news_txt h4::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 8px;
}
.news_txt p {
	padding-left: 15px;
}
.news_txt p.date{
	text-align: right;
	font-size: 0.8rem;
}
.news_img {
	width: 30%;
}
.news_img img {
	width: 100%;
}

@media screen and (max-width: 768px) {
	#news h3 {
		font-size: 2rem;
	}
	.news_txt {
		width: 100%;
		margin: 3vw auto 0;
	}
	.news_txt h4 {
		font-size: 1.2rem;
		margin-bottom: 0;
	}
	.news_txt p {
		font-size: 1.0rem;
	}
	.news_img {
		width: 60%;
		margin: auto;
		line-height: 1;
	}
	.news_area{
		flex-wrap: wrap-reverse;
		padding-top: 5%;
	}
}
/***********************************
			お知らせここまで
************************************/

/*********************************************************************
                    	コンテンツ01ここから
**********************************************************************/
#contents01 {
	width: 100%;
}
.contents01_wrap {
	padding: 60px 0;
	width: 100%;
	max-width: 1200px;
	margin: auto; 
}
.contents01_ttl {
	background: url(../asset/contents01_bg.jpg) no-repeat center center;
}
.contents01_ttl h3 {
	font-size: 2rem;
	width: 100%;
	max-width: 1200px;
	padding: 60px 5%;
	margin-bottom: 45px;
	text-align: center;
	font-weight: 600;
	margin: auto;
}
.contents01_ttl h3 span {
	display: block;
	font-size: 1.2rem;
	width: 100%;
	text-align: center;
	padding-bottom: 20px;
}
.contents01_box {
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 1200px;
	margin: auto;
	padding: 0 5%;
	margin-bottom: 40px;
}
.contents01_box:last-child {
	margin-bottom: 0;
}
.contents01_box:nth-child(odd) {
	flex-direction: row;
}
.contents01_box:nth-child(even) {
	flex-direction: row-reverse;
}
.contents01_box .contents01_img {
	width: 48.75%;
}
.contents01_box .contents01_img img {
	width: 100%;
	height: auto;
}
.contents01_box .contents01_txt {
	width: 48.75%;
}
.contents01_box .contents01_txt h4 {
	font-size: 1.4rem;
	margin: 0 0 20px;
	padding: 15px 15px 15px 60px;
	font-weight: 600;
	position: relative;
}
.contents01_box .contents01_txt h4::before {
	font-size: 2rem;
	counter-increment: number 1;
	content: "0"counter(number);
	position: absolute;
	left: 15px;
}
.contents01_box .contents01_txt p {
	font-size: 1rem;
	line-height: 1.4;
	padding-left: 20px;
	margin: 0 15px 0 40px;
	border-left: 1px solid;
}

@media screen and (max-width: 768px) {
	.contents01_ttl h3 {
		font-size: 2rem;
		padding: 5% 5% 7%;
	}
	.contents01_ttl h3 span {
		padding-bottom: 5px;
	}
	.contents01_wrap {
		padding: 5%;
	}
	.contents01_box {
		display: block;
		border: 1px solid;
		border-radius: 5px;
		padding: 0;
		margin: 0 auto 5%;
		width: 100%;
	}
	.contents01_box:nth-child(even) {
		flex-direction: row;
	}
	.contents01_box .contents01_img {
		width: 60%;
		margin: auto;
		padding: 20px 0;
	}
	.contents01_box .contents01_txt {
		width: 100%;
		margin: auto;
		padding: 0 20px 20px;
	}
	.contents01_box .contents01_txt h4 {
		font-size: 1.2rem;
		margin-bottom: 10px;
		padding: 10px 10px 10px 45px;
	}
	.contents01_box .contents01_txt h4::before {
		font-size: 1.5rem;
	}
	.contents01_box .contents01_txt p {
		font-size: 1rem;
		line-height: 1.4;
		padding-left: 0;
		margin: 0;
		border: none;
	}
}

/*********************************************************************
                    	コンテンツ01ここまで
**********************************************************************/

/*********************************************************************
                    	コンテンツ02ここから
**********************************************************************/
#contents02 {
	width: 100%;
	max-width: 1200px;
}
#contents02 h3 {
	width: 90%;
	font-size: 2rem;
	font-weight: 600;
	line-height: 100%;
	text-align: center;
	margin: 0px auto 0;
	padding-top: 0;
	padding-bottom: 20px;
}
#contents02 h3 span {
	display: block;
	width: 100%;
	font-size: 1.2rem;
	text-align: center;
	padding-bottom: 20px;
}
.contents02_wrap {
	padding: 0 5%;
}
.contents02_caption {
	font-size: 1rem;
	margin: 0;
	line-height: 1;
	text-align: center;
}
.contents02_box {
	width: 100%;
	background: url(../asset/contents02_bg.jpg) repeat top center scroll;
	margin: 60px auto;
	padding: 5%;
	display: flex;
	position: relative;
	flex-direction: row-reverse;
	flex-wrap: wrap;
	justify-content: space-between;
}
.contents02_box::before {
	content: "";
	position: absolute;
	top: -15px;
	left: 0;
	right: 0;
	height: 15px;
}
.contents02_img {
	width: 45%;
	height: auto;
}
.contents02_img img {
	width: 100%;
	height: auto;
}
.contents02_img p {
	font-size: 0.8rem;
	line-height: 1.5;
}
.contents02_txt {
	width: 52.5%;
}
.contents02_txt h4 {
	font-size: 1.5rem;
	margin: 0 0 20px;
	height: auto;
	text-align: left;
	font-weight: 600;
}
.contents02_txt h4 span {
	display: block;
	line-height: 1;
	margin-bottom: 15px;
}
.contents02_price {
	text-align: right;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
}
.contents02_price span {
	font-size: 2rem;
	margin-left: 10px;
}
.contents02_txt h5 {
	font-size: 1.25rem;
    line-height: 1.8;
    margin: 0 0 20px;
    padding: 5px 5px 5px 25px;
    text-align: left;
    border-top: 1px solid;
    border-bottom: 1px solid;
    font-weight: 600;
    position: relative;
}
.contents02_txt h5::before {
	content: "■";
	position: absolute;
	left: 0;
}
.contents02_list p {
	margin-left: 25px;
}
.contents02_btn p {
	font-size: 0.75rem;
	text-align: center;
	margin: 0 auto;
}
.web_btn a,
.tel_btn a {
	display: block;
	position: relative;
	width: 100%;
	margin: 15px auto;
	text-align: center;
	border-radius: 10px;
	line-height: 1;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	height: 60px;
}
.web_btn { font-size: 1.2rem; }
.tel_btn { font-size: 1.5rem; }

.web_btn a span::before{
	font-family: "Font Awesome 5 Free";
	content: "\f138";
	margin-right: 8px;
}
.tel_btn a span::before {
	margin: 0 10px 0 0;
    content: " ";
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;
    background: url("../asset/tel_icon.png");
	background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
}
.web_btn a span,
.tel_btn a span {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform : translate(-50%,-50%);
	transform : translate(-50%,-50%);
	width: 100%;
}

@media screen and (max-width: 768px) {
	.pc { display: none; }
	.sp { display: block; }

	.contents02_box {
		margin-top: calc( 30px + 3vw );
		margin-bottom: calc( 30px + 3vw );
		display: block;
	}
	#contents02 h3 {
		padding-bottom: 5%;
	}
	.contents02_img img{
		display: block;
    	width: 66.7%;
    	margin: 0 auto 15px;
	}

	.contents02_img,
	.contents02_txt,
	.contents02_btn {
		width: 100%;
	}
	.contents02_txt h5 {
		margin: 0 0 10px;
		padding-left: 20px;
	}
	.contents02_list p {
		margin-left: 20px;
	}
	.web_btn { font-size: calc( 6px + 3vw ); }
	.tel_btn { font-size: calc( 6px + 4vw ); }
	.web_btn a,
	.tel_btn a {
		margin: 20px auto;
		height: 72px;
	}
	.tel_btn a span::before {
		width: calc( 6px + 4vw );
		height: calc( 6px + 4vw );
	}
	.contents02_btn p {
		line-height: 1;
	}
	#contents02 h3 span {
		padding-bottom: 5px;
	}
}

/*********************************************************************
                    	コンテンツ02ここまで
**********************************************************************/
/*********************************************************************
                    	コンテンツ03ここから
**********************************************************************/
#contents03 {
	width: 100%;
	background: url(../asset/contents03_bg.jpg) no-repeat top center;
	background-size: cover;
}
.contents03_bg {
	background: url(../asset/bg_dot.png) repeat;
}
.contents03_wrap {
	width: 100%;
	max-width: 1200px;
	margin: auto;
}
.contents03_flex {
	padding: 5%;
	width: 100%;
	max-width: 1200px;
	margin: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.contents03_ttl h3 {
	font-size: 2rem;
	width: 100%;
	max-width: 1200px;
	padding: 60px 5%;
	margin-bottom: 45px;
	text-align: center;
	font-weight: 600;
	margin: auto;
}
.contents03_ttl h3 span {
	display: block;
	font-size: 1.2rem;
	width: 100%;
	text-align: center;
	padding-top: 20px;
}

.contents03_box {
	width: 32%;
}
.contents03_box img {
	width: 100%;
	margin: auto;
}

.contents03_box h4{
	display: block;
	width: 100%;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1;
	margin: 0 auto 5px;
	padding: 10px 0 10px;
	text-align: center;
	border-bottom: 1px solid;
}
p.contents03_txt {
	font-size: 0.8rem;
	line-height: 1.2;
}
p.contents03_price {
	text-align: center;
	font-size: 1rem;
	line-height: 1.2;
}
p.contents03_price span {
	font-size: 0.75rem;
}

@media screen and (max-width: 768px) {
	.contents03_box {
		width: 48%;
	}
	.contents03_ttl h3 {
		padding: 5% 5% 7%;
	}
	.contents03_ttl h3 span {
		padding-top: 5px;
	}
}

/*********************************************************************
                    	コンテンツ03ここまで
**********************************************************************/

/*********************************************************************
                    	コンテンツ04ここから
**********************************************************************/

#contents04 {
	width: 100%;
	background: url(../asset/contents04_bg.png) repeat;
}
.contents04_wrap {
	width: 100%;
	max-width: 1200px;
	margin: auto;
	padding-top: 5%;
}
.contents04_flex {
	padding: 3.5% 5% 5%;
	width: 100%;
	max-width: 1200px;
	margin: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.contents04_ttl h3 {
	font-size: 2rem;
	width: 100%;
	max-width: 1200px;
	text-align: center;
	font-weight: 600;
	padding: 20px;
	margin-bottom: 20px;
}
.contents04_ttl_cap {
	text-align: center;
	margin: 0;
	line-height: 1;
}
.contents04_box {
	width: 32%;
	margin-bottom: 30px;
}
.contents04_box img {
	width: 100%;
	margin: auto;
}
.contents04_box h4{
	display: block;
	width: 90%;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1;
	margin: 0 auto 5px;
	padding: 10px 0 10px;
	text-align: center;
	border-bottom: 1px solid;
}
p.contents04_txt {
	font-size: 0.8rem;
	line-height: 1.2;
	padding: 0 5%;
}
p.contents04_price {
	text-align: center;
	font-size: 1rem;
	line-height: 1.2;
}
p.contents04_price span {
	font-size: 0.75rem;
}
@media screen and (max-width: 768px) {
	.contents04_box {
		width: 48%;
	}
}

/*********************************************************************
                    	コンテンツ04ここまで
**********************************************************************/

/*********************************************************************
                    	アクセスマップここから
**********************************************************************/

#access {
	width: 100%;
	background: url(../asset/shop_bg.png) repeat;
	position: relative;
}
#access::before {
	content: "";
	position: absolute;
	top: -15px;
	left: 0;
	right: 0;
	height: 15px;
}
.access_wrap {
	width: 100%;
	max-width: 1200px;
	margin: auto;
}
.access_wrap h3 {
	font-size: 2rem;
	font-weight: 600;
	text-align: center;
	line-height: 1;
	padding-top: 3%;
}
.access_box {
	width: 100%;
	max-width: 1200px;
	padding: 3% 5%;
}
.access_img {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.access_img div {
	width: 32%;
}
.access_img div p {
	margin: auto;
	text-align: center;
}
.access_img div img {
	width: 100%;
	height: auto;
}
.access_map h4 {
	display: block;
	width: 100%;
	text-align: center;
	font-size: 1.5rem;
	font-weight: 600;
	padding: 20px 0;
}
.table_wrap {
	padding: 2.5% 5%;
}
.access_map table {
	width: 100%;
	margin: 0;
	table-layout: fixed;
	word-break: break-all;
	word-wrap: break-all;
	font-weight: 500;
	font-family: 'Noto Serif JP', serif;
	text-align: left;
	font-size: 1rem;
}
.access_map table th {
	padding: 12px 10px;
	white-space: nowrap;
	width: 15%;
	font-weight: 500;
}
.access_map table td {
	padding: 12px 15px;
}
.map_box {
	width: 100%;
	height: calc( 100px + 20vw);
	margin-top: 2.5%;
	margin-bottom: 2.5%;
}
@media screen and (max-width: 768px) {
	.access_box {
		padding: 0 5% 3%;
	}

	.access_img div {
		width: 60%;
		margin: 20px auto 0;
	}
	.access_map table th,
	.access_map table td {
		display: block;
		width: 100%;
		padding: 5px 15px;
	}

}
/*********************************************************************
                    	アクセスマップここまで
**********************************************************************/

/*********************************************************************
                    	お問い合わせボックス
**********************************************************************/
#contact_area {
	width: 100%;
	max-width: 1200px;
}
.contact_wrap {
	width: 100%;
	max-width: 1200px;
	padding: 0 5%;
}
.contact_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
	border: 10px solid;
	padding: 5%;
}
.contact_box h3,
.contact_box p {
	width: 100%;
	margin: auto;
	text-align: center;
	line-height: 1;
}
.contact_box h3 span {
	display: block;
	width: 100%;
	text-align: center;
	font-size: 1.2rem;
	line-height: 1.2;
	margin-bottom: 10px;
}
.contact_box h3 {
	font-size: 2rem;
	font-weight: 600;
	margin-bottom: 30px;
}
.contact_web_btn {
	width: 43%;
	margin-left: 5%;
	margin-bottom: 20px;
	letter-spacing: -1.3px;
}
.contact_tel_btn {
	width: 43%;
	margin-right: 5%;
	margin-bottom: 20px;
}
.contact_web_btn a,
.contact_tel_btn a {
	display: block;
	position: relative;
	width: 100%;
	margin: auto;
	text-align: center;
	border-radius: 10px;
	line-height: 1;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	height: 60px;
}
.contact_web_btn { font-size: 1.2rem; }
.contact_tel_btn { font-size: 1.5rem; }

.contact_web_btn a span::before{
	font-family: "Font Awesome 5 Free";
	content: "\f138";
	margin-right: 8px;
}
.contact_tel_btn a span::before {
	margin: 0 10px 0 0;
    content: " ";
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;
    background: url("../asset/tel_icon.png");
	background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
}
.contact_web_btn a span,
.contact_tel_btn a span {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform : translate(-50%,-50%);
	transform : translate(-50%,-50%);
	width: 100%;
}

@media screen and (max-width: 768px) {
	.contact_web_btn {
		width: 100%;
		margin: 0 auto 30px;
		font-size: calc( 6px + 3vw );
	}
	.contact_tel_btn {
		width: 100%;
		margin: 0 auto 20px;
		font-size: calc( 6px + 4vw );
	}
	.contact_box p {
		font-size: 0.8rem;
	}
	.contact_tel_btn a span::before {
		width: calc( 6px + 4vw );
		height: calc( 6px + 4vw );
	}
}

/*********************************************************************
                    	お問い合わせボックス
**********************************************************************/

/*********************************************************************
                    			フッター
**********************************************************************/

footer {
	position: relative;
}
.footer_copy {
	font-size: 0.8rem;
	text-align: center;
	margin-bottom: 20px; 
}
.pageTop {
	position:relative;
	width:100%;
	height:0;
	margin:0 auto;
}
.pageTop a {
	display: block;
	position: fixed;
	bottom: 0;
	right: 0;
	text-align: center;
	outline: none;
	text-decoration: none;
	z-index: 5;
}
.pageTop a img {
	width: 80px;
	height: 80px;
}

@media screen and (max-width: 768px) {
	.footer_btn {
		position: fixed; 
		bottom: 0; 
		left: 0;
		width: 100%; 
		height: auto; 
		padding: 5px; 
		z-index: 3;
	}
	.pageTop a img {
		width: calc( 40px + 5vw );
		height: calc( 40px + 5vw );
	}
}
/*********************************************************************
                    			フッター
**********************************************************************/


















