html{font-size:18px;}
body{-webkit-text-size-adjust:100%;}

.for_pc{display:none;}
.center_sp{margin-left:auto;margin-right:auto;text-align:center;}




#header_wrapper{
	background:rgba(0,0,0,0.5);
	position:fixed;
	z-index:2;
	top:0;
	left:0;
	height:70px;
	width:100%;
	box-shadow:0 2px 2px rgba(0,0,0,0.2);
}
#header .hdr{
	width:190px;
	height:110px;
}
#header .nav{
	display:none;
	background:#f7f7f7;
	position:absolute;
	width:100%;
	z-index:1;
	top:70px;
	left:0;
}
#header .nav li{
	text-align:center;
	border-bottom:1px solid #ddd;
}
#header .nav a{
	display:block;
	padding:10px;
}



#footer .bar .wrp{
	text-align:center;
}
#footer .copy{
	text-align:center;
}



#visual .wrp{
	background-position:center top;
	height:270px;
}
#visual .wrp .hdr{
	bottom:80px;
	font-size:30px;
	line-height:40px;
}
#visual .wrp .txt{
	bottom:40px;
	font-size:15px;
	line-height:40px;
}
#visual .wrp .txt::after{
	width:100px;
	left:calc(50% - 100px / 2);
}



#visual.index .wrp{
	height:300px;
}
#visual.index .wrp .hdr{
	bottom:30px;
	left:10px;
}
#visual.index .wrp .hdr img{
	width:330px;
}
#visual.index .wrp .txt{
	display:none;
}



.dl_tbl{
	border-top:2px solid #f1e426;
}
.dl_tbl dt,
.dl_tbl dd{
	margin:0;
	padding-left:30px;
}
.dl_tbl dt{
	padding-top:20px;
	font-weight:bold;
}
.dl_tbl dd{
	padding-bottom:20px;
	border-bottom:2px solid #f1e426;
}
.dl_tbl.noline{
	border-top:none;
}
.dl_tbl.noline dt{
	font-weight:normal;
	padding-top:0;
}
.dl_tbl.noline dd{
	border-bottom:none;
}



.ttl .hdr{
	font-size:30px;
	line-height:40px;
}
.ttl .subhdr{
	font-size:15px;
	line-height:40px;
}
.ttl .subhdr::after{
	width:100px;
	left:calc(50% - 100px / 2);
}



#tour_guide .big{
	font-size:24px;
}
#tour_guide .wrp_img{
	column-gap:20px;
	row-gap:20px;
	flex-wrap:wrap;
	padding:0 20px;
}
#tour_guide .wrp_img p{
	margin:0;
	width:calc(50% - 20px / 2);
}



#tg_service .wrp_svc,
#tg_service .wrp_why{
	padding:5px 25px;
}
#tg_service .wrp_svc{
	margin:-50px -8px 30px;
}
#tg_service .wrp_svc .txt{
	font-size:14px;
	line-height:25px;
}



#tg_service .wrp_rmd .wrp .cell{
	margin-bottom:50px;
}



#tg_service .wrp_why .big{
	font-size:22px;
	line-height:35px;
}



#tg_process .wrp{
	text-align:center;
}
#tg_process .wrp .hdr{
	font-size:25px;
	padding-top:75px;
	background-position:center top;
}
#tg_process .wrp .tbl{
	font-size:15px;
}
#tg_process .wrp .lst{
	text-align:left;
}



#tg_fee .wrp{
	margin:30px 0;
	padding:5px 15px;
	font-size:15px;
}
#tg_fee .box{
	padding:5px 20px;
}
#tg_fee .wrp.bg{
	padding:0;
}
#tg_fee .wrp.bg .wrp_txt{
	padding:5px 15px;
}
#tg_fee .wrp.bg .wrp_prc{
	padding:5px 15px;
}
#tg_fee .wrp.bg .prc .flx{
	text-align:center;
}
#tg_fee .wrp.bg .prc .attn{
	text-align:center;
}







.drawer{
	position:absolute;
	top:5px;
	right:0;
}
.drawer_hidden {
  display: none;
}

.drawer_open {
  display: flex;
  height: 60px;
  width: 60px;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 100;
  cursor: pointer;
}
.drawer_open span,
.drawer_open span:before,
.drawer_open span:after {
  content: '';
  display: block;
  height: 2px;
  width: 30px;
  background: #fff;
  transition: 0.2s;
  position: absolute;
}

.drawer_open span:before {
  bottom: 10px;
}
.drawer_open span:after {
  top: 10px;
}

#drawer_input:checked ~ .drawer_open span {
  background: rgba(255, 255, 255, 0);
}

#drawer_input:checked ~ .drawer_open span::before {
  bottom: 0;
  transform: rotate(45deg);
}

#drawer_input:checked ~ .drawer_open span::after {
  top: 0;
  transform: rotate(-45deg);
}
