@charset "utf-8";
/* CSS Document */



body {
	margin: 0px;
	padding: 0px;
	height:100%;
	text-align: center;
	border: 0px;
	font-size:13px;
	font-family: Helvetica,Arial,'Noto Sans',sans-serif,Meiryo;
	word-wrap : break-word;
	overflow-wrap : break-word;
}


a:link,a:visited { color: #1530A0; text-decoration:underline;}
a:hover,a:active { color: #4460D5; text-decoration:none; }


img{
max-width: 100%;
height:auto;
}

.cancellation{
	text-decoration: line-through;
}


/********************************************************************************************
********************************************************************************************/

#wrapper {
margin: 0px auto 0px auto;
height: auto !important;
height: 100%;
min-height:100%;
text-align: left;
}




/**********************************************
header
***********************************************/

#header{
width:100%;
max-width:1240px;
margin:0px auto;
padding:20px 20px;
box-sizing:border-box;

display: flex;
justify-content:space-between;
align-items: center;
}
#header .head_logo{
max-width:394px;
width: 33%;
}
#header .head_navi{
flex:1;
}


#header .head_english {
float:right;
text-align:right;
margin-left:15px;
padding-top:5px
}
#header .head_english a{
border-left:1px solid #ccc;
border-right:1px solid #ccc;
display:block;
width:100%;
box-sizing:border-box;
padding:5px 20px;
text-align:center;
color:#333;
text-decoration:none;
font-size:100%;
}
#header .head_english a:hover{
color:#0065b2;
}

#header .head_navi div {
float:right;
}
#header .head_navi div p{
float:left;
padding-left:10px;
}
#header .head_navi div p:first-of-type{
padding-top:5px;
}
#header .head_navi div p a:hover{
opacity:0.8;
}
#header .head_navi div p.head_fb{
padding-top:3px;
}
#header .head_navi div p.head_fb a{
color:#3b5998;
font-size:30px;
line-height:100%;
}
#header .head_navi div p.head_fb a span{
display:none;
}


#header .head_navi div p.head_cont a{
display:inline-block;
margin-left:10px;
padding:8px 20px;
background:#fff;
border:1px solid #858585;
color:#333;
text-decoration: none;
transition:all linear 0.2s;
}
#header .head_navi div p.head_cont a:hover{
border:1px solid #0065b2;
background:#0065b2;
color:#fff;

opacity:1;
}
#header .head_navi div p.head_cont i{
padding-right:5px;
}





/**********************************************
footer
***********************************************/

#footer{
background:#0c6cb6;
padding:40px 0px 30px 0px;
}
#footer02{
width:100%;
max-width:1020px;
position:relative;
padding:0px 10px;
margin:0px auto;
box-sizing:border-box;
}



.ef_logo{
float:left;
width:20%;
margin-right:2.5%;
}

.ef_sns{
float:left;
width:20%;
margin-right:2.5%;
}
p.fb_btn{
width:100%;
}
p.fb_btn a{
width:80%;
margin:10px auto;
box-sizing:border-box;
display:block;
border:1px solid #fff;
padding:5px 10px;
text-align:center;
color:#fff;
font-size:100%;
text-decoration:none;
}
p.fb_btn a:hover{
background:#fff;
color:#0065b2;
}



.ef_address{
width: 50%;
text-align:left;
float:left;
padding-top:10px;
}
.ef_address p{
color:#fff;
font-size:100%;
line-height:150%;
padding-bottom:5px;
}
.ef_address p span{
padding-left:10px;
display:inline-block;
}
.ef_address p a{
text-decoration:none;
color:#fff;
}
.ef_address p a:hover{
text-decoration:underline;
}






#footer_btm{
padding:10px;
width:100%;
max-width:1020px;
box-sizing: border-box;

}
#footer_btm p{
text-align:center;
font-size:93%;
float:left;
}
#footer_btm ul{
display:block;
float:right;
text-align:right;
}
#footer_btm ul li{
list-style:none;
display:inline-block;
font-size:93%;
padding-left:20px;
}
#footer_btm ul li::before{
content:"\f0da";
padding-right:5px;
}
#footer_btm ul li a{
text-decoration:none;
color:#333;
}
#footer_btm ul li a:hover{
text-decoration:underline;
}







