/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */

html,
button,
input,
select,
textarea {
    color: #212121;
}

html {
    font-size: 1em;
    line-height: 1.5;
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

audio,
canvas,
img,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.browsehappy {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ===== Initializr Styles ==================================================
   Author: Jonathan Verrecchia - verekia.com/initializr/responsive-template
   ========================================================================== */

body {
    font: 16px/26px 'メイリオ', Meiryo, Helvetica, Helvetica Neue, Arial;
}

p {
    margin-top: 0;
}

img {
    max-width: 100%;
}

a {
    color: #0a9ccc;
    text-decoration: none;
    transition:All 0.3s ease;
}

a:hover {
    opacity: 0.7;
}

.wrapper {
    width: 90%;
    margin: 0 5%;
}

/* ===================
    ALL
   =================== */

/* --------------------
    ALL: Common
   -------------------- */

.main-container {
    z-index: 1;
    padding-bottom: 50px;
}

.main {
    padding: 0;
}

.main article {
    padding-top: 60px;
}

.footer-container {
    background: #1fa1cc;
    color: white;
}

.radius-box {
    border-radius: 5px;
}

.dashed-box {
    background: #fff;
    border: dashed 1px #b2b2b2;
    padding: 0 1.5em;
}

.gray-border-box {
    background: #fff;
    border: solid 1px #cfcfcf;
    padding: 0 1.5em;
}

.gray-box {
    background: #f6f6f6;
    padding: 0 1.5em;
}

.orange-box {
    background: #f48737;
}

.list-in-box {
    padding: 1.5em 0 1.5em 1.5em;
}

.main article h1 {
    font-size: 210%;
    line-height: 1.25;
    color: #1394bf;
    font-weight: normal;
    border-top: solid 5px #1fa1cc;
    padding: 1em 0;
    margin: 0 0 0.5em 0;
}

.main article h2,
.main article h3 {
    font-size: 128%;
    line-height: 1.25;
}

.main article .blue-heading {
    background: #dbf1f9;
    margin: 3.5em 0 2em 0;
}

.main article .blue-heading h2 {
    background: #b6e3f2;
    font-weight: normal;
    padding: 0.5em;
}

.cols .span {
    margin-bottom: 2em;
}

.cols .span:last-child {
    margin-bottom: 0;
}

.text-with-photo .photo-and-name {
    position: relative;
}

.text-with-photo .photo-and-name .name {
    position: absolute;
    bottom: 0;
    width: 100%;
    background: rgba(255,255,255,0.9);
    text-align: right;
}

.text-with-photo .photo-and-name .name span.first {
    font-size: 80%;
    margin: 10px 10px 5px;
}

.text-with-photo .photo-and-name .name span.second {
    font-size: 130%;
    margin: 0 10px 10px 0;
}

.button {
    border-radius: 5px;
    display: inline-block;
}

.button a {
    display: block;
    padding: 0.5em 1em;
    text-decoration: none;
}

.button:hover {
    cursor: pointer;
}

.blue-button {
    background: #0a9ccc;
}

.blue-button a {
    color: #fff;
}

/* --------------------
    ALL: Header
   -------------------- */

header nav {
    margin: 50px 0 10px 0;
}

header nav ul {
    margin: 0;
    padding: 0;
}

header nav ul li {
    margin: 0;
    padding: 0;
    float: left;
    width: 48%;
}

header nav ul li.contact-tel {
    margin-right: 2%;
}

.pc-header {
    display: none;
}

.mobile-header {
    display: block;
    position: fixed;
    top: 0;
    width: 100%;
    height: 44px;
    background: #fff;
    margin: 0;
    border-bottom: solid 1px #dfdfdf;
    border-top: solid 5px #1fa1cc;
    z-index: 128;
}

.mobile-header .g-nav-open-button {
    position: absolute;
    top: 0;
    left: 0;
    width: 44px;
    height: 44px;
}

.mobile-header .go-to-contact-mobile {
    position: absolute;
    top: 0;
    right: 0;
    width: 44px;
    height: 44px;
}

.mobile-header .go-to-contact-mobile a {
    display: block;
}

.mobile-header .title {
    position: absolute;
    width: 160px;
    margin: 0 50%;
    padding: 8px 0;
}

.mobile-header .title img {
    margin-left: -80px;
}

/* --------------------
    ALL: Menu
   -------------------- */

.global-nav {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,0.97);
    border-top: solid 5px #1fa1cc;
    z-index: 256;
}

.global-nav ul {
    margin: 0;
    padding: 0;
    border-top: solid 1px #cfcfcf;
}

.global-nav ul li {
    border-bottom: solid 1px #cfcfcf;
}

.global-nav ul li a {
    display: block;
    padding: 0.75em;
    background: url('../img/icon-arrow-right.svg') 98% center no-repeat;
}

/* --------------------
    ALL: Main visual
   -------------------- */

.main-visual {
    text-align: center;
    background: url('../img/bg-mainvisual.jpg') center center no-repeat;
    background-size: 100%;
}

.main-visual img {
    width: 90%;
}

/* --------------------
    ALL: News
   -------------------- */

#news .blue-heading {
    margin-top: 0;
}

