﻿@charset "utf-8";

@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
body {
	font-family: 'Noto Sans Japanese', sans-serif;
	position:relative; }

.sp { display: none;  }
.pc { display: block; }
img { width:auto; }

#wrap { 
	width:100%;
	min-width:980px; /* 固定ヘッダがある場合はそれより大きいサイズにしないとiPad時にはみ出す*/
}

/* =============================== header =============================== */
header {
	width:930px;
	margin:0 auto 20px;
}
#header_inner { position:relative; }
h1 {
	font-size:10px;
	font-weight:normal;
	padding:5px 0 10px;
}
#h_logo { float:left; }
#h_area {
	position:absolute;
	left:260px;
	bottom:0;
	font-size:12px;
	padding:3px 5px;
	background:#0059B2;
	color:#fff;
}
#h_tel {
	float:right;
	text-align:right;
	margin-top:5px;
}
#h_tel p {
	font-size:12px;
	font-weight:200;
	line-height:140%;
}
#h_tel span.tel {
	font-size:22px;
	font-weight:800;
	color:#0059B2;
}
#h_tel a:hover { text-decoration:none; }

/* =============================== gnav =============================== */


#gnav { width:930px; margin:0 auto 20px; }
#gnav li {
	width:155px;
	box-sizing:border-box;
	border-right:1px dashed #f5f5f5;
}
#gnav li a {
	text-align:center;
	font-size:12px;
	display:block;
	color:#000;
	padding:10px 0;
	transition: all .3s ease;
}
#gnav li a span {
	display:block;
	color:#999;
	font-size:10px;
}
#gnav li:first-child { border-left :1px dashed #f5f5f5; }
#gnav li a:hover {
	text-decoration:none;
	color:#777;
	background:#F9F9F9;
	transition: all .3s ease;	
}


/* =============================== main =============================== */

#main.top { width:935px; margin:0 auto 20px; }
#main.top #mainimg {
	height:347px;
	background:url(../../img/top/mainimg.jpg) no-repeat center top;
}
#main.top p {
	line-height:195%;
	font-size:14px;
	padding:15px 10px;
}

.main_add {
  margin: 20px 0 50px;
  text-align: center;
  background: #F0F0F0;
  padding: 50px 0 40px;
}
.main_add img {
  width: 100%;
  height: auto;
  max-width: 600px;
}
.main_add p {
  margin-top: 25px;
  text-align: center;
  font-size: 14px;
}


#main.sub { width:930px; margin:0 auto 10px; }
#main.sub h2 { height:263px; text-indent:-9999px; }

#main.adjustment h2 { background:url(../../img/adjustment/mainimg.jpg) no-repeat center top; }
#main.contact h2 { background:url(../../img/contact/mainimg.jpg) no-repeat center top; }
#main.company h2 { background:url(../../img/company/mainimg.jpg) no-repeat center top; }
#main.maintenance h2 { background:url(../../img/maintenance/mainimg.jpg) no-repeat center top; }
#main.support h2 { background:url(../../img/support/mainimg.jpg) no-repeat center top; }


/* =============================== bread =============================== */

#bread { width:930px; margin:0 auto 40px; }

#bread ol { letter-spacing:-.4em; }
#bread li {
	display:inline-block;
	letter-spacing:normal;
	background:url(../img/ico_bread.png) no-repeat right center;
	margin-right:10px;
	padding-right:14px;
}
#bread li:last-child { background:none; }
#bread li ,
#bread li a { line-height:140%; font-size:12px; }
#bread li.home a {
	display:block;
	padding:0 0 0 24px ; 
	background:url(../img/ico_home.png) no-repeat left 0px;
	color:#0059B2;
}

/* =============================== contents =============================== */

#contents {
	width:930px;
	margin:0 auto;
}
#contents.sub { padding-bottom:70px; }

.ttl_01 {
	font-size:15px;
	font-weight:normal;
	color:#555;
	background:url(../img/ttl_01.png) no-repeat bottom;
	padding:0 0 10px 10px;
	margin-bottom:20px;
	letter-spacing:normal;
}
.ttl_02 {
	text-align:center;
	font-size:20px;
	background:url(../img/ttl_02.png) no-repeat center bottom;
	padding-bottom:12px;
	margin-bottom:30px;
}
.ttl_03 {
	text-align:center;
	font-size:16px;
	font-weight:200;
	padding:5px 0 10px;
	margin-bottom:20px;
	color:#fff;
	background:#0059B2;
}
.ttl_04 span {
	display:inline-block;
	width:120px;
	text-align:center;
	font-size:15px;
	font-weight:400;
	padding:5px 0;
	color:#fff;
	background:#0059B2;
	margin-right:1.5em;
}
.ttl_04 { font-size:14px; font-weight:200; }

