@charset "UTF-8";


#wrapper {
	min-width: inherit;
	max-width: inherit;
	text-align: center;
	margin: 0px;
	padding: 0px;
}

#contents {
	width: 340px;
	margin: 0px auto;
	padding: 0px 20px;
}

#home #contents {
	margin: 330px auto 0px;
}

.content_box {
	border: none;
	padding: 0px;
	margin: 0px auto;
	border-radius: 0px;
	box-shadow: none;
}

#footer {
	border-left: none;
	width: 340px;
	margin: 0px auto;
	padding: 0px;
}

h1 {
	/*height: 160px;*/
}

#mainvisual {
	height: 300px;
}
	
.catchcopy1,
.catchcopy2 {
	padding: 0px 30px;
}

p.resize img {
	width: 100%;
	height: auto;	
}

.scroll {
	overflow: auto;
	width: 320px;
	border-radius:10px;
}

.resize img {
	width: 320px;
	height: auto;
}

.resize2 {
	width: 320px;
	overflow: hidden;
}

div.lead p {
	text-align: left;
	width: 100%;
	padding: 10px 0px;
}

.mailaddress {
	margin: 0px;
}

/*スマホでは改行しない*/
span.br_pc {
	display: inline;
}

/*スマホでは改行*/
span.br_sp {
	display: block;
}

/*PCのみ表示するコメント*/
.sup_pc {
	display: none;
}

/*スマホのみ表示するコメント*/
.sup_sp {
	display: block;
	color: #999;
	font-size: 12px;
	font-weight: normal;
}


/*LAYOUT
------------------------------*/

div.flexbox1,
div.flexbox2,
div.flexbox2a,
div.flexbox2b,
div.flexbox2c,
div.flexbox2d,
div.flexbox3,
div.flexbox3a,
div.flexbox4,
div.flexbox4a,
div.flexbox4b {
	display: block;
}


/*FORM
------------------------------*/

input[type="text"],
textarea
{
	width: 320px;
}

input[type="radio"] {
	-webkit-transform: scale(1.7);
	transform: scale(1.7);
	margin: 10px;
}

input[type="checkbox"] {
	-webkit-transform: scale(1.7);
	transform: scale(1.7);
	margin: 10px;
}

input[type="submit"],
input[type="reset"],
input.back[type="button"]
{
	font-size: 22px;
	display: block;
	width: 80%;
	margin: 5px auto;
}


/*NAVI
------------------------------------*/

#navi1 {
	width: 280px;
	border: none;
	margin: 20px auto;
	padding: 0px;
}

#navi2 {
	position: relative;
	top: 0px;
	left: 0px;
	right: inherit;
	width: 280px;
	height: auto;
	border: none;
	margin: 10px auto;
	padding: 0px;
}

#navi1 ul,
#navi2 ul {
	background-color: rgba(255,255,255,0);
	width: 280px;
	border: none;
	margin: 0px;
	padding: 0px;
}

#navi1 ul a,
#navi1 ul a:link,
#navi1 ul a:visited,
#navi1 ul a:hover,
#navi2 ul a,
#navi2 ul a:link,
#navi2 ul a:visited,
#navi2 ul a:hover {
	color: #FFF;
	text-decoration: none;
}

#navi1 ul a:active,
#navi2 ul a:active {
	color: #6CF;
	text-decoration: none;
}

#navi1 ul li,
#navi2 ul li {
	display: block;
	background-color: #336;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	line-height: 1;
	color: #00a0e9;
	border: none;
	margin: 5px 0px;
	padding: 10px;
	border-radius: 3px;
}

#navi1 ul li a,
#navi2 ul li a {
	display: block;
}

#navi1 li:first-child,
#navi2 li:first-child {
	margin: 5px 0px;
	padding: 10px;
}


/*HAMBURGER MENU
------------------------------*/

#nav-drawer {
	background-color: rgba(51,51,102,0.8);
	padding: 12px 10px 9px;
	width: 25px;
	position: fixed;
	top: 10px;
	left: 10px;
	border: 2px solid #FFF;
	border-radius: 3px;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
	display: none;
}

/*アイコンのスペース*/
#nav-open {
	display: inline-block;
	width: 30px;
	height: 22px;
	vertical-align: middle;
}

/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span, #nav-open span:before, #nav-open span:after {
	position: absolute;
	background-color: #FFF;
	height: 3px;/*線の太さ*/
	width: 25px;/*長さ*/
	display: block;
	content: '';
	cursor: pointer;
	border-radius: 3px;
}

#nav-open span:before {
	bottom: -8px;
}

#nav-open span:after {
	bottom: -16px;
}

/*閉じる用の薄色カバー*/
#nav-close {
	display: none;/*はじめは隠しておく*/
	position: fixed;
	z-index: 99;
	top: 0px;/*全体に広がるように*/
	left: 0px;
	width: 100%;
	height: 100%;
	background-color: #000;
	opacity: 0;
	transition: .3s ease-in-out;
}

/*中身*/
#nav-content {
	overflow: auto;
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 9999;/*最前面に*/
	width: 90%;/*右側に隙間を作る（閉じるカバーを表示）*/
	max-width: 330px;/*最大幅（調整してください）*/
	height: 100%;
	background-color: #000;/*背景色*/
	transition: .3s ease-in-out;/*滑らかに表示*/
	-webkit-transform: translateX(-105%);
	transform: translateX(-105%);/*左に隠しておく*/
}

/*チェックが入ったらもろもろ表示*/
#nav-input:checked~#nav-close {
	display: block;/*カバーを表示*/
	opacity: .5;
}

#nav-input:checked~#nav-content {
	-webkit-transform: translateX(0%);
	transform: translateX(0%);/*中身を表示（右へスライド）*/
	box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
	z-index: 9998;
}

.hamburger-top {
	height: 40px;
	margin-top: 5px;
}

.cancel {
	display: inline-block;
	position: relative;
	z-index: 99;
	background-color: #CCC;
	width: 3px;
	height: 30px;
	margin: 12px 0px 0px 290px;
	padding: 0px;
	transform: rotate(45deg);
}

.cancel:before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: -14px;
	background-color: #CCC;
	width: 31px;
	height: 3px;
	margin-top: -2px;
}


/*TITLE
-------------------------------*/

h2#law,
h2#contact,
h2#legal,
h2#privacy {
	/*background-position: center top;
	background-size: 400px;
	width: 100%;
	height: 150px;*/
	padding: 0px 0px 30px;
}


/*ページ毎レイアウト
------------------------------*/

div.col_txt,
div.col_txt1,
div.col_img {
	width: 100%;
	border: none;
	padding: 0px;
}

div.col_variation {
	width: 320px;
	border: none;
	margin: 20px auto;
	padding: 0px;
}

.mailaddress img {
	margin-left: 0px;
}

/*WORKS-MAIN VISUAL*/

.mockup_komorebi,
.mockup_enso {
	display: block;
	height: inherit;
	text-align: center;
}

.mockup_komorebi img,
.mockup_enso img {
	/*opacity: 1;*/
	visibility: visible;
	margin-bottom: 3px;
}

.mockup_komorebi .pic1,
.mockup_komorebi .pic2,
.mockup_komorebi .pic3,
.mockup_komorebi .pic4,
.mockup_enso .pic1,
.mockup_enso .pic2,
.mockup_enso .pic3,
.mockup_enso .pic4 {
	background-image: none;
	position: relative;
	left: inherit;
	top: inherit;
	transform: none;
	width: auto;
	height: auto;
}