#pagetop{
position:fixed;
right:30px;
bottom:30px;
background:#35A4FA;
border:2px solid #fff;
border-radius:50%;
width:70px;
height:70px;
opacity: 0.7;
color:#fff;
text-align:center;
z-index:600;
}
#pagetop i{
font-size:40px;
line-height:100%;
display:block;

  position: relative;
  top: 40%;
  -webkit-transform: translateY(-40%);
  -ms-transform: translateY(-40%);
  transform: translateY(-40%);
}
#pagetop:hover{
cursor:pointer;
opacity: 1;
}
#pagetop span{
display:none;
}







/**********************************************
common
***********************************************/

/* box
-----------------------------------*/
.base{
width:100%;
margin:0px auto;
max-width:1240px;
padding:0px 20px;
box-sizing: border-box;
}
.base1000{
width:100%;
margin:0px auto;
max-width:1040px;
padding:0px 20px;
box-sizing: border-box;
}



.box{
padding-top:100px;
padding-bottom:100px;
}
.box_s{
padding-top:60px;
padding-bottom:60px;
}

.box_ss{
padding-top:20px;
padding-bottom:20px;
}


.bg01{
background: #edf7fe;
}




/* ttl
-----------------------------------*/
.ttl_catch{
color:#0065b2;
font-size:308%;
text-align:center;
font-family: 'Vollkorn', serif;
font-weight:600;
}
.ttl_catch br{
display:none;
}

.ttl01{
background:url(../../../img/common/ttl_line.png) no-repeat center top;
padding-top:30px;
padding-bottom:60px;
font-size:308%;
color:#0065b2;
text-align:center;
font-family: 'Vollkorn', serif;
font-weight:600;
}
.ttl01 br{
display:none;
}








/* txt
-----------------------------------*/
.txtbox{
width:100%;
margin:0px auto 40px auto;
}
.txtbox p{
font-size:123.1%;
line-height:180%;
}
.txtbox p + p{
margin-top:20px;
}

.txt01{
font-size:123.1%;
line-height:180%;
}




.list01{
padding-left:20px;
line-height:180%;
}













/**********************************************
top
***********************************************/
#promo{
width:100%;
height: 540px;
background: url(../../../img/promo/promo01.jpg) no-repeat;
background-position:center center;
background-size:cover;
position:relative;
}


#promo p{
color:#fff;
font-size:450%;
font-family: 'Vollkorn', serif;
font-weight:400;
text-align:center;
padding:0px 20px;
text-shadow:0 0 10px #004070;
}
#promo p span{
font-size:90px;
display:block;
}

#top_catch{
width:100%;
margin:0px auto;
padding:0px 20px;
max-width:1040px;
box-sizing:border-box;
position:relative;
z-index:1;
}
#top_catch div{
padding:30px;
height:100%;
box-sizing: border-box;
background: #35a4fa;
color:#fff;
margin-top:-100px;
}




.catch_img{
margin:20px auto 60px auto;
text-align:center;
}



.about_box{
width:100%;
}
.about_box + .about_box{
margin-top:60px;
}
.about_box figure{
width: 40%;
max-width:480px;
margin-left:50px;
float:right;
}
.about_box div{
}


.about_box:nth-of-type(2n) figure{
margin-left:0;
margin-right:50px;
float:left;
}
.about_box:nth-of-type(2n) div{
}







/**********************************************
stay
***********************************************/
#stay_contents{
width: 100%;
display:flex;
justify-content: space-between;
align-items: stretch;
margin-bottom:60px;
}

.stay_villa{
width:50%;
padding-right:calc(4% - 1px);
box-sizing:border-box;
border-right: 1px solid #fff;
}
.stay_hotel{
width:50%;
padding-left:4%;
box-sizing:border-box;
}



#stay_contents h3{
font-family: 'Vollkorn', serif;
color: #0065b2;
font-size: 167%;
line-height:100%;
font-weight:400;
text-align:center;
background: #fff;
padding:12px 10px 10px 10px;
}
#stay_contents h3 + figure{
margin-bottom:60px;
}
#stay_contents h3 + figure img{
width:100%;
}



.stay_item{
width:100%;
margin-bottom:40px;
}
.stay_type{
background: #0065b2;
color:#fff;
font-size:93%;
line-height:100%;
padding:5px 10px 2px 10px;
display:inline-block;
font-family: 'Vollkorn', serif;
}

.stay_data{
width:100%;
display:flex;
justify-content: space-between;
margin-bottom:20px;
}
.stay_data div{
order:1;
width: 50%;
padding-right:15px;
box-sizing:border-box;
}
.stay_data figure{
order:2;
width: 50%;
}