#news .blue-heading h2 {
    margin-top: 0;
}

#news .news-window {
    height: 12em;
    overflow: auto;
    margin-bottom: 1em;
}

#news ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

#news ul li {
    position: relative;
    margin: 0;
    padding: 0.5em;
    border-bottom: dotted 1px #b2b2b2;
}

#news ul li h4 {
    margin: 0 0 0 0;
    padding: 1em 0 0.5em 0;
    display: block;
    vertical-align: top;
}

/*
#news ul li div {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}
*/

/* --------------------
    ALL: What's
   -------------------- */

/* --------------------
    ALL: Why
   -------------------- */

#why .gray-box {
    border: solid 1px #fff;
}

/* --------------------
    ALL: Contact middle
   -------------------- */

#contact-middle {
    background: url('../img/bg-contact-middle.png') left bottom no-repeat;
}

#contact-middle div.catch {
    background: #1797c2;
    color: #fff;
    font-size: 130%;
    margin: 0 0 10px 0;
    padding: 0.5em;
}

#contact-middle div.contact-tel {
    margin: 0 0 10px 0;
    text-align: center;
}

#contact-middle div.contact-mail {
    margin: 0 0 10px 0;
    text-align: center;
}

/* --------------------
    ALL: About
   -------------------- */

#about .profile .photo {
    float: left;
    width: 30%;
    margin-left: 3%;
    margin-right: 3%;
    text-align: center;
}

#about .profile .info {
    float: left;
    width: 64%;
}

#about .profile .info .katagaki {
    font-size: 130%;
}

#about .profile .info .name span {
    display: block;
}

#about .profile .info .name .kanji {
    font-size: 250%;
    margin-right: 10px;
    margin-bottom: 10px;
}

#about .strong-point {
    margin-top: 3.5em;
}

#about .strong-point .title {
    background: url('../img/bg-strong-title.png') left top no-repeat;
    height: 94px;
    margin: 0 -1.5em -10px;
    padding: 5px 1.5em 0;
}

#about .strong-point .strong-1,
#about .strong-point .strong-2 {
    margin-bottom: 1.5em;
}

#about .strong-point header {
    margin-bottom: 1em;
}

#about .strong-point header img {
    float: left;
    width: 64px;
    margin: -0.5em 0 0 -0.5em;
}

#about .strong-point header h3 {
    float: right;
    margin-top: 0;
    margin-left: -64px;
    width: 100%;
}

#about .strong-point header h3 span {
    display: block;
    margin-left: 64px;
}

#about .touhonseiso {
    margin-top: 3.5em;
}

/* --------------------
    ALL: Work
   -------------------- */

#work h2 span {
    display: inline-block;
}

#work h2, #work .picture {
    text-align: center;
}

#work .text {
    margin: 0 0.5em 1.5em;
}

#work .data-science {
    margin-top: 2em;
}

#work .data-science .photo-and-name .photo {
    text-align: center;
}

