/* ! normalize.css v1.0.0 | MIT License | git.io/normalize */

/* ==========================================================================
HTML5 display definitions
========================================================================== */

/*
* Corrects `block` display not defined in IE 6/7/8/9 and Firefox 3.
*/

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary {
    display: block
}

/*
* Corrects `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
*/
audio, canvas, video {
    display: inline-block;
    *display: inline;
    *zoom: 1;
}

/*
* Prevents modern browsers from displaying `audio` without controls.
* Remove excess height in iOS 5 devices.
*/
audio:not([controls]) {
    display: none;
    height: 0;
}

/*
* Addresses styling for `hidden` attribute not present in IE 7/8/9, Firefox 3, * and Safari 4.
* Known issue:no IE 6 support.
*/
[hidden] {
    display: none
}

/* ==========================================================================
Base
========================================================================== */
/*
* 1. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using
*    `em` units.
* 2. Prevents iOS text size adjust after orientation change, without disabling
*    user zoom.
*/

html {
    font-size: 100%; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
    -ms-text-size-adjust: 100%; /* 2 */
}

/*
* Addresses `font-family` inconsistency between `textarea` and other form
* elements.
*/
html, button, input, select, textarea {
    font-family: sans-serif;
    font-family: 'Nunito', sans-serif;
}
html, body {
    overflow-x: hidden;
    width: 100%;
}

/*
* Addresses margins handled incorrectly in IE 6/7.
*/
body {
    margin: 0;
    font-family: 'Nunito', sans-serif;
}

/*
* Font Smoothing
*/
html, html a {
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004);
    -webkit-font-smoothing: antialiased;
}

/* ==========================================================================
Links
========================================================================== */
/*
* Addresses `outline` inconsistency between Chrome and other browsers.
*/

a:focus {
    outline: thin dotted;
    text-decoration: none;
}

/*
* Improves readability when focused and also mouse hovered in all browsers.
*/
a:active, a:hover {
    outline: 0;
    text-decoration: none;
}

/* ==========================================================================
Typography
========================================================================== */
/*
* Addresses font sizes and margins set differently in IE 6/7.
* Addresses font sizes within `section` and `article` in Firefox 4+, Safari 5, * and Chrome.
*/

h1 {
    margin: 0.67em 0;
    font-size: 2em;
}

#midashi1{
    background:#000;color:#fff;font-size:18pt;width:80%;border-top:13px dashed #fff;border-bottom:13px dashed #fff;box-shadow: 0 0 3px 8px #000,25px 20px 4px 2px rgba(0,0,0,0.2);text-shadow: 0 0 5px;padding:20px;margin-left:10px;
}

h2 {
    margin: 0em 0;
	padding:0em 0em 0em 0em;
    font-size: 1.5em;
	font-weight:bold;
}

#midashi{
    position:relative;
    padding:2px 20px;
    font:bold 24px/1.6 Arial, Helvetica, sans-serif;
    color:#333;
    background:#fff;
    text-shadow:
        1px 1px 0 #fff,
        2px 2px 0 #999;
    border-top:#333 solid 3px;
    border-bottom:#333 solid 3px;
    background-image: -webkit-gradient(linear, left top, right bottom,
            from(           rgba(255, 255, 255, 0.0)),
            color-stop(0.4, rgba(255, 255, 255, 0.0)),
            color-stop(0.4, rgba(0, 0, 0, 0.1)),
            color-stop(0.6, rgba(0, 0, 0, 0.1)),
            color-stop(0.6, rgba(255, 255, 255, 0.0)),
            to(             rgba(255, 255, 255, 0.0))
            );
    background-image: -webkit-linear-gradient(top -45deg,
            transparent 40%,
            rgba(0, 0, 0, 0.1) 40%,
            rgba(0, 0, 0, 0.1) 60%,
            transparent 60%
            );
    background-image: -moz-linear-gradient(top -45deg,
            transparent 40%,
            rgba(0, 0, 0, 0.1) 40%,
            rgba(0, 0, 0, 0.1) 60%,
            transparent 60%
            );
    background-image: -o-linear-gradient(top -45deg,
            transparent 40%,
            rgba(0, 0, 0, 0.1) 40%,
            rgba(0, 0, 0, 0.1) 60%,
            transparent 60%
            );
    background-image: linear-gradient(to bottom -45deg,
            transparent 40%,
            rgba(0, 0, 0, 0.1) 40%,
            rgba(0, 0, 0, 0.1) 60%,
            transparent 60%
            );
    background-size:4px 4px;
}