.ttl_05g ,
.ttl_05b {
	font-size:16px;
	width:380px;
	padding:8px 0;
	text-align:center;
	margin:0 auto;
	font-weight:500;
	margin-bottom:20px;
}
.ttl_05g { background:#EEE; }
.ttl_05b { color:#fff; background:#0059B2; }
	
.caution {
	font-size:12px;
	text-indent:-1em;
	padding-left:1em;
}

.cv { text-align:center; margin-bottom:60px; }


/* =============================== contents =============================== */
.top article { margin-bottom:35px; }

#news .ttl_01 { margin-bottom:5px; }
#news dl { width:930px; }
#news dt ,
#news dd {
	padding:10px 15px;
	border-bottom:1px solid #EEE;
	font-size:15px;
	font-weight:200;
}
#news dt { float:left; }
#news dd { padding-left:120px; }


#mansion li {
	box-sizing:border-box;
	border:1px solid #f0f0f0;
	padding:10px;
	width:290px;
	margin-right:30px;
}
#mansion li:last-child { margin-right:0; }
#mansion li h3 {
	padding:10px 0;
	color:#0059B2;
}
#mansion li h3 a {
	font-size:15px;
	font-weight:300;
}
#mansion li p { font-size:13px; }
#mansion li p.txt { margin-bottom:20px; font-weight:200; }
#mansion p.detail { text-align:right; font-weight:200; }


#office .box {
	box-sizing:border-box;
	border:1px solid #f0f0f0;
	padding:15px 10px 10px;
}
#office .box li { margin-right:13px; }
#office .box li:last-child { margin-right:0; }
#office h3 {
	font-size:15px;
	font-weight:200;
	color:#444;
	padding:10px 0 15px; 
}

#representative p { text-align:right; }
#representative a {
	background:url(../img/ico_01.png) no-repeat left center;
	padding:0 15px 0 20px;
}


/* =============================== footer =============================== */


.btn_gotop { position:absolute; right:20px; bottom:20px; z-index:9999; }

footer {
	background:#F0F0F0;
	padding:20px 0;
}
#footer_inner { width:930px; margin:0 auto; }
#footer_inner p { font-size:13px; font-weight:200; }
#footer_inner p span.tel { font-size:14px; font-weight:bold; }
#f_logo { margin-bottom:10px; }

#f_nav {
	width:475px;
	margin:10px 0 0 0px; }
#f_nav li {
	width:150px;
	border-right:1px solid #666;
	margin-bottom:15px;
	text-align:center;
}
#f_nav li:nth-child(3n) { border-right:none; }	
#f_nav li a {
	display:block;
	font-size:11px;
	color:#333;
}

#copyright {
	background:#DBDBDB;
	text-align:center;
	font-size:10px;
	padding:5px 0;
}


/* =============================== sub =============================== */

#contents.sub ,
#contents.sub p { letter-spacing:0.08em; }

#adjustment .copy { margin-bottom:40px; }

#adjustment .inbox .clearfix {
	background:#EEE;
	margin-bottom:20px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center; /* （Safari用） */
	justify-content: center;
	-webkit-justify-content: center; /* （Safari用） */
	align-items: center;	
}
#adjustment .inbox .f_r { box-sizing:border-box; padding:0 20px; }
#adjustment .inbox .f_r h3 {
	color:#444;
	font-size:24px;
	margin-bottom:10px;
	letter-spacing:0.02em;
}
#adjustment .inbox .f_r p {
	font-size:14px;
	line-height:180%;
	font-weight:200;
}
#adjustment .inbox ul {
	padding:20px 40px;
	border-top:1px solid #DDD;
	border-bottom:1px solid #DDD;
}
#adjustment .inbox li { line-height:180%; }
#adjustment .inbox li::before {
	content:"□";
	margin-right:1em; }


