@charset "UTF-8";
/* ================================================
■Layout
================================================ */
/* !Layout================================================ */
/*Anchor==================== */

a{color: #333;}
a:hover{opacity: 0.7;}

/* common================================================ */
.sp{display:none;}
.pc{/*display:inline-block;*/display:block;}
body{
color:#6a3906;
}


.ff_m{
font-family: Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

h3{
height:160px;
background-size:100% 100%,cover;
background-position:center,center;
background-repeat:no-repeat,no-repeat;
text-align:center;
margin-bottom:90px;
padding-top:46px;
}
h3 img{
height:60px;
}
h3 span{
display:block;
font-size:13px;
}
.wrap{
width:1200px;
margin:0 auto;
}

.wrap1000{
width:1000px;
margin:0 auto;
}

/* header================================================ */
header{
display:flex;
justify-content:space-between;
max-width:1080px;
margin:0 auto;
padding:18px 0;
}
.logo{
width:35%;
text-align:center;
}
.header_btn_area{
width:65%;
}
.header_btn{
display:flex;
justify-content:space-between;
max-width:1080px;
}
.navigation{
display:flex;
justify-content:space-between;
margin-top:12px;
}
.navigation li{
border-left:1px solid;
width:calc(100%/4);
}
.navigation li:nth-child(4){
border-right:1px solid;
}
/* main_img================================================ */
#main_img{
clear:both;
}
#main_img img{
width:100%;
}

/* info================================================ */
#info_box{
background:url(../img/info_bg.png);
padding:50px 0 100px;
}
.info{
display:flex;
justify-content:space-between;
max-width:1080px;
margin:0 auto;
}

.info_l{
width:50%;
font-size:20px;
}
.info_l_txt{
margin-top:10px;
line-height:1.5em;
font-size:20px;
font-weight:bold;
}

.info_r{
width:48%;
}
.info_contact{
display:flex;
justify-content:space-between;
margin-bottom:30px;
}
.info_campaign{
text-align:center;
}
/* concept================================================ */
#concept{
margin-bottom:100px;
}
#concept h3{
background-image:url(../img/h3_bg.png),url(../img/concept_bg.png);
}
.concept_box{
display:flex;
justify-content:space-between;
max-width:1080px;
margin:0 auto 100px;
}
.concept_l{
width:47%;
}
.concept_l_list{
display:flex;
justify-content:space-between;
margin-top:40px;
}

.concept_r{
width:48%;
}

/* plan================================================ */
#plan{
margin-bottom:100px;
}
#plan h3{
background-image:url(../img/h3_bg.png),url(../img/plan_bg.png);
}

.plan_ttl{
border-bottom:8px solid #efae94;
padding-bottom:20px;
margin-bottom:30px;
}
.plan_area{
max-width:1080px;
margin:0 auto 100px;
text-align:center;
}
.plan_box{
display:flex;
justify-content:space-between;
}
.plan{
width:65%;
}
.plan_desc{
width:32%;
}

.plan_point_box{
margin:30px auto;
}

.plan_point{
border-left:8px solid #efae94;
text-align:left;
font-feature-settings:"palt";
margin-bottom:30px;
}
.plan_point:last-child{
margin-bottom:0;
}
.plan_point_ttl{
margin:0 0 10px 15px;
padding-bottom:10px;
font-size:24px;
font-weight:bold;
background:url(../img/plan_point_line.png) repeat-x bottom left;
}
.plan_point_desc{
margin-left:15px;
font-size:17px;
}

.photo{
max-width:1100px;
margin:90px auto 0;
display:flex;
flex-wrap:wrap;
justify-content:space-between;
}
.photo li{
width:30%;
margin-bottom:40px;
}

/* access================================================ */
#access{
margin-bottom:100px;
text-align:center;
}
#access h3{
background-image:url(../img/h3_bg.png),url(../img/access_bg.png);
}


/* location================================================ */
#location{
margin-bottom:100px;
}
#location h3{
background-image:url(../img/h3_bg.png),url(../img/location_bg.png);
}

.l_photo{
display:flex;
justify-content:space-between;
max-width:1080px;
margin:0 auto;
flex-wrap:wrap;
}
.lp3{
width:30%;
float:left;
margin-bottom:50px;
}
.lp3 img{
 width:100%;
}
.lp2.last{
}
.lp3 dd{
font-size:24px;
/*font-weight:bold;*/
margin-top:20px;
font-feature-settings:"palt";
}
.lp3 .l_border{
border-left:4px solid #333;
padding-left:10px;
}
.lp3 .l_time{
font-weight:normal;
margin-left:0.5em;
margin-top:10px;
}
.lp3 .l_distance{
font-weight:normal;
font-size:20px;
}


#location .tdl{
width:50%;
font-size:20px;
float:left;
font-feature-settings:"palt";
}
#location .tdl.last{
width:45%;
margin-right:0;
}