#midashi:before{
    content:" ";
    position:absolute;
    top:100%;
    left:24px;
    width:0;
    height:0;
    border-width:12px;
    border-style:solid;
    border-color:transparent;
    border-top-color:#333;
}
#midashi:after{
    content:" ";
    position:absolute;
    top:100%;
    left:28px;
    width:0;
    height:0;
    border-width:8px;
    border-style:solid;
    border-color:transparent;
    border-top-color:#f0f0f0;
    z-index:1;
}

h3 {
    margin: 0.8em 0em 0em 1.5em;
    font-size: 1.3em;
	font-weight:bold;
	color:#10ae00;
}
h4 {
    margin: 1.33em 0;
    font-size: 1em;
}
h5 {
    margin: 1.67em 0;
    font-size: 0.83em;
}
h6 {
    margin: 2.33em 0;
    font-size: 0.75em;
}

/*
* Addresses styling not present in IE 7/8/9, Safari 5, and Chrome.
*/
abbr[title] {
    border-bottom: 1px dotted
}

/*
* Addresses style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome.
*/
b, strong {
    font-weight: bold
}
blockquote {
    margin: 0px
}

/*
* Addresses styling not present in Safari 5 and Chrome.
*/
dfn {
    font-style: italic
}

/*
* Addresses styling not present in IE 6/7/8/9.
*/
mark {
    background: #ff0;
    color: #000;
}

/*
* Addresses margins set differently in IE 6/7.
*/
p, pre {
    margin: 0em 1.8em 0em 1.8em
}

/*
* Corrects font family set oddly in IE 6, Safari 4/5, and Chrome.
*/
code, kbd, pre, samp {
    font-size: 1em;
    font-family: monospace, serif;
    _font-family: 'courier new', monospace;
}

/*
* Improves readability of pre-formatted text in all browsers.
*/
pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word;
}

/*
* Addresses CSS quotes not supported in IE 6/7.
*/
q {
    quotes: none
}

/*
* Addresses `quotes` property not supported in Safari 4.
*/
q:before, q:after {
    content: '';
    content: none;
}
small {
    font-size: 75%
}

/*
* Prevents `sub` and `sup` affecting `line-height` in all browsers.
*/
sub, sup {
    position: relative;
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
}
sup {
    top: -0.5em
}
sub {
    bottom: -0.25em
}

/* ==========================================================================
Lists
========================================================================== */
/*
* Addresses margins set differently in IE 6/7.
*/
dl,dt,dd {
  margin: 0;
  padding: 0;
}

/*
* Addresses paddings set differently in IE 6/7.
*/
menu, ol, ul {
    padding: 0
}

/*
* Corrects list images handled incorrectly in IE 7.
*/
nav ul, nav ol {
    list-style: none;
    list-style-image: none;
}

/* ==========================================================================
Embedded content
========================================================================== */
/*
* 1. Removes border when inside `a` element in IE 6/7/8/9 and Firefox 3.
* 2. Improves image quality when scaled in IE 7.
*/

img {
    border: 0; /* 1 */
    -ms-interpolation-mode: bicubic; /* 2 */
}

/*
* Corrects overflow displayed oddly in IE 9.
*/
svg:not(:root) {
    overflow: hidden
}

/* ==========================================================================
Figures
========================================================================== */
/*
* Addresses margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
*/

figure {
    margin: 0
}