.stay_data h4{
color: #0065b2;
font-family: 'Vollkorn', serif;
font-size: 182%;
line-height:130%;
font-weight:600;
}

.stay_data .stay_total{
margin-bottom:10px;
color:#666;
}

.stay_price_regular{
font-size:123.1%;
text-decoration: line-through;
margin-bottom:10px;
position:relative;
}
.stay_price_regular::after{
position:absolute;
bottom:-8px;
left:0;
content:"";
width: 0;
height: 0;
border-style: solid;
border-width: 6px 6px 0 6px;
border-color: #333 transparent transparent transparent;
}
.stay_price_regular span{
font-weight:bold;
}
.stay_price_direct{
font-size:123.1%;
padding-bottom:5px;
}
.stay_price_direct em{
font-weight:bold;
font-size:28px;
line-height:100%;
color: #bf0008;
}
.stay_price_direct em + span{
display:inline-block;
color: #bf0008;
margin-left:5px;
}

.stay_item table{
border-top:1px solid #ccc;
width:100%;
table-layout:fixed;
}
.stay_item th,
.stay_item td{
padding:5px;
font-size:108%;
line-height:130%;
border-bottom:1px solid #ccc;
vertical-align:top;
color:#444;
}
.stay_item th{
width:120px;
}







/*---- case ----*/

.case_box{
width:100%;
background: rgba(255,255,255);
border:1px solid #ccc;
box-sizing:border-box;
padding:30px;

display:flex;
justify-content: space-between;
}
.case{
width:48%;
}
.case section + section{
margin-top:40px;
}

.case_ttl{
border-bottom:1px solid #ccc;
font-weight: bold;
font-size:131%;
padding-bottom:3px;
margin-bottom:15px;
position:relative;
}
.case_ttl::after {
	position: absolute;
	bottom: -1px;
	left: 0;
	z-index: 2;
	content: '';
	width: 150px;
	height: 1px;
	background-color: #0065b2;
}

.case p{
font-size:108%;
line-height:160%;
}
.case p+ p{
padding-top:10px;
}
.case ul{
padding:10px 20px 10px 30px;
background:#F5F7FA;
margin-top:20px;
}
.case ul li{
font-size:100%;
line-height:170%;
}

.case ul.list_line li{
display:inline-block;
padding-right:15px;
}
.case ul.list_line li::before{
content: "・";
}


.case ul.asterisk_list li{
list-style:none;
padding-left:15px;
position:relative;
}
.case ul.asterisk_list li::before{
content:"*";
display:block;
position:absolute;
left:0;
}

.case table{
margin:10px 0px;
}
.case table th,
.case table td{
font-size:100%;
line-height:160%;
text-align:left;
padding:2px 5px;
}
.case table th{
text-align:left;
padding-right:20px;
}


.childprice dl{
	width:100%;
	border-bottom:1px dotted #ccc;
	padding:8px 0;
}
.childprice dt{
	font-weight: bold;
	font-size: 108%;
}
.childprice dd{
	font-size: 108%;
}
.childprice dd span{
	font-weight: bold;
	color: #0065b2;
	display:inline-block;
	padding:0 15px;
}


.contact_btn{
margin-top:100px;
}

.contact_btn a{
display:block;
width:70%;
margin:0px auto;
padding:30px 0px;
color: #fff;
font-size:167%;
text-align:center;
background: #0c6cb6;
text-decoration:none;
}
.contact_btn a:hover{
opacity:0.8;
}



/**********************************************
Introduction
***********************************************/

.about_map{
width:100%;
max-width:1000px;
margin:0px auto 60px auto;
position:relative;
text-align:center;
}
.about_map ul{
}
.about_map li{
list-style:none;
position:absolute;
display:block;
}
/*.about_map li:first-of-type{
top:23%;
left:49%;
}
.about_map li:nth-of-type(2){
top:31%;
left:36%;
}
.about_map li:nth-of-type(3){
top:45%;
left:40%;
}
.about_map li:nth-of-type(4){
top:60%;
left:30%;
}
.about_map li:nth-of-type(5){
top:73%;
left:19%;
}
.about_map li:nth-of-type(6){
top:20%;
left:60%;
}
.about_map li:nth-of-type(7){
top:28%;
right:22%;
}
.about_map li:nth-of-type(8){
top:52%;
left:58%;
}
.about_map li:nth-of-type(9){
top:27%;
right:8%;
}
.about_map li:nth-of-type(10){
}*/