/* --------------------
    ALL: Jisseki
   -------------------- */

#jisseki ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

#jisseki ul li {
    background: #f6f6f6;
    margin-bottom: 1em;
}

#jisseki ul li span {
    display: block;
    background: url('../img/icon-jisseki.png') 1em 1.1em no-repeat;
    padding: 1em 1em 1em 36px;
    margin-bottom: 0;
}

/* --------------------
    ALL: Price
   -------------------- */

.price-list-for-sp {
    display: table;
}

.price-list-for-pc{
    display: none;
}

#price .price-list table{
    width: 100%;
}

#price .price-list .gray-cell{
    background: #f6f6f6;
}

#price .price-list table th,
#price .price-list table td {
    text-align: center;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
    padding-right: 10px;
    width: 50%;
}

#price .price-list table th span {
    display: inline-block;
    border-radius: 5px;
    background: #1fa1cc;
    color: #fff;
    padding: 0.5em;
    font-weight: normal;
}

#price .price-list table td {
    vertical-align: middle;
}

#price .price-list table td.people{
    font-size: 80%;
    line-height: 1.25;
}

#price .price-list table td.people img {
    margin-bottom: 10px;
}

#price .price-list table td.price-per-month {
    font-size: 160%;
    font-weight: bold;
    color: #1394bf;
}

#price .contract table tr {
    border: solid 1px #cfcfcf;
}

#price .contract table tr th,
#price .contract table tr td{
    padding: 0.5em 1em;
}

#price .contract table tr th {
    border-right: solid 1px #cfcfcf;
}

#price .contract table tr td.price {
    font-weight: bold;
    white-space: nowrap;
}

/* --------------------
    ALL: Access
   -------------------- */

#access table {
    width: 100%;
}

#access table tr {
    border-bottom: solid 1px #cfcfcf;
}

#access table tr th,
#access table tr td {
    vertical-align: top;
}

#access table tr th {
    padding: 0.5em 1em;
    text-align: left;
    white-space: nowrap;
}

#access table tr td {
    padding: 0.5em 1em 0.5em 0;
}

#access .access-map {
    margin-top: 30px;
}

#access .access-map iframe {
    border: 0;
    width: 100%;
    height: 300px;
}

/* --------------------
    ALL: Contact
   -------------------- */

#contact #contact-tel .orange-box {
    padding: 10px;
}

#contact #contact-tel .orange-box span {
    display: block;
}

#contact #contact-tel .orange-box span.tel-num {
    margin-bottom: 10px;
}

#contact iframe {
    width: 100%;
    height: 1500px;
}

/* --------------------
    ALL: G0 to page top
   -------------------- */

.go-to-page-top {
    text-align: right;
}

.go-to-page-top a {
    display: inline-block;
    background: #1fa1cc url('../img/icon-arrow-up.png') 1em center no-repeat;
    padding: 1em 1em 1em 2.5em;
    border-radius: 5px 5px 0 0;
    color: #fff;
    line-height: 1em;
}

.lt-ie8 .go-to-page-top a {
    display: inline;
    zoom: 1;
}

/* --------------------
    ALL: Footer
   -------------------- */

.footer-container footer {
    padding: 30px 0;
}

.footer-container footer a {
    color: #fff;
}

.footer-container footer .company-info {
    border-bottom: solid 1px #8fd0e6;
    padding-bottom: 30px;
}

.footer-container footer .company-bnr {
    border-bottom: solid 1px #8fd0e6;
    padding-top: 15px;
}

.footer-container footer .copy-right {
    font-size: 80%;
    line-height: 1.5;
    padding-top: 30px;
}

/* --------------------
    ALL:music
   -------------------- */


#music .profile .info {
    width: 64%;
}

#music .profile .info .katagaki {
    font-size: 130%;
}

#music .profile .info .name span {
    display: block;
}

#music .profile .info .name .kanji {
    font-size: 150%;
    margin-right: 10px;
    margin-bottom: 10px;
}

/*--table--*/

#music .price-list table{
    width: 100%;
}