/* ==========================================================================
Global Styles
========================================================================== */
.group:after {
    content: "";
    display: table;
    clear: both;
}
a {
    -webkit-transition-timing-function: ease-in-out;
    transition-timing-function: ease-in-out;
    -webkit-transition-duration: 300ms;
    transition-duration: 300ms;
    -webkit-transition-property: color, border-color, background-color;
    transition-property: color, border-color, background-color;
}
.nopadding {
    margin: 0 !important;
    padding: 0 !important;
}
p {
    font-size: 14px;
    line-height: 25px;
}
a {
    color: #73d0da
}
a:hover, a:focus {
    color: #73d0da;
    text-decoration: none;
}
.texture-overlay {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-image: url(../img/grid.png);
}

/* ==========================================================================
Buttons
========================================================================== */
.use-btn {
    display: inline-block;
    margin: 0 10px 10px 0;
    padding: 20px 50px;
    border-radius: 3px;
    background-color: #fff;
    color: #4b98a9;
    font-size: 16px;
}
.use-btn:hover, .use-btn:focus {
    background-color: #73d0da;
    color: #fff;
    text-decoration: none;
}
.learn-btn, .download-btn {
    display: inline-block;
    padding: 18px 46px;
    border: 2px solid #fff;
    border-radius: 3px;
    color: #fff;
    font-size: 16px;
}
.learn-btn:hover, .download-btn:hover, .learn-btn:focus, .download-btn:focus {
    border-color: #73d0da;
    color: #73d0da;
    text-decoration: none;
}
.read-more-btn {
    display: inline-block;
    color: #323a45;
    text-transform: uppercase;
    font-weight: 400;
}
.read-more-btn i, .download-btn i {
    margin-left: 5px
}
.showcase .download-btn {
    margin-top: 50px
}
.download .download-btn {
    margin-top: 25px
}

/* ==========================================================================
Navigation
========================================================================== */
.nav-toggle {
    position: absolute;
    top: 0;
    right: 15px;
    z-index: 999999;
    padding: 10px 35px 16px 0px;
    cursor: pointer;
}
.nav-toggle:focus {
    outline: none;
}
.nav-toggle span, .nav-toggle span:before, .nav-toggle span:after {
    content: '';
    position: absolute;
    display: block;
    width: 35px;
    height: 5px;
    border-radius: 1px;
    background: #fff;
    cursor: pointer;
}
.nav-toggle span:before {
    top: -10px
}
.nav-toggle span:after {
    bottom: -10px
}
.nav-toggle span, .nav-toggle span:before, .nav-toggle span:after {
    -webkit-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
}
.nav-toggle.active span {
    background-color: transparent
}
.nav-toggle.active span:before, .nav-toggle.active span:after {
    top: 0
}
.nav-toggle.active span:before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.nav-toggle.active span:after {
    top: 10px;
    -webkit-transform: translateY(-10px) rotate(-45deg);
    -ms-transform: translateY(-10px) rotate(-45deg);
    transform: translateY(-10px) rotate(-45deg);
}
.navicon {
    position: relative;
    height: 26px;
}
.navicon p {
    margin: 1px 50px 0 0
}
.navicon-fixed {
    position: fixed;
    top: 59px;
    right: 143px;
}

/* ==========================================================================
Hero
========================================================================== */
.hero {
    position: relative;
    padding: 60px 0 60px 0;
    min-height: 800px;
    background: rgb(40, 70, 102) url('../img/top01.jpg') no-repeat center center;
    background-size: cover;
    color: #fff;
}
.hero h1 {
    margin: 30px 0 45px 0;
    font-weight: 300;
    font-size: 45px;
}
.hero h1 span {
    display: inline-block;
    color: #a1a9b0;
}
#home {
    width: 100%;
    height: 100%;
}
.hero {
    width: 100%;
    height: 100%;
}
header i {
    margin-left: 5px
}

