﻿@charset "utf-8";
@import url("https://use.typekit.net/bgc0uem.css");
  
*{margin: 0;padding: 0}

html {overflow-y: scroll;}

body {
font-family: "futura-pt",'Century Gothic',"游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
color: #252525;
font-weight: 400;
font-size: 1em;
line-height : 2;
-webkit-text-size-adjust: 100%;
word-wrap: break-word;
}

h1, h2, h3, h4, h5, h6 {font-size: 1.0em;	font-weight: normal;}

table {border-collapse: collapse;}url("base.css")
ol, ul, li { list-style-type: none;}
img {border: none; vertical-align : bottom; max-width : 100%; max-height: 100%;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

a img { border: none;}

@-o-viewport {
width : 320px;
zoom:1.0;}


/* link
----------------------------------------------- */

a { color: #6696be; text-decoration : underline; }

a:hover { color: #95b3cd; }

a.link01 {
background: url(../images/common/icon_arrow01.png) no-repeat left 5px;
background-size: 8px;
padding-left: 12px;
}


/* clearfix
----------------------------------------------- */

/* ---IE7.IE8 clearfix--- */
.clearfix:after { content: ".";display: block;clear: both;height: 0;visibility: hidden; }

.clearfix { display: inline-block; }
/* Hides from IE-mac \*/

* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* End hide from IE-mac */

.clear { clear: both; }


/* form-style
----------------------------------------------- */
input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"], select, textarea, .field {
-webkit-appearance: none; 
background-color: #ffffff;
border: 3px solid rgba(51, 51, 51, 0.1);
border-radius: 1px;
color: #444;
font-size: 1em;
margin-bottom: 0;
max-width: 92%;
padding: 2% 3%;
transition: background-color 0.24s ease-in-out 0s;
vertical-align: middle;
}
input[type="text"]:focus, input[type="text"]:active, input[type="password"]:focus, input[type="password"]:active, input[type="datetime"]:focus, input[type="datetime"]:active, input[type="datetime-local"]:focus, input[type="datetime-local"]:active, input[type="date"]:focus, input[type="date"]:active, input[type="month"]:focus, input[type="month"]:active, input[type="time"]:focus, input[type="time"]:active, input[type="week"]:focus, input[type="week"]:active, input[type="number"]:focus, input[type="number"]:active, input[type="email"]:focus, input[type="email"]:active, input[type="url"]:focus, input[type="url"]:active, input[type="search"]:focus, input[type="search"]:active, input[type="tel"]:focus, input[type="tel"]:active, input[type="color"]:focus, input[type="color"]:active, select:focus, select:active, textarea:focus, textarea:active, .field:focus, .field:active {
background-color: #f8f8f8;
}

input[type="submit"],input[type="reset"],input[type="button"]{
-webkit-appearance: none; 
max-width: 80%;
padding: 1em 5em;
background: #333;
border:2px solid #333;
line-height:1.5;
font-size:100%;
color:#fff;
cursor:pointer;
transition: background-color 0.3s ease-in-out 0s;
}
input[type="submit"]:hover,input[type="reset"]:hover,input[type="button"]:hover{
background: #fff;
color:#333;
}

form table span.required {font-size: 10px; color: #d00; margin-left: 5px;}


/* typography
----------------------------------------------- */
h2 {
font-size: 2.2em;
margin: 2.5em 0 1.5em;
letter-spacing:0.1em;
text-align: center;
}
h2 span {
border-bottom: 1px solid ;
padding: 0 0.3em 0.1em;
}
h2.jp {
font-size: 1.5em;
letter-spacing:0;
}

h3 {
font-size: 1.5em;
line-height: 1.5;
margin: 2em 0 1.5em;
font-weight: normal;
text-align: center;
}
h3.subhead {
font-size: 1.3em;
text-align: left;
padding: 0.7em;
border-top: 1px solid  ;
border-bottom: 1px solid  ;
}

h4 {
font-size: 1.2em;
margin: 2em 0 1.5em 0;
padding: 0.2em 0 0.2em 0.7em;
border-left: 5px solid ;
font-weight: bold;
}

h5 {
font-size: 1.1em;
margin: 1.5em 0 1.5em 0;
}

p { 
margin-bottom : 1.5em;
word-break: break-all;
}
li { 
text-align : left;
margin-bottom : 1em;
}

/* text-style
----------------------------------------------- */
.txt-right { text-align: right !important; }
.txt-left { text-align: left !important; }
.center { text-align: center !important; }

.color-red { color: #dd0000; }
.color-salmon { color: #f96060; }
.color-lime { color: #007c36; }
.color-green { color: #6baa07; }

.font_s {
font-size: smaller;
}
.font12 {
font-size: 12px;
}
.font10 {
font-size: 10px;
}

.inlineb{display: inline-block;}


/* Emphasis
----------------------------------------------------------- */
.em1 {
	color: #dd0000;
}
.em2 {
	font-size: 1.4em;
	color: #dd0000;
}
.em3 {
	font-weight: bold;
}
.em4 {
	font-weight: bold;
	font-size: 1.4em;
}
.em5 {
	font-weight: bold;
	text-decoration: underline;
}
.em6{
	font-weight: bold;
	background: linear-gradient(transparent 60%, #ddd 60%);
	padding-left: 3px;
}
.em7{
	font-weight: bold;
	background: linear-gradient(transparent 70%, #fffa7f 70%);
	padding-left: 3px;
}
.em1 a{
	color: #dd0000;
}
.em2 a{
	color: #dd0000;
}


/* btn-style
----------------------------------------------- */
.submit-btn {
text-align: center;
margin: 30px 0;
}
.bnr {text-align: center; margin: 30px 0;}

.submit {
text-align: center !important;
margin: 2em 0 4em;
clear: both;
}

/* btn-base */
.txt-btn {
display: inline-block;
max-width: 90%;
min-width: 280px;
text-align: center;
text-decoration: none;
line-height: 54px;
outline: none;
padding: 0 1em 0;
margin: 0 0.5em 1em;
}
.txt-btn::before,
.txt-btn::after {
position: absolute;
z-index: -1;
display: block;
content: '';
}
.txt-btn,
.txt-btn::before,
.txt-btn::after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
-webkit-transition: all .3s;
transition: all .3s;
}
/* btn-style */
.txt-btn {
background-color: #fff;
border: 1px solid #333;
color: #333;
line-height: 50px;
}
.txt-btn:hover {
background-color: #333;
border-color: #333;
color: #333;
color: #fff;
}


/* image-style
----------------------------------------------------------- */
img{max-width:100%;height:auto;}

#contents img { 
margin : 0 0 15px; 
}
#contents img.alignright,#contents img.alignleft {
float: none;
margin: 0 auto 20px;
display: block;
}
#contents img.center {
display: block; 
margin: 20px auto;
}

img.border {
border: 1px solid #ddd;
padding: 4px;
}
img.shadow {
background: #fff;
padding: 8px;
-moz-box-shadow: 1px 2px 5px #ccc;
-webkit-box-shadow: 1px 2px 5px #ccc;
box-shadow: 1px 2px 5px #ccc;
}
img.frame {
border: 5px solid #fff;
box-shadow: 0px 1px 4px #999;
-moz-box-shadow: 0px 1px 4px #999;
-webkit-box-shadow: 0px 1px 4px #999;
}


/* box-style
----------------------------------------------- */
.box01 {
margin: 0 0px 20px;
padding: 1px ;
border: 1px solid #dadada;
}
.box01In{
padding: 20px 20px 5px;
background: #fff;
border: 1px solid #eee;
}
.box01 .p50{
padding: 50px 50px 45px;
}
.box02 {
background: #fff;
padding: 20px 25px 5px;
margin-bottom: 20px;
box-shadow: 0px 1px 3px #bababa;
-moz-box-shadow: 0px 1px 3px #bababa;
-webkit-box-shadow: 0px 1px 3px #bababa;
}
.box03 {
margin: 0 0px 20px;
padding: 15px 15px 0 ;
border: 3px solid #eee;
}


/* 見出し付きボックス（01・共通） */
.ptitle {
background: #eee;
text-align: left;
font-size: 1.2em;
margin: 30px 0 0;
padding: 15px  20px 15px 20px;
font-weight: bold;
border: 1px solid #ccc;
border-bottom: none;
}
h4.ptitle {
font-size: 1.3em;
}
.p-boxIn  {
margin: 0 0 30px;
padding: 20px 20px ;
border: 1px solid #ccc;
text-align: left;
}
.p-boxIn p  {
margin-left: 0;
margin-right: 0;
}



/* testimonials
----------------------------------------------- */
.testimonial {
margin: 50px 0;
padding: 30px 20px 0;
border: 8px solid #fff;
background: url(../images/testimonial_bg.png) no-repeat 97% 16px #f8f8f8;
line-height: 1.5;
box-shadow: 0 2px 8px #ccc;
}
.testimonial.bgnone {
background: url(../images/testimonial_bg.png) no-repeat 98% 10px #fff;
}
.t-title {
font-weight: bold;
font-size: 1.3em;
padding-bottom: 1em;
border-bottom: 1px dotted #ccc;
margin-bottom: 1.5em;
}
.t-name {
font-weight: bold;
}



/* list-style
----------------------------------------------- */
.list01 {
margin: 2em 0 2em 0;
line-height: 1.8;
}
.list01 li {
margin-bottom: 14px;
padding: 0 0 0 28px;
background: url(../images/common/icon_check.png) no-repeat left 2px;
background-size: 20px;
}
.list02 {
margin: 2em 0 2em 10px;
line-height: 1.8;
}
.list02 li {
margin-bottom: 10px;
padding-left: 16px;
background: url(../images/common/icon_circle01.png) no-repeat left 10px;
background-size: 8px;
}


/* dl-style
----------------------------------------------- */
.dl01 {
margin-bottom: 30px;
text-align: left;
}
.dl01 dt {
margin:20px 0 20px;
padding: 8px 0 6px 15px;
font-size:106%;
font-weight: bold;
background-size: 10px;
border-top: 1px dotted #bababa;
border-bottom: 1px dotted #bababa;
}
.dl01 dd {
margin: 0 15px 30px;
font-size: 93%;
}

.faq {
margin-bottom: 30px;
text-align: left;
}
.faq dt {
background: url("../images/common/icon_faq-q.png") no-repeat scroll 5px center #f2f2f2;
border-top: 1px dotted #CCCCCC;
border-bottom: 1px dotted #CCCCCC;
font-size: 20px;
font-weight: bold;
margin-bottom: 10px;
padding: 15px 0 15px 60px;
}
.faq dd {
background: url("../images/icon_faq-a.png") no-repeat scroll 5px top transparent;
margin-bottom: 20px;
padding: 5px 0 20px 62px;
}
.faq p{
margin: 0 0 0.75em !important;
}


/* table-style
----------------------------------------------- */
.table01 {
width: 100%;
margin-bottom: 30px;
}
.table01 th, .table01 td {
border: 1px solid #dadada;
font-weight: normal;
padding: 15px;
text-align: left;
vertical-align: top;
}
.table01 th {
background: #eee;
}

.table01.center th,.table01.center td {
text-align: center;
}
.table01.w3070 th {
width: 30%;
}
.table01.w3070 td {
width: 70%;
}

table.table02 {
width: 100%;
margin: 0 0 20px;
border-collapse: separate;
}
table.table02 tr.bdnone th,table.table01 tr.bdnone td{
border: none;
}
table.table02 th, table.table02 td {
font-weight: normal;
padding: 7px 3% 6px;
text-align: left;
vertical-align: top;
}
table.table02 th {
background:#eee;
border-bottom: 1px solid #dadada;
border-right: 1px solid #dadada;
}
table.table02 td {
border-bottom: 1px solid #dadada;
border-right: 1px solid #dadada;
}


/* other-style
----------------------------------------------- */
.MT0 { margin-top: 0px !important; }
.MT10 { margin-top: 10px !important; }
.MT20 { margin-top: 20px !important; }
.MT30 { margin-top: 30px !important; }
.MB0 { margin-bottom: 0px !important; }
.MB10 { margin-bottom: 10px !important; }
.MB20 { margin-bottom: 20px !important; }
.MB30 { margin-bottom: 30px !important; }

.PT0 { padding-top: 0px !important; }
.PT10 { padding-top: 10px !important; }
.PT20 { padding-top: 20px !important; }
.PT30 { padding-top: 30px !important; }
.PB0 { padding-bottom: 0px !important; }
.PB10 { padding-bottom: 10px !important; }
.PB20 { padding-bottom: 20px !important; }
.PB30 { padding-bottom: 30px !important; }

.mtb50 {margin-top: 50px; margin-bottom: 50px; }
.mrl50 {margin-right: 50px; margin-left: 50px; }

.ML0 { margin-left: 0px !important; }
.ML10 { margin-left: 10px !important; }
.ML20 { margin-left: 20px !important; }
.ML30 { margin-left: 30px !important; }
.ML50 { margin-left: 50px !important; }
.MR0 { margin-right: 0px !important; }
.MR10 { margin-right: 10px !important; }
.MR20 { margin-right: 20px !important; }
.MR30 { margin-right: 30px !important; }

hr {
margin: 4em 0 4em;
border: none ;
border-top: 1px solid  #dadada;
}

.youtube-wrap {
position: relative;
width: 100%;
padding-top: 56.25%;
margin-bottom: 15px;
text-align: center;
}
.youtube-wrap iframe {
position: absolute;
top: 0;
right: 0;
width: 100% !important;
height: 100% !important;
}

.post{padding: 0 0.5em;}

.iframebox { text-align: center; }
.iframebox iframe { max-width: 100%; }

.layout37 .itemleft{
margin: 0 0 20px;
text-align: center;
}
.layout37 .itemright{
}


/*----------------------------------------------------------------

Page-style Set

----------------------------------------------------------------*/
/* toppage
----------------------------------------------- */
#service ul,ul.servicelist{
overflow: hidden;
}
#service ul li,ul.servicelist li{
clear: both;
overflow: hidden;
margin-bottom: 1em;
}
#service ul li .itemleft,ul.servicelist li .itemleft{
float: left;
width: 30%;
text-align: center;
}
#service ul li .itemright,ul.servicelist li .itemright{
float: right;
width: 64%;
}

#service ul li h3,ul.servicelist li h3{
text-align: left;
margin: 0 0 0.5em;
}
#service ul li p,ul.servicelist li p{
text-align: left;
font-size: 0.9em;
}