#music .price-list .gray-cell{
    background: #f6f6f6;
}

#music .price-list table th,
#music .price-list table td {
    text-align: center;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
    padding-right: 10px;
}

#music .price-list table th.class1 {
    background:#ADDBD2;
    color: #fff;
    padding: 0.5em;
    font-size: 130%;
    border: solid 1px #fff;
}

#music .price-list table th.class2 {
    background:#B1C7E7;
    color: #fff;
    padding: 0.5em;
    font-size: 130%;
    border: solid 1px #fff;
}

#music .price-list table th.class3 {
    background:#F19CA6;
    color: #fff;
    padding: 0.5em;
    font-size: 130%;
    border: solid 1px #fff;
}

#music .price-list table td {
    vertical-align: middle;
}


#music .price-list table td.price-per-month {
    font-size: 130%;
    font-weight: bold;
    color: #1394bf;
}

#music .contract table tr th,
#music .contract table tr td{
    padding: 0.5em 1em;
}

#music .contract table tr th {
    border-right: solid 1px #cfcfcf;
}

#music .contract table tr td.price {
    font-weight: bold;
    white-space: nowrap;
}

#music #contact-tel .cols{
	margin-bottom:50px;
}


/* ===============
    ALL: IE Fixes
   =============== */

.ie7 .title {
    padding-top: 20px;
}

/* ==========================================================================
   Media Queries
   ========================================================================== */
@media only screen and (max-width: 480px){
    li.contact-tel,
    li.contact-mail{margin-top:2%;}
}


@media only screen and (min-width: 768px) {

/* ==============
    WIDE
   ============== */

/* --------------------
    WIDE: Common
   -------------------- */

    .header-container {
        border-top: solid 5px #1fa1cc;
    }

    .cols {
        width: 100%
    }

    .cols .span {
        float: left;
        margin-right: 3.2%;
        margin-bottom: 0;
    }

    .cols .span:last-child {
        margin-right: 0;
    }

    .cols .span-1 {
        width: 5.32%;
    }

    .cols .span-2 {
        width: 13.93%;
    }

    .cols .span-3 {
        width: 22.54%;
    }

    .cols .span-4 {
        width: 31.14%;
    }

    .cols .span-5 {
        width: 39.75%;
    }

    .cols .span-6 {
        width: 48.36%;
    }

    .cols .span-7 {
        width: 56.96%;
    }

    .cols .span-8 {
        width: 65.57%;
    }

    .cols .span-9 {
        width: 74.18%;
    }

    .cols .span-10 {
        width: 82.78%;
    }

    .cols .span-11 {
        width: 89.13%;
    }

    .cols .span-12 {
        width: 100%;
    }

    .text-with-photo .text {
        float: left;
    }

    .text-with-photo .photo-and-name {
        float: right;
        margin-right: -1.5em;
    }

/* --------------------
    WIDE: Header
   -------------------- */

    header .title {
        float: left;
        width: 40%;
        margin: 12px 0;
        padding: 0;
    }

    header .title h1 {
        margin: 0;
        padding: 0;
    }

    header nav {
        float: right;
        white-space: nowrap;
        width: 58%;
        margin: 10px 0;
    }

    header nav ul {
        margin: 0;
    }

    header nav ul li {
        width: 49%;
    }

    header nav ul li.contact-tel {
        margin-right: 2%;
    }

    .lt-ie8 header nav ul li {
        display: inline;
        zoom: 1;
    }

    .pc-header {
        display: block;
    }

    .mobile-header {
        display: none;
    }

/* --------------------
    WIDE: Menu
   -------------------- */

    .g-nav-open-button {
        display: none;
    }

    .g-nav-close-button {
        display: none;
    }

    .global-nav {
        display: block;
        position: relative;
        border-top: none;
        border-bottom: solid 1px #097fa4;
        background: url('../img/bg-global-nav.png');
        width: 100%;
        height: 50px;
    }

    .global-nav ul {
        margin: 0;
        padding: 0;
        text-align: center;
        font-size: 0px;
        border: none;
    }

    .global-nav ul li {
        display: inline-block;
        height: 50px;
        border: none;
    }

    .global-nav ul li.active {
        background: rgba(255,255,255,0.2);
    }

    .lt-ie8 .global-nav ul li {
        display: inline;
        zoom: 1;
    }

    .global-nav ul li a {
        display: block;
        color: #fff;
        font-size: 12px;
        text-shadow: 0 0 1px rgba(0,0,0,0.5);
        line-height: 50px;
        padding: 0 0.5em;
        background: url('../img/pic-global-nav-separator.png') right center no-repeat;
    }

    .global-nav ul li:last-child a {
        background: none;
    }

/* --------------------
    WIDE: Main visual
   -------------------- */

/* --------------------
    ALL: News
   -------------------- */

    #news .news-window {
        height: 16em;
    }

    #news ul li {
        font-size: 12px;
    }

    #news ul li h4 {
        margin: 0 0 0.3em 7em;
        padding: 0;
        display: inline-block;
        line-height: 1.5;
    }

    #news ul li div {
        line-height: 1.5;
    }