/* ==========================================================================
Video
========================================================================== */
section.video i {
    margin-right: 10px;
    color: #323a45;
    vertical-align: middle;
    font-size: 50px;
    -webkit-transition: color 300ms ease-in-out;
    transition: color 300ms ease-in-out;
}
section.video h1 {
    font-weight: 400;
    font-size: 20px;
}
section.video {
    padding: 60px 0;
    background-color: #f6f7f9;
}
section.video a {
    color: #323a45
}
section.video a:hover, section.video a:focus {
    color: #73d0da;
    text-decoration: none;
}
section.video a:hover i, section.video a:focus i {
    color: #73d0da
}

/* ==========================================================================
Custom Slider Controls (Flickity)
========================================================================== */
.flickity-page-dots .dot {
    width: 13px;
    height: 13px;
    opacity: 1;
    background: transparent;
    border: 2px solid white;
    -webkit-transition: background 0.3s;
    transition: background 0.3s;
}
.flickity-page-dots .dot.is-selected {
    background: white;
}

/* ==========================================================================
Features Slider
========================================================================== */
.features-bg {
    position: relative;
    min-height: 400px;
    background: url('../img/features-intro-01.jpg') no-repeat center center;
    background-size: cover;
}
.features-img {
    width: 100%;
    height: 400px;
    text-align: center;
    line-height: 400px;
}

.features-bg p{
	color:#FFFFFF;
	text-align:left;
	font-size:100%;
}

.features-bg h2{
	color:#FFFFFF;
	text-align:left;
	font-size:2.2em;
	padding: 20px 0px 10px 20px;
}



.features-slider {
    position: relative;
    padding: 4% 100px 3% 100px;
    height: 400px;
    background-color: #555;
}
.features-slider ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.features-slider ul li {
    width: 100%;
}
.features-slider li h1 {
    margin-bottom: 15px;
    color: #fff;
    font-weight: 400;
    font-size: 22px;
}
.features-slider li p {
    color: #fff;
    font-size: 14px;
}
.features-intro-img {
    position: relative
}
.slides li h1 {
    margin: 0;
    padding: 0;
}
.features-slider .flickity-page-dots {
    text-align: left;
    margin-top: 20px;
    position: static;
}
.features-slider .flickity-page-dots .dot {
    margin: 0 12px 0 0;
}

/* ==========================================================================
Features List
========================================================================== */
.features-list {
    padding: 50px 0
}
.features-list h1 {
    margin: 0 0 10px 0;
    padding: 0;
    color: #24374b;
    font-size: 20px;
}
.features-list p {
    margin-bottom: 20px;
    color: #778899;
}
.feature-content {
    display: inline-block;
    margin-left: 0;
    width: 65%;
}
.feature-icon {
    display: inline-block;
    margin-right: 25px;
    width: 90px;
    height: 90px;
    vertical-align: top;
    text-align: center;
    font-size: 25px;
    line-height: 90px;
}
.feature-icon i {
    color: #4e9ba3
}

/* ==========================================================================
Blockquote
========================================================================== */
blockquote {
    margin: 40px 0 0;
    padding: 0;
    border: none;
}
blockquote p {
    display: inline-block;
    margin: 0;
    padding: 0;
    width: 70%;
    vertical-align: top;
    font-style: italic;
}
blockquote .avatar {
    display: inline-block;
    margin-right: 20px;
    width: 64px;
    height: 64px;
    vertical-align: middle;
}
blockquote .logo-quote {
    display: inline-block;
    margin: 0 0 0 90px;
}

/* ==========================================================================
Showcase
========================================================================== */
.showcase {
    background: url('../img/top02.jpg') no-repeat center center fixed;
    background-size: cover;
}
.showcase h1 {
    margin: 0 0 20px 0;
    color: #fff;
    font-weight: 400;
    font-size: 22px;
}
.showcase p {
    margin-bottom: 25px;
    color: #fff;
}
.device {
    position: absolute;
    top: -60px;
    left: 20%;
    min-height: 676px;
    width: 359px;
    background: url('../img/iphone-skeleton.png') no-repeat center center;
}
.device-content {
    position: absolute;
    top: 115px;
    left: 56px;
    width: 247px;
    height: 445px;
    background: rgba(0, 0, 0, 0.3);
}
.device-content img {
    width: 247px;
    height: 445px;
}
.showcase-wrap {
    position: relative;
    padding: 10px 0;
    min-height: 600px;
}
.showcase-slider ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.showcase-slider .flickity-page-dots {
    bottom: 20px;
}