/************/


.about_map li:nth-of-type(1){
top:60%;
left:30%;
}
/*.about_map li:nth-of-type(2){
top:78%;
left:19%;
}*/
.about_map li:nth-of-type(2){
top:20%;
left:54%;
}
.about_map li:nth-of-type(3){
top:28%;
right:22%;
}
.about_map li:nth-of-type(4){
top:58%;
left:55%;
}
.about_map li:nth-of-type(5){
top:27%;
right:8%;
}
.about_map li:nth-of-type(6){
}



.about_map p{
padding-top:10px;
text-align:right;
font-size:100%;
display:block;
}



.about_box02{
width:100%;
max-width:1000px;
margin:0px auto 0px auto;

display:flex;
justify-content: space-between;
flex-wrap: wrap;
align-item: stretch;
}
.about_menu{
width:48%;
margin-bottom:50px;
}

.about_menu h3{
text-align:center;
font-size:153.9%;
padding-bottom:10px;
color:#0065b2;
}
.about_menu h3 span{
padding-right:5px;
}
.about_menu h3 img{
width:24px;
height:auto;
color: #0065b2;
margin-right:5px;
position:relative;
top:-3px;
}

.about_menu figure a:hover{
opacity:0.8;
}




.btn_s a::after{
display:inline-block;
font:normal normal normal 14px/1 FontAwesome;
font-size:inherit;
text-rendering:auto;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
}
.btn_s a{
display:block;
width:80%;
box-sizing:border-box;
margin:0px auto;
padding:10px 10px;
background:#fff;
border:1px solid #ccc;
text-align:center;
color:#333;
font-size:100%;
text-decoration:none;
margin-top:20px;
}
.btn_s a::after{
content:"\f138";
padding-left:5px;
color:#35a4fa;
}
.btn_s a:hover{
background:#35a4fa;
border:1px solid #ccc;
color:#fff;
}
.btn_s a:hover::after{
color:#fff;
}







/**********************************************
access
***********************************************/
.access_box{
width:100%;
display:flex;
justify-content: space-between;
}

.access_box div{
width:48%;
}

.access_box table{
width:48%;
box-sizing:border-box;
border-left:1px solid #ccc;
border-top:1px solid #ccc;
border-right:1px solid #ccc;
background: #fff;
table-layout:fixed;
}
.access_box th,
.access_box td{
font-size:116%;
line-height:180%;
padding:10px;
vertical-align:top;
text-align:left;
border-bottom:1px solid #ccc;
}
.access_box th{
box-sizing:border-box;
background:#0065b2;
width:130px;
color:#fff;
}
.access_box td{
word-break:break-all;
}



.access_box div iframe,
.access_gm iframe{
display:block;
}
.access_box div p,
.access_gm p{
display:none;
}









@media screen and (max-width:768px) {


/**********************************************
header
***********************************************/

#header{
padding:10px 10px;
}
#header .head_logo{
width: 45%;
padding-top:10px;
box-sizing:border-box;
}

#header .head_navi{
width: 55%;
padding-top:0px;
box-sizing:border-box;
position:relative;
}

#header .head_english {
float:left;
text-align:right;
margin-left:15px;
padding-top:5px;
margin-top:10px;
}
#header .head_english a{
border:1px solid #ccc;
padding:5px 15px;
}


#header .head_navi div p:first-of-type,
#header .head_navi div p.head_fb{
display:none;
}



#header .head_navi div p.head_cont a{
margin-left:0px;
padding:10px 5px;
font-size:77%;
text-align:center;
background:#0065b2;
color:#fff;
border: none;
}
#header .head_navi div p.head_cont a:hover{
border:none;
}

#header .head_navi div p.head_cont a i{
font-size:20px;
display:block;
padding-bottom:5px;
}


#header .head_navi div  p.head_cont.hc_en a{
padding:10px 18px;

}






/**********************************************
footer
***********************************************/


#footer{
padding:20px 0px;
}
#footer02{
}

.footer_box{
width:33%;
max-width:100%;
box-sizing:border-box;
}
p.fb_btn a{
width:100%;
padding:5px 5px;
box-sizing:border-box;
}



#pagetop{
position: relative;
right: auto;
bottom:auto;
background:#35A4FA;
border:0;
border-radius:0;
width:100%;
height:30px;
opacity: 1;
color:#fff;
text-align:center;
z-index:600;
padding-top:12px;
}
#pagetop:hover{
background: #0065B2;
}
#pagetop i{
display:inline-block;
font-size:12px;
  position: relative;
  top: auto;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}