/* --------------------
    WIDE: What's
   -------------------- */

/* --------------------
    WIDE: Why
   -------------------- */

/* --------------------
    WIDE: Contact middle
   -------------------- */

    #contact-middle {
        position: relative;
    }

    #contact-middle div.contact-tel {
        float: left;
        width: 60%;
        margin-left: 3%;
    }

    #contact-middle div.contact-mail {
        float: left;
        width: 60%;
        margin-left: 3%;
    }

    #contact-middle div.picture {
        position: absolute;
        right: 0;
        bottom: 0;
        width: 40%;
    }

/* --------------------
    WIDE: About
   -------------------- */

    #about .goaisatsu .text {
        width: 60%;
        margin-right: 3%;
    }

    #about .goaisatsu .photo-and-name {
        width: 37%;
    }

    #about .goaisatsu .photo-and-name .photo img {
        border-radius: 0px 5px 5px 0px;
    }

    #about .profile .photo {
        margin-top: -10px;
    }

    #about .strong-point .strong-1 {
        float: left;
        width: 49%;
        margin-right: 2%;
    }

    #about .strong-point .strong-2 {
        float: left;
        width: 49%;
    }

    #about .strong-point header h3 {
        margin-top: 0.1em;
    }

    #about .touhonseiso .text {
        float: left;
        width: 49%;
        margin-right: 2%;
    }

    #about .touhonseiso .movie {
        float: right;
        width: 49%;
        margin-bottom: 1.5em;
    }

    #about .touhonseiso .movie div {
        width: 100%;
        height: 50%;
        top: 0;
        left: 0;
    }

/* --------------------
    WIDE: Work
   -------------------- */

    #work .data-science {
        position: relative;
    }

    #work .data-science .text {
        width: 67%;
        margin: 0 3% 0 0;
    }

    #work .data-science .photo-and-name {
        width: 30%;
        position: absolute;
        right: 1.5em;
        bottom: 0px;
    }

/* --------------------
    WIDE: Jisseki
   -------------------- */

    #jisseki ul li {
        margin-bottom: 2em;
    }

/* --------------------
    WIDE: Price
   -------------------- */

    #price .price-list table {
        width: 80%;
        margin: 0 auto;
    }

    #price .price-list table th span {
        font-size: 130%;
    }

/* --------------------
    WIDE: Access
   -------------------- */

/* --------------------
    WIDE: Contact
   -------------------- */

    #contact #contact-tel .orange-box {
        padding: 10px 0;
    }

    #contact #contact-tel .orange-box span {
        display: inline;
    }

    #contact #contact-tel .orange-box span.tel-num {
        margin-bottom: 0;
    }

/* --------------------
    WIDE: G0 to page top
   -------------------- */

/* --------------------
    WIDE: Footer
   -------------------- */

}