#location .tdl dl{
margin-bottom:15px;
}
#location .tdl dt{
border-left:4px solid #333;
padding-left:10px;
text-align:left;
width:55%;
float:left;
}
#location .tdl dd{
text-align:right;
width:20%;
float:left;
}
.tdl_distance{
text-align:right;
font-size:18px;
float:left;
margin-left:0.5em;
}
#location dt.note{
font-size:15px;
border-left:none;
width:100%;
margin-bottom:50px;
}

.map{
margin:0 auto;
}

/* outline================================================ */
#outline{
background:#edebe9;
padding:90px 0;
}

#outline p{
padding: 0px 0 10px;
}
#outline .o_l{
width:480px;
float:left;
}
#outline .o_r{
width:480px;
float:right;
}

#outline table{
float:left;
margin-right:40px;
box-sizing:border-box;
text-align:left;
/*display:block;*/
}
#outline table:last-child{
margin-right:0;
}
#outline table tr{
border-bottom: 1px dotted #ccc;
}
#outline table th{
width: 135px;
padding: 5px 0px;
float:left;
}
#outline table td{
width: 345px;
padding: 5px 0px;
float:left;
vertical-align:middle;
}
#outline table tr.day{
border: none;
}

#outline table tr.last{
clear:both;
border: none;
line-height: 1.4;
}
#outline table tr.last td{
width: 100%;
margin-top:1em;
}

#outline .o_r .built{
margin-bottom:2em;
}


/*sp*/
@media screen and (max-width: 768px) {
.sp{
display: block;
}
.pc{
display:none;
}
body{
width:100%;
}
.wrap{
width:100%;
margin:0 auto;
}
img{
width:100%;
}

h3{
width:auto;
height:auto;
padding:5%;
margin-bottom:5%;
}
h3 img{
width:35%;
height: auto;
}
h3 span{
font-size:4vw;
}
.wrap{
width:100%;
margin:0 auto;
}

.wrap1000{
width:90%;
margin:0 auto;
}

/* header================================================ */
header{
display:block;
justify-content:space-between;
max-width:100%;
padding:5px 0;
height:60px;
z-index:10;
position:relative;
}
header a,header a:visited,header a:hover{
color:#6a3906;
}


.logo{
width:auto;
height:50px;
text-align:left;
margin:0 3%;
}
.logo img{
height:100%;
width:auto;
}

.header_btn_area{
width:100%;
}
.header_btn{
max-width:1080px;
}

.btn_menu{
position:absolute;
top:10%;
right:5%;
background:url(../img/header_btn_menu.png) no-repeat;
background-size:contain;
height:50px;
width:50px;
text-indent:-999px;
}
.navigation{
display:none;
width:100%;
background:rgba(221,221,221,0.9);
padding:5%;
margin-top:5px;
}
.navigation li{
border-left:3px solid;
width:100%;
margin-bottom:3%;
padding-left:2%;
font-size:20px;
font-weight:bold;

}
.navigation li span{
float:right;
}
.navigation li a{
display:block;
}

.navigation li:nth-child(4){
border-right:0;
}

.sp_navcontact{
display:flex;
justify-content:space-between;
flex-wrap:wrap;
}
.sp_navcontact li{
border:0;
width:48%;
padding-left:0;
}
.sp_l{
}
.sp_r{
}
.sp_navcontact li:nth-child(3){
width:100%;
}

/* main_img================================================ */
#main_img{
clear:both;
}


/* info================================================ */
#info_box{
padding:5% 5% 10%;
}
.info{
display:block;
max-width:100%;
}

.info_l{
width:100%;
/*font-size:20px;*/
}
.info_l_txt{
margin:5% 0;
/*line-height:1.5em;*/
/*font-size:20px;*/
}

.info_r{
width:100%;
}
.info_contact{
/*display:flex;*/
/*justify-content:space-between;*/
margin-bottom:5%;
}
.info_contact li{
width:48%;
}
.info_campaign{
}
/* concept================================================ */
#concept{
margin-bottom:10%;
}
#concept h3{
}
.concept_box{
display:block;
max-width:90%;
margin:0 auto 10%;
}
.concept_l{
width:100%;
}
.concept_l_list{
/*display:flex;*/
margin:5% 0;
}
.concept_l_list li{
width:48%;
}

.concept_r{
width:100%;
}

/* plan================================================ */
#plan{
margin-bottom:10%;
}

.plan_ttl{
padding-bottom:3%;
margin-bottom:5%;
}
.plan_area{
max-width:90%;
margin:0 auto 10%;
}
.plan_box{
display:block;
}
.plan{
width:100%;
margin:0 auto 5%;
}
.plan_desc{
width:100%;
}

.plan_point_box{
margin:30px auto;
}