#pagetop span{
display:inline-block;
}







/**********************************************
top
***********************************************/

#promo{
height: 350px;
}
#promo div{
text-align:center;
width: auto;
max-width:100%;
}
#promo p{
font-size:330%;
line-height:100%;
}
#promo p span{
font-size:70px;
line-height:140%;
}


#top_catch{
padding:0px 0px;
}
#top_catch div{
margin-top:0;
}



.about_box figure{
margin-left:30px;
}
.about_box div{
}


.about_box:nth-of-type(2n) figure{
margin-right:30px;
}





/**********************************************
stay
***********************************************/
#stay_contents{
display:block;
margin-bottom:60px;
}

.stay_villa{
width:100%;
padding-right:0%;
box-sizing:border-box;
margin-bottom:60px;
}
.stay_hotel{
width:100%;
padding-left:0%;
box-sizing:border-box;
}




/*---- case ----*/

.case_box{
display: block;
justify-content: space-between;
}
.case{
width:100%;
}
.case + .case,
.case section + section{
margin-top:30px;
}



.contact_btn{
margin-top:60px;
}

/*
.childprice table th,
.childprice table td{
	display: block;
	width:100%;
	box-sizing: border-box;
	padding:0 0 8px 0;
}
.childprice table th{
	border-bottom: none;
	padding-bottom: 0;
	padding-top: 8px;
}
*/
	
.contact_btn a{
width:85%;
padding:25px 0px;
font-size:153.9%;
}









/**********************************************
Introduction
***********************************************/
.about_map li{
display:none;
}
.about_map li img{
display:none;
}
.about_map li:first-of-type{
display:block;
position: static;
padding-top:15px;
width:80%;
margin:0px auto;
}
.about_map li a{
background:#0065b2;
color:#fff;
text-align:center;
padding:10px;
display:block;
text-decoration:none;
}
.about_map li a::before{
content:"\f03e  Photo Gallery";
font-size:116%;
}

.about_map p{
display:none;
}






/**********************************************
access
***********************************************/
.access_box{
display:block;
width:90%;
margin:0px auto;
}

.access_box div{
width:100%;
}

.access_box table{
width:100%;
margin-bottom:30px;
}
.access_box th{
width:120px;
}

.access_box div iframe,
.access_gm iframe{
display:block;
}
.access_box div p,
.access_gm p{
display:none;
}



}








@media screen and (max-width:480px) {
body{
}





/**********************************************
header
***********************************************/

#header{
padding:0px;
}
#header .head_logo{
padding:10px 15px 5px 5px;
box-sizing:border-box;
width:55%;
}
#header .head_navi{
width:45%;
overflow:hidden;
position: relative;
}


#header .head_navi p{
display:inline-block;
margin-left:0px;
}


#header .head_english {
float:left;
}
#header .head_english a{
padding:5px 10px;
font-size:80%;
}

#header .head_navi div p:first-of-type{
display:none;
}
#header .head_navi div p.head_fb{
display:none;
}
#header .head_navi div p.head_fb a{
margin-top:0px;
}

#header .head_navi div p.head_cont{
}
#header .head_navi div p.head_cont a{
margin-left:0;
font-size:70%;
}

#header .head_navi div p.head_cont a i{
padding-bottom:2px;
}




/**********************************************
footer
***********************************************/

#footer{
padding:10px 0px;
}

#footer02.english_footer{
width:100%;
}

.footer_box{
width:100%;
float:none;
padding:10px 0px 0px 0px;
}


.ef_logo{
float:left;
width:45%;
margin-right:0;
}
.ef_sns{
float:right;
width:50%;
margin-right:0;
margin-top:0px;
}
.footer_box p.fb_btn {
width:100%;
display:block;
padding:0px;
box-sizing:border-box;
}
.footer_box p.fb_btn a{
display:block;
width:100%;
box-sizing:border-box;
width: auto;
padding:10px 10px;
margin:0px auto;
box-sizing:border-box;
}

.ef_address {
width: 100%;
}
.ef_address p{
font-size:93%;
}



#footer_btm p{
width:100%;
float:none;
font-size:77%;
}
#footer_btm ul{
display:none;
}



#pagetop{
height:25px;
padding-top:9px;
}
#pagetop:hover{
background: #35A4FA;
}







/**********************************************
common
***********************************************/