ul.workslist{
overflow: hidden;
text-align: left;
margin: 0 0 2em;
}
ul.workslist li{
display: inline-block;
text-align: center;
margin: 0 1% 1.5em;
font-size: 0.8em;
vertical-align: top;
line-height: 1.5;
width: 47%;
}
#contents ul.workslist li img{
margin-bottom: 10px;
}
ul.workslist li a{
color: #252525;
text-decoration: none;
}

.tablenav {
clear: both;
text-align: center;
}
div.tablenav a, div.tablenav span.current, div.tablenav span.ellipsis {
background: #dadada;
color: #666;
margin-right: 5px;
padding: 7px 12px 7px;
text-decoration: none;
}
div.tablenav a:hover {
background-color: #bababa;
text-decoration: none;
}
div.tablenav span.current {
background-color: #777;
color: #fff;
}
div.tablenav span.ellipsis {
border: medium none;
padding: 5px 0 3px 2px;
}

#prof .itemleft{
float: left;
width: 40%;
margin: 0 15px 15px 0;
text-align: center;
}
#prof .itemright{
}

#prof p{
font-size: 0.9em;
}

#news ul{
border: 2px solid #eee;
padding: 1.5em 1.5em 0.5em;
}
#news ul li{
border-bottom: 1px dashed #dadada;
padding-bottom: 1em;

}
#news ul li span{
display: block;
}