@media only screen and (min-width: 1040px) {

/* ===============
    Maximal Width
   =============== */

/* --------------------
    Maximal Width: Common
   -------------------- */

    body {
        font-size: 14px;
        line-height: 24px;
    }

    .wrapper {
        width: 976px; /* 1140px - 10% for margins */
        margin: 0 auto;
    }

    .cols {
        width: 1008px;
        margin-right: -32px;
    }

    .cols .span {
        float: left;
        margin-right: 32px;
        margin-bottom: 0;
    }

    .cols .span-1 {
        width: 52px;
    }

    .cols .span-2 {
        width: 136px;
    }

    .cols .span-3 {
        width: 220px;
    }

    .cols .span-4 {
        width: 304px;
    }

    .cols .span-5 {
        width: 388px;
    }

    .cols .span-6 {
        width: 472px;
    }

    .cols .span-7 {
        width: 556px;
    }

    .cols .span-8 {
        width: 640px;
    }

    .cols .span-9 {
        width: 724px;
    }

    .cols .span-10 {
        width: 808px;
    }

    .cols .span-11 {
        width: 870px;
    }

    .cols .span-12 {
        width: 976px;
    }

    .blue-heading h2 {
        width: 30%;
    }

    .text-with-photo .text {
        float: left;
    }

    .text-with-photo .photo-and-name {
        float: right;
        margin-right: -1.5em;
    }

/* --------------------
    Maximal Width: Header
   -------------------- */

    header .title {
        width: auto;
        margin: 25px 0;
    }

    header h1 {
        padding: 0;
    }

    header nav {
        width: auto;
        margin: 20px 0;
    }

    header nav ul {
        margin: 0;
    }

    header nav ul li {
        width: auto;
    }

    header nav ul li.contact-tel {
        margin-right: 10px;
    }

    .oldie header nav a {
        margin: 0 0.7%;
    }

/* --------------------
    Maximal Width: Menu
   -------------------- */

    .global-nav {
        border-bottom: solid 1px #097fa4;
        background: url('../img/bg-global-nav.png');
        width: 100%;
        height: 50px;
        z-index: 255;
    }

    .global-nav ul {
        margin: 0;
        padding: 0;
        text-align: center;
        font-size: 0px;
    }

    .global-nav ul li {
        display: inline-block;
        height: 50px;
    }

    .global-nav ul li.active {
        background: rgba(255,255,255,0.2);
    }

    .lt-ie8 .global-nav ul li {
        display: inline;
        zoom: 1;
    }

    .global-nav ul li a {
        display: block;
        color: #fff;
        font-size: 14px;
        text-shadow: 0 0 1px rgba(0,0,0,0.5);
        line-height: 50px;
        padding: 0 1em;
        background: url('../img/pic-global-nav-separator.png') right center no-repeat;
    }

    .global-nav ul li:last-child a {
        background: none;
    }

/* --------------------
    Maximal Width: Main visual
   -------------------- */

.main-visual img {
    width: 976px;
}

/* --------------------
    Maximal Width: What's
   -------------------- */

/* --------------------
    Maximal Width: Why
   -------------------- */

/* --------------------
    Maximal Width: Contact middle
   -------------------- */

    #contact-middle {
        position: relative;
    }

    #contact-middle div.catch {
        background: #1797c2; /* Old browsers */
        background: -moz-linear-gradient(left,  #1797c2 0%, #1797c2 70%, #ffffff 100%); /* FF3.6+ */
        background: -webkit-gradient(linear, left top, right top, color-stop(0%,#1797c2), color-stop(70%,#1797c2), color-stop(100%,#ffffff)); /* Chrome,Safari4+ */
        background: -webkit-linear-gradient(left,  #1797c2 0%,#1797c2 70%,#ffffff 100%); /* Chrome10+,Safari5.1+ */
        background: -o-linear-gradient(left,  #1797c2 0%,#1797c2 70%,#ffffff 100%); /* Opera 11.10+ */
        background: -ms-linear-gradient(left,  #1797c2 0%,#1797c2 70%,#ffffff 100%); /* IE10+ */
        background: linear-gradient(to right,  #1797c2 0%,#1797c2 70%,#ffffff 100%); /* W3C */
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1797c2', endColorstr='#ffffff',GradientType=1 ); /* IE6-9 */
        font-size: 200%;
        margin: 0 0 0 10px;
        padding: 0.75em;
    }

    #contact-middle div.contact-tel {
        float: left;
        width: auto;
        margin: 24px 20px;
    }

    #contact-middle div.contact-mail {
        float: left;
        width: auto;
        margin: 20px 0;
    }

    #contact-middle div.picture {
        position: absolute;
        right: 0;
        bottom: 0;
        width: auto;
    }

/* --------------------
    Maximal Width: About
   -------------------- */

    #about .goaisatsu .text {
        width: 615px;
    }

    #about .goaisatsu .photo-and-name {
        width: auto;
    }

    #about .profile .photo {
        margin-top: -10px;
    }

    #about .profile .info .name span {
        display: inline;
    }

    #about .strong-point .strong-1 {
        float: left;
        width: 49%;
        margin-right: 2%;
    }

    #about .strong-point .strong-2 {
        float: left;
        width: 49%;
    }

    #about .strong-point header h3 {
        margin-top: 0.3em;
    }

    #about .touhonseiso .text {
        float: left;
        width: 530px;
    }

    #about .touhonseiso .movie {
        float: right;
        width: 362px;
    }

