﻿@charset "utf-8";

/*-----------------------------------------------------------------------------
smart phone css (max-width : 900px)
-----------------------------------------------------------------------------*/
@media screen and (max-width : 900px){

/*--------------------------------------
	nav
--------------------------------------*/
header, #nav_wrap {
    height: 60px;
}
#nav_wrap {
	padding:0 5px;
}

#nav {
	display:none;
}

#logo {
	margin: 0 7px;
}

#logo img {
	width: 100px;
	margin: 7px 0 0;
}
/*--------------------------------------
	sp_nav1
--------------------------------------*/
#button{
	display: block;
	position: absolute;
	right: 0;
	width: 60px;
	height: 60px;
	outline: none;
	border: none;
	background: none;
	color: #fff;
	cursor: pointer;
	outline: none;
}

button {
	outline: none;
}

#slide_menu{
	display: block;
	position: fixed;
	top: 0px;
	right: -240px;
	width: 240px;
	height: 100%;
	background: #F6F6F6;
	z-index: 100;
	box-shadow: -1px 0px 3px #CCC;
}

#slide_menu ul{
	margin: 0;
	padding: 0;
}

#slide_menu li{
	border-bottom: solid 1px #AAA;
	list-style: none;
	text-align: center;
	position: relative;
}

#slide_menu li a{
	font-weight: bold;
	display: block;
	padding: 20px;
	text-decoration: none;
}

#slide_menu li a:hover {
	color:#FFF;
	background: #F29A76;
	opacity: 1;
}

#slide_menu a img:hover {
	opacity: 0.5;
	transition: all 0.3s;
}

#slide_menu li .new_icon:before {
	top: 20px;
	left: 55px;
}

.toggle_nav {
	display:block;
	position: absolute;
	top: 0;
	right: 0;
	padding: 15px;
	z-index: 100;
	transition: all 0.3s;
	font-size: 1em;
	font-weight: bold;
}

.toggle_nav:before{
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #F00;
	position: absolute;
	top: 10px;
	right: 11px;
}

.toggle_nav span {
	display: block;
	height: 1px;
	width: 30px;
	background: #999;
	transition: all 0.3s;
}

.toggle_nav span.t2 {
	margin: 9px 0;
}

.inner, .inner_m, .inner_s,
.inner_70, .inner_40, .inner_30 {
	width: auto;
}

.float_right, .float_left {
	float: none;
}

.top_bg {
	margin: 5%;
	background-image: url("../../images/top_bg_sp.png");
	padding-top: calc(730 / 1000 * 100%);
}

.bg_sky {
	text-align: center;
}

.bg_sky ul {
	padding: 15px 15px 10px;
	margin:20px auto 0;
	max-width: 400px;
}

.inner_30 + .inner_70 {
	margin: 10px auto;
}

.sp_t_center {
	text-align: center;
}

footer {
	text-align: center;
}

.deve01 {
	float:none;
	text-align: center;
}

.wrap_48 {
	width:100%;
}


}
/*-----------------------------------------------------------------------------
smart phone css (max-width : 768px)
-----------------------------------------------------------------------------*/
@media screen and (max-width : 768px){

/*--------------------------------------
	common
--------------------------------------*/
p, ul, th, td {
	font-size: 13px;
	line-height: 22px;
}
h1 {
	font-size: 1.8rem;
}

h2 {
	font-size: 1.5rem;
}

h3 {
	font-size: 1.2rem;
}

h4 {
	font-size: 1.0rem;
}

h5 {
	font-size: 0.9rem;
}

.t_title {
	font-size: 1rem;
}

.t_xlarge {
	font-size: 2em;
}

.t_large {
    font-size: 1.2em;
}

.t_middle {
	font-size: 1.0em;
}

.sp_width_max {
	width:100%;
	max-width: 300px;
}

.sp_view,
.sp_block {
	display:block !important;
}

.sp_w100p {
	width: 100% !important;
	display: block;
}

.sp_t_center {
	text-align: center;
}
 
.pc_view {
	display: none;
}

.wrap_half {
	width: auto;
	padding: 0;
}


/*--------------------------------------
	padding
--------------------------------------*/
.pt40 {
	padding-top: 20px;
}

.pb40 {
	padding-bottom: 20px;
}

.pd40 {
	padding: 20px;
}

/*--------------------------------------
	footer
--------------------------------------*/
footer {
	padding: 30px 20px 0;
}

footer p {
	font-size: 12px;
	padding: 0;
}

/*--------------------------------------
	title_bar
--------------------------------------*/
.title_bar {
	padding: 20px 0;
}

.title_bar h2 {
	font-size: 18px;
}

/*--------------------------------------
	page
--------------------------------------*/
.head_bg {
	min-height: 250px;
	padding: 10px 0 0;
}

.top_bg h2 {
	top: 30px;
	left: 20px;
}

.illust_work {
	bottom: -50px;
	right: 5px;
}

.illust_work img {
	width: 200px;
}

.d_list dt {
	float: none;
	padding: 10px 0 0;
	width: auto;
}

.d_list dd {
	padding: 5px 0 10px;
}

.bottom_logo {
	width: 200px;
	display: block;
	margin: 0 auto 10px;
}

.two_wrap .box, .two_wrap .p_box {
	width: 100%;
}

.three_wrap .box .photo {
	width:100%;height: auto;
}

.three_wrap .box .photo img {
	position: relative;
}

.three_wrap {
	padding: 5px;margin: 0 auto ;
}

.three_wrap .box {
	width: 48%;
	margin: 1%;
}

.three_wrap .btn_menu .m_name {
	font-size: 0.6rem;
	padding: 15px 3px;
}

.four_wrap .btn_menu {
	width: 31.33%;
}

.four_wrap .btn_yh {
	width: 31.33%;
}

.four_wrap .btn_menu .m_name {
	font-size: 9px;
}

.red_arrow {
	padding: 0 0 0 15px;
}

.red_arrow:before{
	width: 12px;
	height: 12px;
}

.red_arrow:after{
	left: 3px;
	width: 3px;
	height: 3px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}

a.red_l_btn {
	padding: 10px 12px;
	font-size: 0.9rem;
}
a.red_s_btn {
	padding: 5px 10px;
	border-radius: 10px;
	font-size: 0.9rem;
}

.gmap {
	height: 0;
	padding-bottom: 56.25%;
}

.headline h2 {
	font-size:1.5rem;
	padding: 30px 0px 50px;
}


}