#news ul li a{
color: #252525;
}
#news ul li a::before {
font-family: "fontawesome";
content: '\f101';
}

#blog ul li{
margin: 0 0 2em;
text-align: center;
}
#blog ul li a{
color: #252525;
text-decoration: none;
}
#blog ul li h4{
max-width: 320px;
margin: 0 auto;
text-align: left;
}
#blog ul li p{
max-width: 320px;
margin: 0 auto;
font-size: 0.8em;
text-align: left;
}


/* ～768px メディアクエリ開始 */
@media screen and (max-width : 768px) {
.sp_none{ display: none;}
}

/* 768px～ メディアクエリ開始 */
@media screen and (min-width : 768px) {
  
  /* image-align shadow
----------------------------------------------------------- */
#contents img { 
margin : 10px 0; 
}
#contents img.alignleft {
float: left;
margin: 0 25px 20px 0;
}
#contents img.alignright {
float: right;
margin: 0 0 20px 25px;
}
#contents img.center {
margin: 20px auto;
}

/* btn-style
----------------------------------------------- */
.submit {
margin: 3em 0 4em;
}
/* btn-base */
.txt-btn {
min-width: 340px;
line-height: 54px;
margin: 0 1em 1em;
}

/* other-style
----------------------------------------------- */
.post{padding: 0 1em;}