/* ttl
-----------------------------------*/
.ttl_catch{
font-size:182%;
}
.ttl_catch br{
display: inline-block;
}


.ttl01{
padding-top:20px;
padding-bottom:20px;
font-size:167%;
}
.ttl01 br{
display: inline-block;
}

.ttl02{
padding:10px 10px;
font-size:153.9%;
margin-bottom:15px;
}




/* box
-----------------------------------*/
.catch_box{
padding-top:20px;
padding-bottom:20px;
}

.box{
padding-top:40px;
padding-bottom:40px;
}
.box_s{
padding-top:30px;
padding-bottom:30px;
}

.box_s + .box_s{
padding-top: 0px;
}






/* txt
-----------------------------------*/
.txtbox01 p{
font-size:116%;
line-height:160%;
}
.txtbox01 p + p{
margin-top:20px;
}


.txtbox{
margin:0px auto 20px auto;
}
.txtbox p{
font-size:116%;
line-height:160%;
}





/**********************************************
top
***********************************************/

#promo{
height: 200px;
}
#promo div{
width:80%;
}

#promo p{
font-size:260%;
line-height:100%;
}
#promo p span{
font-size:50px;
line-height:140%;
}



#top_catch{
padding:0px 0px;
}
#top_catch div{
padding:15px;
margin-top:0;
}

.catch_img{
width: calc(100% + 40px);
margin:20px -20px 30px -20px;
text-align:center;
}


.about_box{
display:flex;
flex-direction: column;
}
.about_box + .about_box{
margin-top:30px;
}

.about_box figure{
margin-left:0px;
float:none;
width:100%;
order:2;
margin-top:15px;
}
.about_box p{
order:1;
}

.about_box:nth-of-type(2n) figure{
margin-right:0px;
}


/**********************************************
stay
***********************************************/
#stay_contents{
margin-bottom:30px;
}

.stay_villa{
width:calc(100% + 40px);
margin:0px -20px;
}
.stay_hotel{
width:calc(100% + 40px);
margin:0px -20px;
}



#stay_contents h3{
font-family: 'Vollkorn', serif;
font-size: 153.9%;
}
#stay_contents h3 + figure{
margin-bottom:40px;
}



.stay_item{
margin-bottom:40px;
padding:0px 20px;
box-sizing:border-box;
}
.stay_data{
display: flex;
flex-direction:column;
}
.stay_data div{
width: 100%;
padding-right:0px;
order:2;
}
.stay_data figure{
order:1;
width: 100%;
text-align: center;
margin-bottom:10px;
}

.stay_data h4{
font-family: 'Vollkorn', serif;
font-size: 167%;
}



.stay_price_regular{
font-size:116%;
}

.stay_price_direct{
font-size:116%;
}
.stay_price_direct em{
font-size:22px;
}

.stay_item th,
.stay_item td{
display:block;
font-size:100%;
}
.stay_item th{
width:100%;
border-bottom: none;
padding-bottom:0;
}







/*---- case ----*/

.case_box{
padding:15px;
background: #fff;
}
.case + .case,
.case section + section{
margin-top:20px;
}

.case_ttl{
margin-bottom:10px;
font-size:116%;
}

.case p{
font-size:100%;
line-height:160%;
}

.case ul{
padding:10px 20px 10px 20px;
margin-top:10px;
}
.case ul li{
font-size:100%;
line-height:160%;
}

.case table th,
.case table td{
display:block;
width:100%;
padding:0px 5px 10px 15px;
line-height:130%;
}
.case table th{
text-align:left;
padding-right:20px;
padding-bottom:0;
padding-left:5px;
}



.contact_btn{
margin-top:30px;
}

.contact_btn a{
width:100%;
padding:20px 0px;
font-size:138.5%;
}






/**********************************************
Introduction
***********************************************/

.about_map{
width: -webkit-calc(100% + 40px) ;
width: calc(100% + 40px) ;
margin-left:-20px;
}




.about_box02{
display: block;
}
.about_menu{
width:100%;
margin-bottom:20px;
}

.about_menu h3{
font-size:138.5%;
padding-bottom:5px;
}
.about_menu h3 img{
width:20px;
top:-2px;
}





/**********************************************
access
***********************************************/
.access_box{
width:100%;
}
.access_box th,
.access_box td{
font-size:108%;
line-height:160%;
}
.access_box th{
width:80px;
}


.access_box div,
.access_box div iframe,
.access_gm,
.access_gm iframe{
height:250px;
}


}