/* ==========================================================================
Screenshots Intro
========================================================================== */
.screenshots-intro {
    padding: 10px 0 50px 0;
    background-color: #fff;
}
.screenshots-intro h1 {
    margin-bottom: 20px;
    color: #24374b;
    font-weight: 400;
    font-size: 22px;
}
.screenshots-intro p {
    margin-bottom: 25px;
    color: #646464;
}

/* ==========================================================================
Screenshots
========================================================================== */
.screenshots ul {
    margin: 0;
    padding: 0;
    width: 100%;
}
.screenshots ul li {
    float: left;
    min-height: 100%;
    width: 25%;
    background-color: #000;
    list-style: none;
}
.screenshots figure {
    position: relative;
    overflow: hidden;
}
.screenshots figure img {
    width: 100%;
    height: 100%;
    -webkit-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
}
.screenshots figure:hover img, .screenshots figure:focus img {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}
.screenshots figcaption {
    position: absolute;
    top: 0;
    left: 0;
    padding: 25% 0;
    width: 100%;
    height: 100%;
    background-color: rgba(63, 97, 132, 0.85);
    text-align: center;
    font-size: 15px;
    opacity: 0;
    -webkit-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
}
.screenshots figcaption a {
    color: #fff
}
.screenshots figcaption a:hover, .screenshots figcaption a:focus {
    color: #73d0da
}
.screenshots figure:hover figcaption, .screenshots figure:focus figcaption {
    opacity: 1
}
.visible {
    opacity: 1
}
.screenshots figure.cs-hover figcaption {
    opacity: 1
}
.screenshots figcaption i {
    font-size: 35px
}
.screenshots figcaption p {
    margin-bottom: 0;
    text-transform: uppercase;
    font-weight: 400;
}
.screenshots figcaption .caption-content {
    position: absolute;
    top: 0%;
    left: 0%;
    margin-top: 5%;
    margin-left: 0px;
    width: 100%;
    -webkit-transform: translate(0px, 15px);
    -ms-transform: translate(0px, 15px);
    transform: translate(0px, 15px);
    -webkit-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
}
.screenshots figure:hover figcaption .caption-content, .screenshots figure:focus figcaption .caption-content {
    -webkit-transform: translate(0px, 0px);
    -ms-transform: translate(0px, 0px);
    transform: translate(0px, 0px);
}

/* ==========================================================================
Download Now
========================================================================== */
.download {
    padding: 20px 0;
    background-color: #fff;
}
.download h1 {
    margin: 0px 0px 0px 0px;
    color: #000;
    font-weight: 400;
    font-size: 40px;
}

/* ==========================================================================
Footer
========================================================================== */
footer {
    padding: 100px 0
}
footer p {
    color: #c7cacc;
    font-size: 12px;
}
footer ul {
    margin-top: 30px
}
footer li {
    float: left;
    margin-right: 15%;
    list-style: none;
    text-transform: uppercase;
    font-weight: 400;
}
footer li a {
    color: #3f6184
}
footer li:last-child {
    margin-right: 0
}

/* ==========================================================================
Nav Overlay
========================================================================== */
/* Overlay style */

.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(52, 82, 113, 0.95);
}