.layout37 .itemleft{
float: left;
width: 25%;
margin: 0 0;
text-align: center;
}
.layout37 .itemright{
float: right;
width: 70%;
}


/* page-style
----------------------------------------------- */
#service ul,ul.servicelist{
overflow: hidden;
}
#service ul li,ul.servicelist li{
clear: none;
text-align: center;
float: left;
width: 21%;
margin: 0 2%;
}
#service ul li .itemleft,#service ul li .itemright,ul.servicelist li .itemleft,ul.servicelist li .itemright{
float: none;
width: auto;
}
#service ul li h3,ul.servicelist li h3{
font-size: 1.3em;
margin: 0.5em 0 1em;
text-align: center;
}
#service ul li p,ul.servicelist li p{
font-size: 0.9em;
}

ul.workslist{
}
ul.workslist li{
display: inline-block;
width: 31%;
margin: 0 0.8% 2em;

}
ul.workslist li p{
font-size: 0.8em;
}

#prof .itemleft{
float: left;
width: 25%;
margin: 0 0;
text-align: center;
}
#prof .itemright{
float: right;
width: 70%;
}
#prof p{
font-size: 1em;
}

#news ul{
padding: 3em 3em 2em;
max-width: 800px;
margin: 0 auto;
}
#news ul li span{
display: inline-block;
margin-right: 1.5em;
}