#company01 table {
	width:100%;
	border:none;
	border-collapse:collapse;
}
#company01 th ,
#company01 td {
	padding:20px 0 20px 100px;
	text-align:left;
	border-bottom:1px solid #DDD;
	vertical-align:top;
}

#company02 .photo { width:560px; }
#company02 .txt { width:330px; }
#company02 .txt h4 {
	font-size:34px;
	padding-bottom:10px;
	border-bottom:1px solid #DDD;
	margin-bottom:15px;
	letter-spacing:0.03em; }
#company02 .txt h4 span {
	font-size:14px;
	color:#AAA;
	font-weight:200;
	margin-left:10px;
}
#company02 .txt p {
	letter-spacing:0.1em;
	line-height:180%;
}
#company02 .inbox > div {
	margin-bottom: 20px;
}
#company02 .inbox img {
	max-width: 100%;
}


#support01 .copy ,
#support02 .copy {
	font-weight:200;
	line-height:180%; }

#support01 .f_l ,
#support01 .f_r { width:450px; }
#support01 h4 {
	position: relative;
	margin-bottom:25px;
	padding:8px 0 10px;
	text-align:center;
	min-width: 120px;
 	max-width: 100%;
 	color: #555;
	font-size: 16px;
	color:#fff;
	font-weight:300;
}
#support01 h4:before{
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
 	margin-left: -15px;
	border: 15px solid transparent;
}
#support01 .gray h4 { background:#666; }
#support01 .gray h4:before { border-top: 15px solid #666; }
#support01 .blue h4 { background:#0059B2; }
#support01 .blue h4:before { border-top: 15px solid #0059B2; }
	
#support01 ul {
	padding:20px 6px;
	border-top:1px solid #DDD;
	border-bottom:1px solid #DDD;
}
#support01 li {
	line-height:180%;
	text-indent:-1.6em;
	padding-left:1.4em;
	letter-spacing:0.05em; }
#support01 li::before {
	content:"□";
	margin-right:0.6em; }
	
#support01 .clearfix p {
	line-height:180%;
	font-weight:600;
	color:#fff;
	padding:15px;
}
#support01 .clearfix .gray .fixHeightChild1 {
	background: #666;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center; /* （Safari用） */
	justify-content: center;
	-webkit-justify-content: center; /* （Safari用） */
	align-items: center; }
#support01 .clearfix .blue .fixHeightChild1 { background: #0059B2; }

#support02 .inbox {
	width:930px;
	height:280px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center; /* （Safari用） */
	justify-content: center;
	-webkit-justify-content: center; /* （Safari用） */
	align-items: center;	
}
#support02 .inbox.sp01 { background:url(../../img/support/img_0201.jpg) no-repeat left top; }
#support02 .inbox.sp02 { background:url(../../img/support/img_0202.jpg) no-repeat right top; }
#support02 .inbox.sp03 { background:url(../../img/support/img_0203.jpg) no-repeat left top; }

#support02 h4 {
	font-size:26px;
	color:#0059B2;
	margin-top:-50px;
	margin-bottom:15px;
	text-align:center;
}
#support02 p { line-height:180%; font-weight:200; }
#support02 .inbox div {
	display:inline-block;
	background:rgba(246,246,246,0.9);
	padding:30px;
	width:465px;
	box-sizing:	border-box;
}
#support02 .inbox.sp01 div ,
#support02 .inbox.sp03 div { margin-left:465px; }
#support02 .inbox.sp02 div { margin-right:465px; }

#support03 p ,
#support03 li {
	font-weight:200;
	line-height:180%;}

#support03 .block {
	background:url(../../img/support/bg_01.png) no-repeat 450px 50px; }
#support03 .block .f_l ,
#support03 .block .f_r {
	width:450px;
	box-sizing:border-box;
	border:1px solid #ddd;
}
#support03 .block h5 {
	background:#EEE;
	font-weight:500;
	text-align:center;
	padding:10px 0;
}
#support03 .block p { line-height:140%; }
#support03 .block .fixHeightChild {
	padding:10px 0;
	text-align:center;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center; /* （Safari用） */
	justify-content: center;
	-webkit-justify-content: center; /* （Safari用） */
	align-items: center; }
#support03 .intxt {
	padding:35px 55px 30px;
	border:1px solid #ddd;
	margin-bottom:45px;
}
#support03 ul {
	padding:20px 35px;
	border:1px solid #ddd;
}
#support03 li {
	text-indent:-2.5em;
	padding-left:2.5em;
}