/* Menu style */
.overlay nav {
    position: relative;
    top: 50%;
    height: 60%;
    text-align: center;
    font-size: 54px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
.overlay ul {
    position: relative;
    display: inline-block;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}
.overlay ul li {
    display: block;
    float: left;
    margin-right: 20px;
}
.overlay ul li:last-child {
    margin-right: 0px
}
.overlay ul li i {
    display: block;
    margin-bottom: 10px;
    font-size: 40px;
}
.overlay ul li a {
    display: block;
    padding: 50px 0;
    min-width: 190px;
    border: 2px solid #fff;
    border-radius: 3px;
    background-color: #345271;
    color: #fff;
    text-transform: uppercase;
    font-weight: 400;
    font-size: 15px;
    -webkit-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
}
.overlay ul li a:hover, .overlay ul li a:focus {
    border-color: #73d0da;
    color: #73d0da;
}

/* Effects */
.overlay-boxify {
    visibility: hidden;
    opacity: 0;
    -webkit-transition: opacity 0.5s, visibility 0s 0.5s;
    transition: opacity 0.5s, visibility 0s 0.5s;
}
.overlay-boxify.open {
    visibility: visible;
    opacity: 1;
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
}
.overlay-boxify nav ul li {
    opacity: 0;
    -webkit-transform: translate3d(0, -80px, 0);
    transform: translate3d(0, -80px, 0);
    -webkit-transition: -webkit-transform 0.5s, opacity 0.5s;
    transition: transform 0.5s, opacity 0.5s;
}
.overlay-boxify.open nav ul:first-child li:first-child {
    -webkit-transition-delay: 0.05s;
    transition-delay: 0.05s;
}
.overlay-boxify.open nav ul:first-child li:nth-child(2) {
    -webkit-transition-delay: 0.1s;
    transition-delay: 0.1s;
}
.overlay-boxify.open nav ul:nth-child(2) li:first-child {
    -webkit-transition-delay: 0.15s;
    transition-delay: 0.15s;
}
.overlay-boxify.open nav ul:nth-child(2) li:nth-child(2) {
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s;
}
.overlay-boxify.open nav ul li {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

/* ==========================================================================
Waypoints
========================================================================== */
.wp1, .wp2, .wp3, .wp4, .wp5, .wp6 {
    visibility: hidden
}
.bounceInLeft, .bounceInRight, .fadeInUp, .fadeInUpDelay, .fadeInDown, .fadeInUpD, .fadeInLeft, .fadeInRight, .bounceInDown {
    visibility: visible
}
.delay-05s {
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;
}
.delay-1s {
    -webkit-animation-delay: 1s;
    animation-delay: 1s;
}



/* ==========================================================================
Add
========================================================================== */



.doga  {
    overflow: hidden;
    position: relative;
    /* paddingで高さを出している */
    height: 0;
    padding-top:30px;
    padding-bottom:56.25%;
}
.doga iframe,
.doga object,
.doga embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


.doga2  {
    overflow: hidden;
    position: relative;
    /* paddingで高さを出している */
    height: 0;
    padding-top:30px;
    padding-bottom:56.25%;
}
.doga2 iframe,
.doga2 object,
.doga2 embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.toku {
	width:90%;
	margin:auto;
	margin-top: 20px;
}

.contact {
	width:80%;
	margin:auto;
	margin-top: 20px;
	margin-bottom: 20px;
}

.nagare {
	width:90%;
	margin:auto;
}


.box {
	width:90%;
	margin:auto;
	margin-top:10px;
}

.can {
	width:50%;
	float:left;
	margin-bottom: 10px;
}









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

form#mail_form{
  width : 600px;
  margin : 20px auto;
  text-shadow : 0px 1px 0px #ffffff;
  background-color:#edfdff;
}
form#mail_form dl{
  width : 600px;
  padding : 15px 25px;
  overflow : hidden;
}
form#mail_form dl dt{
  clear : both;
  width : 180px;
  float : left;
  text-align : right;
  border-top : 1px solid #cccccc;
	padding : 12px 0 10px;
	background : url(../image/border-shine.png) repeat-x 0 0;
}
form#mail_form dl dd{
  width : 340px;
  float : left;
  border-top : 1px solid #cccccc;
	padding : 16px 0 10px 30px;
	background : url(../image/border-shine.png) repeat-x 0 0;
}
form#mail_form dl dt:first-child,
form#mail_form dl dt:first-child+dd{
  border : none;
  background : none;
}
form#mail_form dl dt span{
  display : block;
  font-size : 85%;
  color : #3377ff;
}
form#mail_form dl dt span.essential{ /* JavaScriptによってdt内に挿入 */
  display : inline;
  color : #ff3030;
  font-weight : bold;
  margin-right : 1em;
}
form#mail_form dd div{ /* 入力エラーメッセージがJavaScriptによって出現 */
  color : #ff0000;
}