#blog ul{
text-align: center;
}
#blog ul li{
display: inline-block;
text-align: center;
width: 30%;
margin: 0 1% 2em;
vertical-align: top;
}

#contact .contact_form{
padding: 30px 50px 0;
}

input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"], select, textarea, .field {
width: 100%;
}

}

/* 1024px～ メディアクエリ開始 */
@media screen and (min-width : 1024px) {

/* typography
----------------------------------------------- */
h2 {
font-size: 2.5em;
margin: 3em 0 1.5em;
}
h2.jp {
font-size: 2em;
}
h3 {
margin: 3em 0 1.8em;
}
h3.subhead {
font-size: 1.5em;
}
h4 {
font-size: 1.4em;
padding: 0.5em 0 0.4em 0.8em;
}

/* box-style
----------------------------------------------- */
.box01 {
margin: 40px 0px ;
}
.box01In{
padding: 50px;
}
.box01 p,.box01 ul  {
margin-left: 20px;
margin-right: 20px;
}
.box02 {
margin: 40px 0px ;
padding: 50px 40px 40px;
}
.box02 p,.box02 ul {
margin-left: 20px;
margin-right: 20px;
}
.box03 {
margin: 40px 0px ;
padding: 50px 40px 40px;
}
.box03 p,.box03 ul {
margin-left: 20px;
margin-right: 20px;
}

/* 見出し付きボックス（01・共通） */
.ptitle {
margin: 30px 20px 0;
padding: 20px  20px 20px 20px;
}
.p-boxIn  {
margin: 0 20px 30px;
padding: 20px 30px ;
}

/* list-style pc
----------------------------------------------- */

/* testimonials
----------------------------------------------- */
.testimonial {
margin: 50px 30px;
padding: 40px 0;
}
.t-title {
font-size: 1.3em;
padding-bottom: 1em;
}

/* page-style
----------------------------------------------- */
#prof{
width: 860px;
margin: 0 auto 150px;}



} /* 1024px～ メディアクエリ終了 */