#maintenance01 p ,
#maintenance02 p {
	font-weight:200;
	line-height:180%;
}
#maintenance01 ul {
	padding: 20px;
	background: #EEE;
	padding-left: 1.5em;
}
#maintenance01 ul.sect02 {
	background: #CBE8F5 ;
}
#maintenance01 li {
	line-height:200%;
	font-weight: 300;
	list-style: disc inside;
}


#support01 .success {
	line-height:180%;
	font-weight:600;
	color:#fff;
	padding:15px;
	background: #0059B2;
}

/*#maintenance02 ul {
	background:url(../../img/maintenance/bg_01.png) repeat-y 34px ;
	margin-bottom:50px;
}
#maintenance02 li .txt01 p {
	display:inline-block;
	vertical-align:middle;
}
#maintenance02 li .txt01 p.num { margin-right:34px; }
#maintenance02 li .txt01 p.ttl {
	font-size:16px;
	font-weight:bold;
	width:8em;
	margin-right:30px;
	line-height:120%;
}
#maintenance02 li .sub {
	background:#EEF7FF;
	margin:3px 0 3px 37px;
	padding:10px 0 10px 66px; }
*/

#contact .copy { margin-bottom:40px; line-height:195%; }
#contact table {
	width:100%;
	border:none;
	border-collapse:collapse;
	border-top:1px solid #DDD;
	margin-bottom:30px;
}
#contact th ,
#contact td {
	padding:30px 0 30px 30px;
	text-align:left;
	border-bottom:1px solid #DDD;
}
#contact th { width:200px; vertical-align:middle; }
#contact th small { font-size:12px; }
#contact th span {
	display:inline-block;
	float:right;
	background:#0059B2;
	color:#fff;
	font-weight:400;
	padding:2px 1em;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

#contact input[type=text] ,
#contact input[type=tel] ,
#contact input[type=email] ,
#contact textarea {
	width:100%;
	padding:0.5% 1.5%;
	border:1px solid #ccc;
	box-sizing:border-box;
}
#contact textarea { width:100% !important; height:10em !important; }
#contact select {
	padding:0.5% 1%;
	border:1px solid #ccc;
	box-sizing:border-box; }
#contact input[type=text].size01 { width:8em; }
#contact input[type=text].size02 ,
#contact input[type=text].size03 { width:90%; }
#contact .caution { color:#999; }


:placeholder-shown { color: #858585; }
::-webkit-input-placeholder { color: #858585; }
:-moz-placeholder { color: #858585; opacity: 1; }
::-moz-placeholder { color: #858585; opacity: 1; }
:-ms-input-placeholder { color: #858585; }
	
#contact ol li { list-style:none; margin-bottom:0.6em; }

#contact .btn { text-align:center; }
#contact .btn button {
	border:1px solid #0059B2;
	box-shadow:none;
	cursor:pointer;
	color:#fff;
	font-size:20px;
	text-align:center;
	width:340px;
	padding:10px 0;
	outline: none;
	background:url(../../img/contact/ico_01.png) no-repeat 300px center #0059B2;
	transition: all .5s;
}
#contact .btn button:hover {
	color:#0059B2;
	background:url(../../img/contact/ico_02.png) no-repeat 300px center #fff;
	transition: all .5s;
}

#contact h3 {
	margin-bottom:10px;
	background:url(../img/ico_01.png) no-repeat left center;
	padding-left:20px;
}
#contact .policy {
	margin:0 0 40px;
	border:1px solid #ccc;
	width:930px;
	height:180px;
	overflow-y:scroll;
	box-sizing:border-box;
	padding:25px 20px;
}
#contact .policy dt {
	padding:5px;
	background:#efefef;
	margin:10px 0;
}
#contact .policy dd {
	padding:0 10px }
  
  
/* add */
#seasoninfo {
	border:2px solid #0059B2;
	background:#fff;
	padding: 1.2em;
	box-sizing:border-box;
	width:100%;
	margin: 0 auto 40px;
}
#seasoninfo p {
	font-size:13px;
	line-height: 160%;
}
#seasoninfo h2 {
	font-size:18px;
	border-bottom:1px dashed #ccc;
	padding-bottom:0.5em;
	margin-bottom:0.6em;
	font-weight:bold;
}