/* --------------------
    Maximal Width: Work
   -------------------- */

    #work .data-science {
        position: relative;
    }

    #work .data-science .text {
        width: 692px;
    }

    #work .data-science .photo-and-name {
        width: 234px;
        bottom: 0px;
    }

    #work .data-science .photo-and-name .name {
        position: absolute;
        bottom: 0;
    }

/* --------------------
    Maximal Width: Jisseki
   -------------------- */

/* --------------------
    Maximal Width: Price
   -------------------- */

    .price-list-for-sp{
        display: none;
    }

    .price-list-for-pc {
        display: table;
    }

    #price .price-list table {
        width: 100%;
    }

    #price .price-list table th,
    #price .price-list table td {
        width: 122px;
        padding-left: 0;
        padding-right: 0;
    }

    #price .price-list table th span{
        width: 100%;
        padding-right: 0;
        padding-left: 0;
    }

    #price .price-list .people{
        border-bottom: dotted 1px #2cb3d0;
    }

/* --------------------
    Maximal Width: Access
   -------------------- */

/* --------------------
    Maximal Width: Contact
   -------------------- */

    #contact #contact-tel .orange-box .tel-time {
        margin-left: 10px;
    }

/* --------------------
    Maximal Width: G0 to page top
   -------------------- */

/* --------------------
    Maximal Width: Footer
   -------------------- */

    footer {
        text-align: center;
    }

/* --------------------
    Maximal Width: music
   -------------------- */

    #music .price-list table {
        width: 100%;
    }

    #music .price-list table th,
    #music .price-list table td {
        width: 122px;
        padding-left: 0;
        padding-right: 0;
    }

    #music .price-list table th span{
        width: 100%;
        padding-right: 0;
        padding-left: 0;
    }

    #music .price-list .people{
        border-bottom: dotted 1px #2cb3d0;
    }
}
/* ==========================================================================
   Helper classes
   ========================================================================== */

.tar {
    text-align: right;
}

.tal {
    text-align: left;
}

.tac {
    text-align: center;
}

.fr {
    float: right;
}

.fl {
    float: left;
}

.fss {
    font-size: 80%;
}

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

.mt10 {
    margin-top: 1.0em;
}

.mt15 {
    margin-top: 1.5em;
}

.mt25 {
    margin-top: 2.5em;
}

.mt35 {
    margin-top: 3.5em;
}

.mb15 {
    margin-bottom: 1.5em;
}

.mb25 {
    margin-bottom: 2.5em;
}

.mb35 {
    margin-bottom: 3.5em;
}

.hidden {
    display: none !important;
    visibility: hidden;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after,
.cols:before,
.cols:after {
    content: " ";
    display: table;
}

.clearfix:after,
.cols:after {
    clear: both;
}

.clearfix,
.cols {
    *zoom: 1;
}

/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
