/*--------------------------------------------------------
 レスポンシブ 
・他のcssより後に読み込まないと機能しない場合あり
-------------------------------------------------------*/
/* スマホでのスタイルここから */
@media screen and (max-width: 767px){

/* グローバルナビ */
.gnav {
position: absolute;
top: 60px;
left: 0;
background: #fff;
display: none;
width: 100%;
height: 100vh;
}

.gnav-l {
margin: 0;
padding-bottom: 150px;
display: block;
width: 100%;
height: 100vh;
overflow: auto;
}

.gnav-l li {
display: block;
width: 100%;
border-bottom: 1px solid #fafafa;
}

.gnav-l a {
padding: 16px 20px;
width: 100%;
display: block;
font-size: 1.6rem;
}

.gnav-l a:hover {
background: none;
border-radius: 0;
}

.gnav-l a.gnav-menu-title,
.gnav-l span.gnav-menu-title
{
padding: 16px 20px;
width: 100%;
font-weight: bold;
color: #fff;
background: #00abcd;
display: block;
font-size: 1.6rem;
}

.gnav-l .gnav-arrow {
color: #024754;
float: right;
font-size: 24px;
}

.gnav-menu {
/*background: #00abcd;*/
}

.gnav-menu:hover .gnav-submenu {
visibility: visible;
opacity: 1;
box-shadow: none;
}

.gnav-submenu {
padding: 0 10px;
position: relative;
top: 0;
width: 100%;
-webkit-transition: all .1s ease;
transition: all .1s ease;
visibility: visible;
opacity: 1;
display: none;
}

.gnav-submenu li {
padding: 8px 0;
display: block;
border-bottom: 1px dotted #eee;
}

.gnav-submenu a.link {
margin: 0 auto;
padding: 8px 4px;
display: block;
width: 100%;
font-size: 1.6rem;
font-weight: normal;
text-align: left;
line-height: 1.3;
}

br {
display: none;
}

.container {
padding: 0 30px;
}

#home .catchcopy,
#designer .catchcopy {
font-size: 22px;
}

#home .firstview {
padding: 20px 0;
}

#home .firstview img {
max-width: 65%;
}

.bodycopy {
padding-bottom: 40px;
}

.tagline {
font-size: 1.3rem;
}

.headline {
margin-top: 20px;
font-size: 21px;
}

.service-cms p {
font-size: 14px;
}

.closing {
padding: 1.5rem 0;
}

.button.button-main {
font-size: 18px;
line-height: 1.1;
width: 90%;
max-width: 640px;
}

.button.button-lp {
margin: 50px auto 20px;
font-size: 2rem;
}

.footer {
position: relative;
}

.footer-link li {
display: block;
text-align: left;
}

/* 料金 */
.price dl {
float: none;
width: 100%;
}
.price .plus {
padding: 0;
float: none;
width: 100%;
}

/* デザイナー向けLP */
#designer .catchcopy {
margin-top: 0;
font-size: 2.4rem;
}

#designer .headcopy-img {
height: 100%;
}

#designer .headcopy-message {
padding: 0 20px;
width: 100%;
height: 100%;
}

#designer .headcopy-message h2 {
font-size: 2.4em;
position: relative;
top: 50px;
}

#designer .headcopy-message p {
text-align: center;
font-size: 1.5em;
position: relative;
top: 60px;
} 

#designer .button-wrapper {
width: 100%;
position: relative;
top: 120px;
}

#designer .section {
padding: 30px 0px 30px;
width: 100%;
/*font-size: 1.4rem;*/
text-align: center;
}

#designer .section-highlight {
margin: 2em auto 0;
padding: 3.4em 20px 1.5em;
}

#designer .section-highlight::before {
margin-left: -100px;
content: "";
position: absolute;
top: 0%;
border-top: 40px solid #fff;
border-right: 100px solid transparent;
border-left: 100px solid transparent;
}

#designer .section-highlight .left {
width: 85%;
}

#designer .section-highlight .image {
width: 25%;
right: 0;
}

#designer .section-highlight p.copy {
font-size: 1.8em;
}

#designer .section-header {
padding: 2em 20px;
}

#designer .section-header h2 {
font-size: 2em;
}

#designer .section-headline.sh-top h2 {
font-size: 2.4rem;
}

#designer .section-headline h2 {
font-size: 2.4rem;
}

#designer .section-headline p {
font-size: 1.3rem;
}

#designer .section-subheadline {
font-size: 2.4rem;
}

#designer .section-inner {
padding: 20px 10px;
}

#designer .service-icon {
width: 120px;
height: 120px;
}

#designer .section-icon {
max-width: 45%;
}

#designer .section-problem h3 {
margin: 0 auto;
width: 75%;
font-size: 1.25em;
}

#designer .section-problem .flex-item {
padding: 20px 30px;
width: 100%;
}

#designer .section-problem .flex-item.after {
margin-bottom: 60px;
}

#designer .section-problem .flex-item.after:after {
content: "";
position: absolute;
left: 0;
right: 0;
bottom: -30px;
margin: 0 auto;
width: 65%;
border-bottom: 1px dotted #ccc;
}

#designer .section-feature .box {
padding: 30px 20px;
}

#designer .section-feature .point {
padding: 1em 1.5em 2em;
width: 100%;
}

#designer .section-feature .point h3,
#designer .section-feature .point h4 {
padding: 0;
}

#designer .section-feature .image {
padding: 20px;
width: 30%;
position: absolute;
top: 10px;
right: 0;
z-index: 1;
}

#designer .section-feature .point .tag {
padding: 6px 10px;
position: absolute;
top: -40px;
left: -10px;
}

#designer .section-feature-2 .content h3 {
font-size: 1.25em;
}

#designer .section-price .flex-item {
padding: 20px;
}

#designer .section-price .no h3,
#designer .section-price .yes h3 {
font-size: 0.9em;
}

#designer .section-price p {
margin: 1em 0;
}

#designer .section-price .tag {
margin-right: 0;
}

#designer .section-price .tag-desc {
margin-top: 6px;
font-size: 1em;
display: block;
}

#designer .section-flow .flex-item {
margin-top: 0;
width: 50%;
}

#designer .section-form {
padding: 1em 0;
}

#designer .section-form h2 {
font-size: 3rem;
}

#designer .section-form th,
#designer .section-form td {
display: block;
}

#designer .section-form tr {
border-bottom: none;
}

#designer .section-form th {
margin-top: 20px;
padding: 0;
}

#designer .section-highlight.contact .image {
right: 0;
}

/* サインアップ */
.signup-body {
padding: 30px 0;
max-width: 100%;
}

.signup-heading {
font-size: 2.2rem;
}

}
/* スマホでのスタイルここまで */


/* タブレット以上でのスタイルここから */
@media screen and (min-width: 768px){



}
/* タブレット以上でのスタイルここまで */

/* デスクトップ以上でのスタイルここから */
@media screen and (min-width: 992px){

.service-cms .service-icon {
width: 120px;
height: 120px;
}

}
/* デスクトップ以上でのスタイルここまで */