.plan_point{
border-left:8px solid #efae94;
text-align:left;
font-feature-settings:"palt";
margin-bottom:30px;
}
.plan_point:last-child{
margin-bottom:0;
}
.plan_point_ttl{
margin:0 0 10px 15px;
padding-bottom:10px;
font-size:25px;
font-weight:bold;
background:url(../img/plan_point_line.png) repeat-x bottom left;
}
.plan_point_desc{
margin-left:15px;
font-size:17px;
}
.plan_info{
width:80%;
margin:0 auto;
}

.photo{
max-width:1100px;
margin:10% auto;
display:flex;
flex-wrap:wrap;
justify-content:space-between;
}
.photo li{
width:48%;
margin-bottom:4%;
}

/* access================================================ */
#access{
margin-bottom:10%;
text-align:center;
}
.route{
width:90%;
margin:0 auto;
}

/* location================================================ */
#location{
margin-bottom:10%;
}
#location h3{
background-image:url(../img/h3_bg.png),url(../img/location_bg.png);
}

.l_photo{
display:flex;
justify-content:space-between;
max-width:90%;
margin:0 auto;
flex-wrap:wrap;
}
.lp3{
width:48%;
float:left;
margin-bottom:5%;
}
.lp3 img{
 width:100%;
}
.lp2.last{
}
.lp3 dd{
font-size:15px;
/*font-weight:bold;*/
margin-top:3%;
}
.lp3 .l_border{
padding-left:2%;
}
.lp3 .l_time{
font-weight:normal;
margin-left:0.5em;
margin-top:2%;
font-size:14px;
}
.lp3 .l_distance{
font-weight:normal;
font-size:12px;
}


#location .tdl{
width:100%;
font-size:20px;
float:left;
font-feature-settings:"palt";
}
#location .tdl.last{
width:100%;
margin-right:0;
}

#location .tdl dl{
margin-bottom:15px;
}
#location .tdl dt{
border-left:4px solid #333;
padding-left:10px;
text-align:left;
width:100%;
float:left;
}
#location .tdl dd{
text-align:right;
width:auto;
float:left;
padding-left:15px;
font-size:16px;
}
#location .tdl dd.tdl_distance{
text-align:right;
float:left;
margin-left:0;
width:auto;
padding-left:0;
}
#location dt.note{
font-size:15px;
border-left:none;
width:100%;
margin-bottom:5%;
}

.map{
margin:0 auto;
}


/* outline================================================ */
#outline{
background:#edebe9;
padding:10% 0;
}

#outline p{
padding:0 0 3%;
}
#outline .o_l{
width:100%;
float:none;
}
#outline .o_r{
width:100%;
float:none;
margin-top:5%;
}

#outline table{
float:left;
margin-right:40px;
box-sizing:border-box;
text-align:left;
font-size:14px;
}
#outline table:last-child{
margin-right:0;
}

#outline table tr{
width:100%;
}

#outline table th{
width:30%;
background:#fff;
padding:5px 2%;
border-bottom:1px dotted #ccc;
float:none;
vertical-align:middle;
}
#outline table td{
width:70%;
padding:5px 2%;
border-bottom: 1px dotted #ccc;
float:none;
}


#outline .o_r table{
margin-bottom:5%;
}

#outline table tr.day{
border: none;
}

#outline p.last{
border: none;
line-height: 1.4;
width: 100%;
margin-top:1em;
clear:both;

}

}
/*btn-area*/
.btn-area{
width: 100%;
position: fixed;
z-index: 10;
bottom: 0px;
left: 0px;
background: #ddd;
}

.btn-area .f_sp_contact{
width:90%;
margin:0 auto;
}

.btn-area .f_sp_contact li{
width:48%;
border-bottom:0;
margin:3% 0;
text-align:center;
border-radius:4px;
}
.btn-area .f_sp_contact li img{
width:70%;
}
.btn-area .f_sp_contact a{
display:block;
padding:0 2%;
}

.btn-area .f_sp_contact li:nth-child(1){
background:#adcc2b;
float:left;
}
.btn-area .f_sp_contact li:nth-child(2){
background:#e51762;
float:right;
}
.btn-area .f_sp_contact li:nth-child(3){
clear:both;
width:100%;
}
.btn-area .f_sp_contact li:nth-child(3) a{
padding:0;
}
.btn-area .f_sp_contact li:nth-child(3) img{
width:100%;
}

@media screen and (min-width: 1200px) {
	/*.btn-area{display: none;}*/
}


@media screen and (min-width:768px) and ( max-width:1199px) {
.lp3 dd{
font-size:2.5vw;
}
.lp3 .l_border{
}
.lp3 .l_time{
font-size:2vw;
}
.lp3 .l_distance{
font-size:1.5vw;
}

#location .tdl{
font-size:1.8vw;
}
.tdl_distance{
font-size:1.3vw;
}
#location dt.note{
font-size:1.3vw;
}
}