form#mail_form input{
  height : 1.6em;
  border : 1px solid #cccccc;
  border-radius : 3px;
  background : #fafafa;
}
form#mail_form input:focus,
form#mail_form textarea:focus{
  box-shadow : 0px 0px 5px #55ccff;
  border : 1px solid #55ccff;
  background : #ffffff;
}
form#mail_form input#name_1,
form#mail_form input#name_2{
  width : 90px;
}
form#mail_form input#read_1,
form#mail_form input#read_2{
  width : 90px;
}
form#mail_form input#mail_address,
form#mail_form input#mail_address_confirm{
  width : 250px;
}
form#mail_form ul li{
  list-style-type : none;
  margin-bottom : 0.5em;
}
form#mail_form ul li label:hover{
  cursor : pointer;
}
form#mail_form ul li input{
  height : auto;
  margin-right : 0.5em;
}
form#mail_form input#postal{
  width : 100px;
}
form#mail_form input#address_1,
form#mail_form input#address_2{
  width : 300px;
  display : block;
  margin-bottom : 7px;
}
form#mail_form input#phone{
  width : 100px;
}
form#mail_form input#birth{
  width : 100px;
}
form#mail_form input#place1{
  width : 100px;
}
form#mail_form input#place2{
  width : 100px;
}
form#mail_form input#day{
  width : 100px;
}
form#mail_form textarea#mail_contents{
  width : 320px;
  height : 200px;
  resize : vertical;
  border : 1px solid #cccccc;
  border-radius : 3px;
  background : #fafafa;
}
form#mail_form input#mail_submit_button{
  width : auto;
  height : auto;
  padding : 4px 10px;
  vertical-align : middle;
  color : #444444;
  background : #eeeeee;
  border : 1px solid #cccccc;
  border-radius : 3px;
  font-family : "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro W3","Hiragino Kaku Gothic Pro",Osaka,"メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",Verdana,Arial,sans-serif;
  font-weight : bold;
}
form#mail_form input#mail_submit_button:hover{
  cursor : pointer;
  color : #106dff;
  background : #e0e0e0;
}

/* --JavaScript------------------------------------------- */




/* --responsive------------------------------------------- */

/* 640pixel start */
@media screen and (max-width : 640px){

form#mail_form{
  width : 95%;
}
form#mail_form dl{
  width : auto;
  padding : 2.5% 2.5%;
}
form#mail_form dl dt{
  width : auto;
  float : none;
  text-align : left;
	padding : 10px 0 5px;
	font-weight : bold;
}
form#mail_form dl dd{
  width : auto;
  float : none;
  border-top : none;
	padding : 0px 0 10px 0px;
	background : none;
}
form#mail_form dl dt span{
  font-weight : normal;
}
form#mail_form dl dt span.essential{ /* JavaScriptによってdt内に挿入 */
	font-weight : bold;
}


form#mail_form input#name_1,
form#mail_form input#name_2,
form#mail_form input#read_1,
form#mail_form input#read_2,
form#mail_form input#mail_address,
form#mail_form input#mail_address_confirm,
form#mail_form input#postal,
form#mail_form input#address_1,
form#mail_form input#address_2,
form#mail_form input#phone,
form#mail_form input#birth,
form#mail_form input#place1,
form#mail_form input#place2,
form#mail_form input#place2,
form#mail_form textarea#mail_contents{
  max-width : 100%;
}


}
/* 640pixel end */


