@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,400i,600,600i,700,700i);
*,
:after,
:before {
    font-size: 100%;
    font-weight: inherit;
    font-style: inherit;
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
    background: transparent no-repeat
}

html {
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    font-weight: 400;
    font-style: normal;
    line-height: 1
}

a {
    -webkit-text-decoration-skip: objects
}

ol,
ul {
    list-style: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

hr {
    display: block;
    height: 0;
    border: 0;
    border-top: 1px solid #ccc
}

input,
select {
    vertical-align: middle
}

main {
    display: block
}

/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */

@font-face {
    font-family: FontAwesome;
    src: url(../fonts/fontawesome-webfont.eot?v=4.7.0);
    src: url(../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0) format("embedded-opentype"), url(../fonts/fontawesome-webfont.woff2?v=4.7.0) format("woff2"), url(../fonts/fontawesome-webfont.woff?v=4.7.0) format("woff"), url(../fonts/fontawesome-webfont.ttf?v=4.7.0) format("truetype"), url(../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular) format("svg");
    font-weight: 400;
    font-style: normal
}

.fa {
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.fa-lg {
    font-size: 1.33333em;
    line-height: .75em;
    vertical-align: -15%
}

.fa-2x {
    font-size: 2em
}

.fa-3x {
    font-size: 3em
}

.fa-4x {
    font-size: 4em
}

.fa-5x {
    font-size: 5em
}

.fa-fw {
    width: 1.28571em;
    text-align: center
}

.fa-ul {
    padding-left: 0;
    margin-left: 2.14286em;
    list-style-type: none
}

.fa-ul>li {
    position: relative
}

.fa-li {
    position: absolute;
    left: -2.14286em;
    width: 2.14286em;
    top: .14286em;
    text-align: center
}

.fa-li.fa-lg {
    left: -1.85714em
}

.fa-border {
    padding: .2em .25em .15em;
    border: .08em solid #eee;
    border-radius: .1em
}

.fa-pull-left {
    float: left
}

.fa-pull-right {
    float: right
}

.fa.fa-pull-left {
    margin-right: .3em
}

.fa.fa-pull-right {
    margin-left: .3em
}

.pull-right {
    float: right
}

.pull-left {
    float: left
}

.fa.pull-left {
    margin-right: .3em
}

.fa.pull-right {
    margin-left: .3em
}

.fa-spin {
    -webkit-animation: a 2s infinite linear;
    animation: a 2s infinite linear
}

.fa-pulse {
    -webkit-animation: a 1s infinite steps(8);
    animation: a 1s infinite steps(8)
}

@-webkit-keyframes a {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }
    to {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg)
    }
}

@keyframes a {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }
    to {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg)
    }
}

.fa-rotate-90 {
    -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

.fa-rotate-180 {
    -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.fa-rotate-270 {
    -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg)
}

.fa-flip-horizontal {
    -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1)
}

.fa-flip-vertical {
    -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
    -webkit-transform: scaleY(-1);
    transform: scaleY(-1)
}

:root .fa-flip-horizontal,
:root .fa-flip-vertical,
:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270 {
    -webkit-filter: none;
    filter: none
}

.fa-stack {
    position: relative;
    display: inline-block;
    width: 2em;
    height: 2em;
    line-height: 2em;
    vertical-align: middle
}

.fa-stack-1x,
.fa-stack-2x {
    position: absolute;
    left: 0;
    width: 100%;
    text-align: center
}

.fa-stack-1x {
    line-height: inherit
}

.fa-stack-2x {
    font-size: 2em
}

.fa-inverse {
    color: #fff
}

.fa-glass:before {
    content: "\F000"
}

.fa-music:before {
    content: "\F001"
}

.fa-search:before {
    content: "\F002"
}

.fa-envelope-o:before {
    content: "\F003"
}

.fa-heart:before {
    content: "\F004"
}

.fa-star:before {
    content: "\F005"
}

.fa-star-o:before {
    content: "\F006"
}

.fa-user:before {
    content: "\F007"
}

.fa-film:before {
    content: "\F008"
}

.fa-th-large:before {
    content: "\F009"
}

.fa-th:before {
    content: "\F00A"
}

.fa-th-list:before {
    content: "\F00B"
}

.fa-check:before {
    content: "\F00C"
}

.fa-close:before,
.fa-remove:before,
.fa-times:before {
    content: "\F00D"
}

.fa-search-plus:before {
    content: "\F00E"
}

.fa-search-minus:before {
    content: "\F010"
}

.fa-power-off:before {
    content: "\F011"
}

.fa-signal:before {
    content: "\F012"
}

.fa-cog:before,
.fa-gear:before {
    content: "\F013"
}

.fa-trash-o:before {
    content: "\F014"
}

.fa-home:before {
    content: "\F015"
}

.fa-file-o:before {
    content: "\F016"
}

.fa-clock-o:before {
    content: "\F017"
}

.fa-road:before {
    content: "\F018"
}

.fa-download:before {
    content: "\F019"
}

.fa-arrow-circle-o-down:before {
    content: "\F01A"
}

.fa-arrow-circle-o-up:before {
    content: "\F01B"
}

.fa-inbox:before {
    content: "\F01C"
}

.fa-play-circle-o:before {
    content: "\F01D"
}

.fa-repeat:before,
.fa-rotate-right:before {
    content: "\F01E"
}

.fa-refresh:before {
    content: "\F021"
}

.fa-list-alt:before {
    content: "\F022"
}

.fa-lock:before {
    content: "\F023"
}

.fa-flag:before {
    content: "\F024"
}

.fa-headphones:before {
    content: "\F025"
}

.fa-volume-off:before {
    content: "\F026"
}

.fa-volume-down:before {
    content: "\F027"
}

.fa-volume-up:before {
    content: "\F028"
}

.fa-qrcode:before {
    content: "\F029"
}

.fa-barcode:before {
    content: "\F02A"
}

.fa-tag:before {
    content: "\F02B"
}

.fa-tags:before {
    content: "\F02C"
}

.fa-book:before {
    content: "\F02D"
}

.fa-bookmark:before {
    content: "\F02E"
}

.fa-print:before {
    content: "\F02F"
}

.fa-camera:before {
    content: "\F030"
}

.fa-font:before {
    content: "\F031"
}

.fa-bold:before {
    content: "\F032"
}

.fa-italic:before {
    content: "\F033"
}

.fa-text-height:before {
    content: "\F034"
}

.fa-text-width:before {
    content: "\F035"
}

.fa-align-left:before {
    content: "\F036"
}

.fa-align-center:before {
    content: "\F037"
}

.fa-align-right:before {
    content: "\F038"
}

.fa-align-justify:before {
    content: "\F039"
}

.fa-list:before {
    content: "\F03A"
}

.fa-dedent:before,
.fa-outdent:before {
    content: "\F03B"
}

.fa-indent:before {
    content: "\F03C"
}

.fa-video-camera:before {
    content: "\F03D"
}

.fa-image:before,
.fa-photo:before,
.fa-picture-o:before {
    content: "\F03E"
}

.fa-pencil:before {
    content: "\F040"
}

.fa-map-marker:before {
    content: "\F041"
}

.fa-adjust:before {
    content: "\F042"
}

.fa-tint:before {
    content: "\F043"
}

.fa-edit:before,
.fa-pencil-square-o:before {
    content: "\F044"
}

.fa-share-square-o:before {
    content: "\F045"
}

.fa-check-square-o:before {
    content: "\F046"
}

.fa-arrows:before {
    content: "\F047"
}

.fa-step-backward:before {
    content: "\F048"
}

.fa-fast-backward:before {
    content: "\F049"
}

.fa-backward:before {
    content: "\F04A"
}

.fa-play:before {
    content: "\F04B"
}

.fa-pause:before {
    content: "\F04C"
}

.fa-stop:before {
    content: "\F04D"
}

.fa-forward:before {
    content: "\F04E"
}

.fa-fast-forward:before {
    content: "\F050"
}

.fa-step-forward:before {
    content: "\F051"
}

.fa-eject:before {
    content: "\F052"
}

.fa-chevron-left:before {
    content: "\F053"
}

.fa-chevron-right:before {
    content: "\F054"
}

.fa-plus-circle:before {
    content: "\F055"
}

.fa-minus-circle:before {
    content: "\F056"
}

.fa-times-circle:before {
    content: "\F057"
}

.fa-check-circle:before {
    content: "\F058"
}

.fa-question-circle:before {
    content: "\F059"
}

.fa-info-circle:before {
    content: "\F05A"
}

.fa-crosshairs:before {
    content: "\F05B"
}

.fa-times-circle-o:before {
    content: "\F05C"
}

.fa-check-circle-o:before {
    content: "\F05D"
}

.fa-ban:before {
    content: "\F05E"
}

.fa-arrow-left:before {
    content: "\F060"
}

.fa-arrow-right:before {
    content: "\F061"
}

.fa-arrow-up:before {
    content: "\F062"
}

.fa-arrow-down:before {
    content: "\F063"
}

.fa-mail-forward:before,
.fa-share:before {
    content: "\F064"
}

.fa-expand:before {
    content: "\F065"
}

.fa-compress:before {
    content: "\F066"
}

.fa-plus:before {
    content: "\F067"
}

.fa-minus:before {
    content: "\F068"
}

.fa-asterisk:before {
    content: "\F069"
}

.fa-exclamation-circle:before {
    content: "\F06A"
}

.fa-gift:before {
    content: "\F06B"
}

.fa-leaf:before {
    content: "\F06C"
}

.fa-fire:before {
    content: "\F06D"
}

.fa-eye:before {
    content: "\F06E"
}

.fa-eye-slash:before {
    content: "\F070"
}

.fa-exclamation-triangle:before,
.fa-warning:before {
    content: "\F071"
}

.fa-plane:before {
    content: "\F072"
}

.fa-calendar:before {
    content: "\F073"
}

.fa-random:before {
    content: "\F074"
}

.fa-comment:before {
    content: "\F075"
}

.fa-magnet:before {
    content: "\F076"
}

.fa-chevron-up:before {
    content: "\F077"
}

.fa-chevron-down:before {
    content: "\F078"
}

.fa-retweet:before {
    content: "\F079"
}

.fa-shopping-cart:before {
    content: "\F07A"
}

.fa-folder:before {
    content: "\F07B"
}

.fa-folder-open:before {
    content: "\F07C"
}

.fa-arrows-v:before {
    content: "\F07D"
}

.fa-arrows-h:before {
    content: "\F07E"
}

.fa-bar-chart-o:before,
.fa-bar-chart:before {
    content: "\F080"
}

.fa-twitter-square:before {
    content: "\F081"
}

.fa-facebook-square:before {
    content: "\F082"
}

.fa-camera-retro:before {
    content: "\F083"
}

.fa-key:before {
    content: "\F084"
}

.fa-cogs:before,
.fa-gears:before {
    content: "\F085"
}

.fa-comments:before {
    content: "\F086"
}

.fa-thumbs-o-up:before {
    content: "\F087"
}

.fa-thumbs-o-down:before {
    content: "\F088"
}

.fa-star-half:before {
    content: "\F089"
}

.fa-heart-o:before {
    content: "\F08A"
}

.fa-sign-out:before {
    content: "\F08B"
}

.fa-linkedin-square:before {
    content: "\F08C"
}

.fa-thumb-tack:before {
    content: "\F08D"
}

.fa-external-link:before {
    content: "\F08E"
}

.fa-sign-in:before {
    content: "\F090"
}

.fa-trophy:before {
    content: "\F091"
}

.fa-github-square:before {
    content: "\F092"
}

.fa-upload:before {
    content: "\F093"
}

.fa-lemon-o:before {
    content: "\F094"
}

.fa-phone:before {
    content: "\F095"
}

.fa-square-o:before {
    content: "\F096"
}

.fa-bookmark-o:before {
    content: "\F097"
}

.fa-phone-square:before {
    content: "\F098"
}

.fa-twitter:before {
    content: "\F099"
}

.fa-facebook-f:before,
.fa-facebook:before {
    content: "\F09A"
}

.fa-github:before {
    content: "\F09B"
}

.fa-unlock:before {
    content: "\F09C"
}

.fa-credit-card:before {
    content: "\F09D"
}

.fa-feed:before,
.fa-rss:before {
    content: "\F09E"
}

.fa-hdd-o:before {
    content: "\F0A0"
}

.fa-bullhorn:before {
    content: "\F0A1"
}

.fa-bell:before {
    content: "\F0F3"
}

.fa-certificate:before {
    content: "\F0A3"
}

.fa-hand-o-right:before {
    content: "\F0A4"
}

.fa-hand-o-left:before {
    content: "\F0A5"
}

.fa-hand-o-up:before {
    content: "\F0A6"
}

.fa-hand-o-down:before {
    content: "\F0A7"
}

.fa-arrow-circle-left:before {
    content: "\F0A8"
}

.fa-arrow-circle-right:before {
    content: "\F0A9"
}

.fa-arrow-circle-up:before {
    content: "\F0AA"
}

.fa-arrow-circle-down:before {
    content: "\F0AB"
}

.fa-globe:before {
    content: "\F0AC"
}

.fa-wrench:before {
    content: "\F0AD"
}

.fa-tasks:before {
    content: "\F0AE"
}

.fa-filter:before {
    content: "\F0B0"
}

.fa-briefcase:before {
    content: "\F0B1"
}

.fa-arrows-alt:before {
    content: "\F0B2"
}

.fa-group:before,
.fa-users:before {
    content: "\F0C0"
}

.fa-chain:before,
.fa-link:before {
    content: "\F0C1"
}

.fa-cloud:before {
    content: "\F0C2"
}

.fa-flask:before {
    content: "\F0C3"
}

.fa-cut:before,
.fa-scissors:before {
    content: "\F0C4"
}

.fa-copy:before,
.fa-files-o:before {
    content: "\F0C5"
}

.fa-paperclip:before {
    content: "\F0C6"
}

.fa-floppy-o:before,
.fa-save:before {
    content: "\F0C7"
}

.fa-square:before {
    content: "\F0C8"
}

.fa-bars:before,
.fa-navicon:before,
.fa-reorder:before {
    content: "\F0C9"
}

.fa-list-ul:before {
    content: "\F0CA"
}

.fa-list-ol:before {
    content: "\F0CB"
}

.fa-strikethrough:before {
    content: "\F0CC"
}

.fa-underline:before {
    content: "\F0CD"
}

.fa-table:before {
    content: "\F0CE"
}

.fa-magic:before {
    content: "\F0D0"
}

.fa-truck:before {
    content: "\F0D1"
}

.fa-pinterest:before {
    content: "\F0D2"
}

.fa-pinterest-square:before {
    content: "\F0D3"
}

.fa-google-plus-square:before {
    content: "\F0D4"
}

.fa-google-plus:before {
    content: "\F0D5"
}

.fa-money:before {
    content: "\F0D6"
}

.fa-caret-down:before {
    content: "\F0D7"
}

.fa-caret-up:before {
    content: "\F0D8"
}

.fa-caret-left:before {
    content: "\F0D9"
}

.fa-caret-right:before {
    content: "\F0DA"
}

.fa-columns:before {
    content: "\F0DB"
}

.fa-sort:before,
.fa-unsorted:before {
    content: "\F0DC"
}

.fa-sort-desc:before,
.fa-sort-down:before {
    content: "\F0DD"
}

.fa-sort-asc:before,
.fa-sort-up:before {
    content: "\F0DE"
}

.fa-envelope:before {
    content: "\F0E0"
}

.fa-linkedin:before {
    content: "\F0E1"
}

.fa-rotate-left:before,
.fa-undo:before {
    content: "\F0E2"
}

.fa-gavel:before,
.fa-legal:before {
    content: "\F0E3"
}

.fa-dashboard:before,
.fa-tachometer:before {
    content: "\F0E4"
}

.fa-comment-o:before {
    content: "\F0E5"
}

.fa-comments-o:before {
    content: "\F0E6"
}

.fa-bolt:before,
.fa-flash:before {
    content: "\F0E7"
}

.fa-sitemap:before {
    content: "\F0E8"
}

.fa-umbrella:before {
    content: "\F0E9"
}

.fa-clipboard:before,
.fa-paste:before {
    content: "\F0EA"
}

.fa-lightbulb-o:before {
    content: "\F0EB"
}

.fa-exchange:before {
    content: "\F0EC"
}

.fa-cloud-download:before {
    content: "\F0ED"
}

.fa-cloud-upload:before {
    content: "\F0EE"
}

.fa-user-md:before {
    content: "\F0F0"
}

.fa-stethoscope:before {
    content: "\F0F1"
}

.fa-suitcase:before {
    content: "\F0F2"
}

.fa-bell-o:before {
    content: "\F0A2"
}

.fa-coffee:before {
    content: "\F0F4"
}

.fa-cutlery:before {
    content: "\F0F5"
}

.fa-file-text-o:before {
    content: "\F0F6"
}

.fa-building-o:before {
    content: "\F0F7"
}

.fa-hospital-o:before {
    content: "\F0F8"
}

.fa-ambulance:before {
    content: "\F0F9"
}

.fa-medkit:before {
    content: "\F0FA"
}

.fa-fighter-jet:before {
    content: "\F0FB"
}

.fa-beer:before {
    content: "\F0FC"
}

.fa-h-square:before {
    content: "\F0FD"
}

.fa-plus-square:before {
    content: "\F0FE"
}

.fa-angle-double-left:before {
    content: "\F100"
}

.fa-angle-double-right:before {
    content: "\F101"
}

.fa-angle-double-up:before {
    content: "\F102"
}

.fa-angle-double-down:before {
    content: "\F103"
}

.fa-angle-left:before {
    content: "\F104"
}

.fa-angle-right:before {
    content: "\F105"
}

.fa-angle-up:before {
    content: "\F106"
}

.fa-angle-down:before {
    content: "\F107"
}

.fa-desktop:before {
    content: "\F108"
}

.fa-laptop:before {
    content: "\F109"
}

.fa-tablet:before {
    content: "\F10A"
}

.fa-mobile-phone:before,
.fa-mobile:before {
    content: "\F10B"
}

.fa-circle-o:before {
    content: "\F10C"
}

.fa-quote-left:before {
    content: "\F10D"
}

.fa-quote-right:before {
    content: "\F10E"
}

.fa-spinner:before {
    content: "\F110"
}

.fa-circle:before {
    content: "\F111"
}

.fa-mail-reply:before,
.fa-reply:before {
    content: "\F112"
}

.fa-github-alt:before {
    content: "\F113"
}

.fa-folder-o:before {
    content: "\F114"
}

.fa-folder-open-o:before {
    content: "\F115"
}

.fa-smile-o:before {
    content: "\F118"
}

.fa-frown-o:before {
    content: "\F119"
}

.fa-meh-o:before {
    content: "\F11A"
}

.fa-gamepad:before {
    content: "\F11B"
}

.fa-keyboard-o:before {
    content: "\F11C"
}

.fa-flag-o:before {
    content: "\F11D"
}

.fa-flag-checkered:before {
    content: "\F11E"
}

.fa-terminal:before {
    content: "\F120"
}

.fa-code:before {
    content: "\F121"
}

.fa-mail-reply-all:before,
.fa-reply-all:before {
    content: "\F122"
}

.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
    content: "\F123"
}

.fa-location-arrow:before {
    content: "\F124"
}

.fa-crop:before {
    content: "\F125"
}

.fa-code-fork:before {
    content: "\F126"
}

.fa-chain-broken:before,
.fa-unlink:before {
    content: "\F127"
}

.fa-question:before {
    content: "\F128"
}

.fa-info:before {
    content: "\F129"
}

.fa-exclamation:before {
    content: "\F12A"
}

.fa-superscript:before {
    content: "\F12B"
}

.fa-subscript:before {
    content: "\F12C"
}

.fa-eraser:before {
    content: "\F12D"
}

.fa-puzzle-piece:before {
    content: "\F12E"
}

.fa-microphone:before {
    content: "\F130"
}

.fa-microphone-slash:before {
    content: "\F131"
}

.fa-shield:before {
    content: "\F132"
}

.fa-calendar-o:before {
    content: "\F133"
}

.fa-fire-extinguisher:before {
    content: "\F134"
}

.fa-rocket:before {
    content: "\F135"
}

.fa-maxcdn:before {
    content: "\F136"
}

.fa-chevron-circle-left:before {
    content: "\F137"
}

.fa-chevron-circle-right:before {
    content: "\F138"
}

.fa-chevron-circle-up:before {
    content: "\F139"
}

.fa-chevron-circle-down:before {
    content: "\F13A"
}

.fa-html5:before {
    content: "\F13B"
}

.fa-css3:before {
    content: "\F13C"
}

.fa-anchor:before {
    content: "\F13D"
}

.fa-unlock-alt:before {
    content: "\F13E"
}

.fa-bullseye:before {
    content: "\F140"
}

.fa-ellipsis-h:before {
    content: "\F141"
}

.fa-ellipsis-v:before {
    content: "\F142"
}

.fa-rss-square:before {
    content: "\F143"
}

.fa-play-circle:before {
    content: "\F144"
}

.fa-ticket:before {
    content: "\F145"
}

.fa-minus-square:before {
    content: "\F146"
}

.fa-minus-square-o:before {
    content: "\F147"
}

.fa-level-up:before {
    content: "\F148"
}

.fa-level-down:before {
    content: "\F149"
}

.fa-check-square:before {
    content: "\F14A"
}

.fa-pencil-square:before {
    content: "\F14B"
}

.fa-external-link-square:before {
    content: "\F14C"
}

.fa-share-square:before {
    content: "\F14D"
}

.fa-compass:before {
    content: "\F14E"
}

.fa-caret-square-o-down:before,
.fa-toggle-down:before {
    content: "\F150"
}

.fa-caret-square-o-up:before,
.fa-toggle-up:before {
    content: "\F151"
}

.fa-caret-square-o-right:before,
.fa-toggle-right:before {
    content: "\F152"
}

.fa-eur:before,
.fa-euro:before {
    content: "\F153"
}

.fa-gbp:before {
    content: "\F154"
}

.fa-dollar:before,
.fa-usd:before {
    content: "\F155"
}

.fa-inr:before,
.fa-rupee:before {
    content: "\F156"
}

.fa-cny:before,
.fa-jpy:before,
.fa-rmb:before,
.fa-yen:before {
    content: "\F157"
}

.fa-rouble:before,
.fa-rub:before,
.fa-ruble:before {
    content: "\F158"
}

.fa-krw:before,
.fa-won:before {
    content: "\F159"
}

.fa-bitcoin:before,
.fa-btc:before {
    content: "\F15A"
}

.fa-file:before {
    content: "\F15B"
}

.fa-file-text:before {
    content: "\F15C"
}

.fa-sort-alpha-asc:before {
    content: "\F15D"
}

.fa-sort-alpha-desc:before {
    content: "\F15E"
}

.fa-sort-amount-asc:before {
    content: "\F160"
}

.fa-sort-amount-desc:before {
    content: "\F161"
}

.fa-sort-numeric-asc:before {
    content: "\F162"
}

.fa-sort-numeric-desc:before {
    content: "\F163"
}

.fa-thumbs-up:before {
    content: "\F164"
}

.fa-thumbs-down:before {
    content: "\F165"
}

.fa-youtube-square:before {
    content: "\F166"
}

.fa-youtube:before {
    content: "\F167"
}

.fa-xing:before {
    content: "\F168"
}

.fa-xing-square:before {
    content: "\F169"
}

.fa-youtube-play:before {
    content: "\F16A"
}

.fa-dropbox:before {
    content: "\F16B"
}

.fa-stack-overflow:before {
    content: "\F16C"
}

.fa-instagram:before {
    content: "\F16D"
}

.fa-flickr:before {
    content: "\F16E"
}

.fa-adn:before {
    content: "\F170"
}

.fa-bitbucket:before {
    content: "\F171"
}

.fa-bitbucket-square:before {
    content: "\F172"
}

.fa-tumblr:before {
    content: "\F173"
}

.fa-tumblr-square:before {
    content: "\F174"
}

.fa-long-arrow-down:before {
    content: "\F175"
}

.fa-long-arrow-up:before {
    content: "\F176"
}

.fa-long-arrow-left:before {
    content: "\F177"
}

.fa-long-arrow-right:before {
    content: "\F178"
}

.fa-apple:before {
    content: "\F179"
}

.fa-windows:before {
    content: "\F17A"
}

.fa-android:before {
    content: "\F17B"
}

.fa-linux:before {
    content: "\F17C"
}

.fa-dribbble:before {
    content: "\F17D"
}

.fa-skype:before {
    content: "\F17E"
}

.fa-foursquare:before {
    content: "\F180"
}

.fa-trello:before {
    content: "\F181"
}

.fa-female:before {
    content: "\F182"
}

.fa-male:before {
    content: "\F183"
}

.fa-gittip:before,
.fa-gratipay:before {
    content: "\F184"
}

.fa-sun-o:before {
    content: "\F185"
}

.fa-moon-o:before {
    content: "\F186"
}

.fa-archive:before {
    content: "\F187"
}

.fa-bug:before {
    content: "\F188"
}

.fa-vk:before {
    content: "\F189"
}

.fa-weibo:before {
    content: "\F18A"
}

.fa-renren:before {
    content: "\F18B"
}

.fa-pagelines:before {
    content: "\F18C"
}

.fa-stack-exchange:before {
    content: "\F18D"
}

.fa-arrow-circle-o-right:before {
    content: "\F18E"
}

.fa-arrow-circle-o-left:before {
    content: "\F190"
}

.fa-caret-square-o-left:before,
.fa-toggle-left:before {
    content: "\F191"
}

.fa-dot-circle-o:before {
    content: "\F192"
}

.fa-wheelchair:before {
    content: "\F193"
}

.fa-vimeo-square:before {
    content: "\F194"
}

.fa-try:before,
.fa-turkish-lira:before {
    content: "\F195"
}

.fa-plus-square-o:before {
    content: "\F196"
}

.fa-space-shuttle:before {
    content: "\F197"
}

.fa-slack:before {
    content: "\F198"
}

.fa-envelope-square:before {
    content: "\F199"
}

.fa-wordpress:before {
    content: "\F19A"
}

.fa-openid:before {
    content: "\F19B"
}

.fa-bank:before,
.fa-institution:before,
.fa-university:before {
    content: "\F19C"
}

.fa-graduation-cap:before,
.fa-mortar-board:before {
    content: "\F19D"
}

.fa-yahoo:before {
    content: "\F19E"
}

.fa-google:before {
    content: "\F1A0"
}

.fa-reddit:before {
    content: "\F1A1"
}

.fa-reddit-square:before {
    content: "\F1A2"
}

.fa-stumbleupon-circle:before {
    content: "\F1A3"
}

.fa-stumbleupon:before {
    content: "\F1A4"
}

.fa-delicious:before {
    content: "\F1A5"
}

.fa-digg:before {
    content: "\F1A6"
}

.fa-pied-piper-pp:before {
    content: "\F1A7"
}

.fa-pied-piper-alt:before {
    content: "\F1A8"
}

.fa-drupal:before {
    content: "\F1A9"
}

.fa-joomla:before {
    content: "\F1AA"
}

.fa-language:before {
    content: "\F1AB"
}

.fa-fax:before {
    content: "\F1AC"
}

.fa-building:before {
    content: "\F1AD"
}

.fa-child:before {
    content: "\F1AE"
}

.fa-paw:before {
    content: "\F1B0"
}

.fa-spoon:before {
    content: "\F1B1"
}

.fa-cube:before {
    content: "\F1B2"
}

.fa-cubes:before {
    content: "\F1B3"
}

.fa-behance:before {
    content: "\F1B4"
}

.fa-behance-square:before {
    content: "\F1B5"
}

.fa-steam:before {
    content: "\F1B6"
}

.fa-steam-square:before {
    content: "\F1B7"
}

.fa-recycle:before {
    content: "\F1B8"
}

.fa-automobile:before,
.fa-car:before {
    content: "\F1B9"
}

.fa-cab:before,
.fa-taxi:before {
    content: "\F1BA"
}

.fa-tree:before {
    content: "\F1BB"
}

.fa-spotify:before {
    content: "\F1BC"
}

.fa-deviantart:before {
    content: "\F1BD"
}

.fa-soundcloud:before {
    content: "\F1BE"
}

.fa-database:before {
    content: "\F1C0"
}

.fa-file-pdf-o:before {
    content: "\F1C1"
}

.fa-file-word-o:before {
    content: "\F1C2"
}

.fa-file-excel-o:before {
    content: "\F1C3"
}

.fa-file-powerpoint-o:before {
    content: "\F1C4"
}

.fa-file-image-o:before,
.fa-file-photo-o:before,
.fa-file-picture-o:before {
    content: "\F1C5"
}

.fa-file-archive-o:before,
.fa-file-zip-o:before {
    content: "\F1C6"
}

.fa-file-audio-o:before,
.fa-file-sound-o:before {
    content: "\F1C7"
}

.fa-file-movie-o:before,
.fa-file-video-o:before {
    content: "\F1C8"
}

.fa-file-code-o:before {
    content: "\F1C9"
}

.fa-vine:before {
    content: "\F1CA"
}

.fa-codepen:before {
    content: "\F1CB"
}

.fa-jsfiddle:before {
    content: "\F1CC"
}

.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-ring:before,
.fa-life-saver:before,
.fa-support:before {
    content: "\F1CD"
}

.fa-circle-o-notch:before {
    content: "\F1CE"
}

.fa-ra:before,
.fa-rebel:before,
.fa-resistance:before {
    content: "\F1D0"
}

.fa-empire:before,
.fa-ge:before {
    content: "\F1D1"
}

.fa-git-square:before {
    content: "\F1D2"
}

.fa-git:before {
    content: "\F1D3"
}

.fa-hacker-news:before,
.fa-y-combinator-square:before,
.fa-yc-square:before {
    content: "\F1D4"
}

.fa-tencent-weibo:before {
    content: "\F1D5"
}

.fa-qq:before {
    content: "\F1D6"
}

.fa-wechat:before,
.fa-weixin:before {
    content: "\F1D7"
}

.fa-paper-plane:before,
.fa-send:before {
    content: "\F1D8"
}

.fa-paper-plane-o:before,
.fa-send-o:before {
    content: "\F1D9"
}

.fa-history:before {
    content: "\F1DA"
}

.fa-circle-thin:before {
    content: "\F1DB"
}

.fa-header:before {
    content: "\F1DC"
}

.fa-paragraph:before {
    content: "\F1DD"
}

.fa-sliders:before {
    content: "\F1DE"
}

.fa-share-alt:before {
    content: "\F1E0"
}

.fa-share-alt-square:before {
    content: "\F1E1"
}

.fa-bomb:before {
    content: "\F1E2"
}

.fa-futbol-o:before,
.fa-soccer-ball-o:before {
    content: "\F1E3"
}

.fa-tty:before {
    content: "\F1E4"
}

.fa-binoculars:before {
    content: "\F1E5"
}

.fa-plug:before {
    content: "\F1E6"
}

.fa-slideshare:before {
    content: "\F1E7"
}

.fa-twitch:before {
    content: "\F1E8"
}

.fa-yelp:before {
    content: "\F1E9"
}

.fa-newspaper-o:before {
    content: "\F1EA"
}

.fa-wifi:before {
    content: "\F1EB"
}

.fa-calculator:before {
    content: "\F1EC"
}

.fa-paypal:before {
    content: "\F1ED"
}

.fa-google-wallet:before {
    content: "\F1EE"
}

.fa-cc-visa:before {
    content: "\F1F0"
}

.fa-cc-mastercard:before {
    content: "\F1F1"
}

.fa-cc-discover:before {
    content: "\F1F2"
}

.fa-cc-amex:before {
    content: "\F1F3"
}

.fa-cc-paypal:before {
    content: "\F1F4"
}

.fa-cc-stripe:before {
    content: "\F1F5"
}

.fa-bell-slash:before {
    content: "\F1F6"
}

.fa-bell-slash-o:before {
    content: "\F1F7"
}

.fa-trash:before {
    content: "\F1F8"
}

.fa-copyright:before {
    content: "\F1F9"
}

.fa-at:before {
    content: "\F1FA"
}

.fa-eyedropper:before {
    content: "\F1FB"
}

.fa-paint-brush:before {
    content: "\F1FC"
}

.fa-birthday-cake:before {
    content: "\F1FD"
}

.fa-area-chart:before {
    content: "\F1FE"
}

.fa-pie-chart:before {
    content: "\F200"
}

.fa-line-chart:before {
    content: "\F201"
}

.fa-lastfm:before {
    content: "\F202"
}

.fa-lastfm-square:before {
    content: "\F203"
}

.fa-toggle-off:before {
    content: "\F204"
}

.fa-toggle-on:before {
    content: "\F205"
}

.fa-bicycle:before {
    content: "\F206"
}

.fa-bus:before {
    content: "\F207"
}

.fa-ioxhost:before {
    content: "\F208"
}

.fa-angellist:before {
    content: "\F209"
}

.fa-cc:before {
    content: "\F20A"
}

.fa-ils:before,
.fa-shekel:before,
.fa-sheqel:before {
    content: "\F20B"
}

.fa-meanpath:before {
    content: "\F20C"
}

.fa-buysellads:before {
    content: "\F20D"
}

.fa-connectdevelop:before {
    content: "\F20E"
}

.fa-dashcube:before {
    content: "\F210"
}

.fa-forumbee:before {
    content: "\F211"
}

.fa-leanpub:before {
    content: "\F212"
}

.fa-sellsy:before {
    content: "\F213"
}

.fa-shirtsinbulk:before {
    content: "\F214"
}

.fa-simplybuilt:before {
    content: "\F215"
}

.fa-skyatlas:before {
    content: "\F216"
}

.fa-cart-plus:before {
    content: "\F217"
}

.fa-cart-arrow-down:before {
    content: "\F218"
}

.fa-diamond:before {
    content: "\F219"
}

.fa-ship:before {
    content: "\F21A"
}

.fa-user-secret:before {
    content: "\F21B"
}

.fa-motorcycle:before {
    content: "\F21C"
}

.fa-street-view:before {
    content: "\F21D"
}

.fa-heartbeat:before {
    content: "\F21E"
}

.fa-venus:before {
    content: "\F221"
}

.fa-mars:before {
    content: "\F222"
}

.fa-mercury:before {
    content: "\F223"
}

.fa-intersex:before,
.fa-transgender:before {
    content: "\F224"
}

.fa-transgender-alt:before {
    content: "\F225"
}

.fa-venus-double:before {
    content: "\F226"
}

.fa-mars-double:before {
    content: "\F227"
}

.fa-venus-mars:before {
    content: "\F228"
}

.fa-mars-stroke:before {
    content: "\F229"
}

.fa-mars-stroke-v:before {
    content: "\F22A"
}

.fa-mars-stroke-h:before {
    content: "\F22B"
}

.fa-neuter:before {
    content: "\F22C"
}

.fa-genderless:before {
    content: "\F22D"
}

.fa-facebook-official:before {
    content: "\F230"
}

.fa-pinterest-p:before {
    content: "\F231"
}

.fa-whatsapp:before {
    content: "\F232"
}

.fa-server:before {
    content: "\F233"
}

.fa-user-plus:before {
    content: "\F234"
}

.fa-user-times:before {
    content: "\F235"
}

.fa-bed:before,
.fa-hotel:before {
    content: "\F236"
}

.fa-viacoin:before {
    content: "\F237"
}

.fa-train:before {
    content: "\F238"
}

.fa-subway:before {
    content: "\F239"
}

.fa-medium:before {
    content: "\F23A"
}

.fa-y-combinator:before,
.fa-yc:before {
    content: "\F23B"
}

.fa-optin-monster:before {
    content: "\F23C"
}

.fa-opencart:before {
    content: "\F23D"
}

.fa-expeditedssl:before {
    content: "\F23E"
}

.fa-battery-4:before,
.fa-battery-full:before,
.fa-battery:before {
    content: "\F240"
}

.fa-battery-3:before,
.fa-battery-three-quarters:before {
    content: "\F241"
}

.fa-battery-2:before,
.fa-battery-half:before {
    content: "\F242"
}

.fa-battery-1:before,
.fa-battery-quarter:before {
    content: "\F243"
}

.fa-battery-0:before,
.fa-battery-empty:before {
    content: "\F244"
}

.fa-mouse-pointer:before {
    content: "\F245"
}

.fa-i-cursor:before {
    content: "\F246"
}

.fa-object-group:before {
    content: "\F247"
}

.fa-object-ungroup:before {
    content: "\F248"
}

.fa-sticky-note:before {
    content: "\F249"
}

.fa-sticky-note-o:before {
    content: "\F24A"
}

.fa-cc-jcb:before {
    content: "\F24B"
}

.fa-cc-diners-club:before {
    content: "\F24C"
}

.fa-clone:before {
    content: "\F24D"
}

.fa-balance-scale:before {
    content: "\F24E"
}

.fa-hourglass-o:before {
    content: "\F250"
}

.fa-hourglass-1:before,
.fa-hourglass-start:before {
    content: "\F251"
}

.fa-hourglass-2:before,
.fa-hourglass-half:before {
    content: "\F252"
}

.fa-hourglass-3:before,
.fa-hourglass-end:before {
    content: "\F253"
}

.fa-hourglass:before {
    content: "\F254"
}

.fa-hand-grab-o:before,
.fa-hand-rock-o:before {
    content: "\F255"
}

.fa-hand-paper-o:before,
.fa-hand-stop-o:before {
    content: "\F256"
}

.fa-hand-scissors-o:before {
    content: "\F257"
}

.fa-hand-lizard-o:before {
    content: "\F258"
}

.fa-hand-spock-o:before {
    content: "\F259"
}

.fa-hand-pointer-o:before {
    content: "\F25A"
}

.fa-hand-peace-o:before {
    content: "\F25B"
}

.fa-trademark:before {
    content: "\F25C"
}

.fa-registered:before {
    content: "\F25D"
}

.fa-creative-commons:before {
    content: "\F25E"
}

.fa-gg:before {
    content: "\F260"
}

.fa-gg-circle:before {
    content: "\F261"
}

.fa-tripadvisor:before {
    content: "\F262"
}

.fa-odnoklassniki:before {
    content: "\F263"
}

.fa-odnoklassniki-square:before {
    content: "\F264"
}

.fa-get-pocket:before {
    content: "\F265"
}

.fa-wikipedia-w:before {
    content: "\F266"
}

.fa-safari:before {
    content: "\F267"
}

.fa-chrome:before {
    content: "\F268"
}

.fa-firefox:before {
    content: "\F269"
}

.fa-opera:before {
    content: "\F26A"
}

.fa-internet-explorer:before {
    content: "\F26B"
}

.fa-television:before,
.fa-tv:before {
    content: "\F26C"
}

.fa-contao:before {
    content: "\F26D"
}

.fa-500px:before {
    content: "\F26E"
}

.fa-amazon:before {
    content: "\F270"
}

.fa-calendar-plus-o:before {
    content: "\F271"
}

.fa-calendar-minus-o:before {
    content: "\F272"
}

.fa-calendar-times-o:before {
    content: "\F273"
}

.fa-calendar-check-o:before {
    content: "\F274"
}

.fa-industry:before {
    content: "\F275"
}

.fa-map-pin:before {
    content: "\F276"
}

.fa-map-signs:before {
    content: "\F277"
}

.fa-map-o:before {
    content: "\F278"
}

.fa-map:before {
    content: "\F279"
}

.fa-commenting:before {
    content: "\F27A"
}

.fa-commenting-o:before {
    content: "\F27B"
}

.fa-houzz:before {
    content: "\F27C"
}

.fa-vimeo:before {
    content: "\F27D"
}

.fa-black-tie:before {
    content: "\F27E"
}

.fa-fonticons:before {
    content: "\F280"
}

.fa-reddit-alien:before {
    content: "\F281"
}

.fa-edge:before {
    content: "\F282"
}

.fa-credit-card-alt:before {
    content: "\F283"
}

.fa-codiepie:before {
    content: "\F284"
}

.fa-modx:before {
    content: "\F285"
}

.fa-fort-awesome:before {
    content: "\F286"
}

.fa-usb:before {
    content: "\F287"
}

.fa-product-hunt:before {
    content: "\F288"
}

.fa-mixcloud:before {
    content: "\F289"
}

.fa-scribd:before {
    content: "\F28A"
}

.fa-pause-circle:before {
    content: "\F28B"
}

.fa-pause-circle-o:before {
    content: "\F28C"
}

.fa-stop-circle:before {
    content: "\F28D"
}

.fa-stop-circle-o:before {
    content: "\F28E"
}

.fa-shopping-bag:before {
    content: "\F290"
}

.fa-shopping-basket:before {
    content: "\F291"
}

.fa-hashtag:before {
    content: "\F292"
}

.fa-bluetooth:before {
    content: "\F293"
}

.fa-bluetooth-b:before {
    content: "\F294"
}

.fa-percent:before {
    content: "\F295"
}

.fa-gitlab:before {
    content: "\F296"
}

.fa-wpbeginner:before {
    content: "\F297"
}

.fa-wpforms:before {
    content: "\F298"
}

.fa-envira:before {
    content: "\F299"
}

.fa-universal-access:before {
    content: "\F29A"
}

.fa-wheelchair-alt:before {
    content: "\F29B"
}

.fa-question-circle-o:before {
    content: "\F29C"
}

.fa-blind:before {
    content: "\F29D"
}

.fa-audio-description:before {
    content: "\F29E"
}

.fa-volume-control-phone:before {
    content: "\F2A0"
}

.fa-braille:before {
    content: "\F2A1"
}

.fa-assistive-listening-systems:before {
    content: "\F2A2"
}

.fa-american-sign-language-interpreting:before,
.fa-asl-interpreting:before {
    content: "\F2A3"
}

.fa-deaf:before,
.fa-deafness:before,
.fa-hard-of-hearing:before {
    content: "\F2A4"
}

.fa-glide:before {
    content: "\F2A5"
}

.fa-glide-g:before {
    content: "\F2A6"
}

.fa-sign-language:before,
.fa-signing:before {
    content: "\F2A7"
}

.fa-low-vision:before {
    content: "\F2A8"
}

.fa-viadeo:before {
    content: "\F2A9"
}

.fa-viadeo-square:before {
    content: "\F2AA"
}

.fa-snapchat:before {
    content: "\F2AB"
}

.fa-snapchat-ghost:before {
    content: "\F2AC"
}

.fa-snapchat-square:before {
    content: "\F2AD"
}

.fa-pied-piper:before {
    content: "\F2AE"
}

.fa-first-order:before {
    content: "\F2B0"
}

.fa-yoast:before {
    content: "\F2B1"
}

.fa-themeisle:before {
    content: "\F2B2"
}

.fa-google-plus-circle:before,
.fa-google-plus-official:before {
    content: "\F2B3"
}

.fa-fa:before,
.fa-font-awesome:before {
    content: "\F2B4"
}

.fa-handshake-o:before {
    content: "\F2B5"
}

.fa-envelope-open:before {
    content: "\F2B6"
}

.fa-envelope-open-o:before {
    content: "\F2B7"
}

.fa-linode:before {
    content: "\F2B8"
}

.fa-address-book:before {
    content: "\F2B9"
}

.fa-address-book-o:before {
    content: "\F2BA"
}

.fa-address-card:before,
.fa-vcard:before {
    content: "\F2BB"
}

.fa-address-card-o:before,
.fa-vcard-o:before {
    content: "\F2BC"
}

.fa-user-circle:before {
    content: "\F2BD"
}

.fa-user-circle-o:before {
    content: "\F2BE"
}

.fa-user-o:before {
    content: "\F2C0"
}

.fa-id-badge:before {
    content: "\F2C1"
}

.fa-drivers-license:before,
.fa-id-card:before {
    content: "\F2C2"
}

.fa-drivers-license-o:before,
.fa-id-card-o:before {
    content: "\F2C3"
}

.fa-quora:before {
    content: "\F2C4"
}

.fa-free-code-camp:before {
    content: "\F2C5"
}

.fa-telegram:before {
    content: "\F2C6"
}

.fa-thermometer-4:before,
.fa-thermometer-full:before,
.fa-thermometer:before {
    content: "\F2C7"
}

.fa-thermometer-3:before,
.fa-thermometer-three-quarters:before {
    content: "\F2C8"
}

.fa-thermometer-2:before,
.fa-thermometer-half:before {
    content: "\F2C9"
}

.fa-thermometer-1:before,
.fa-thermometer-quarter:before {
    content: "\F2CA"
}

.fa-thermometer-0:before,
.fa-thermometer-empty:before {
    content: "\F2CB"
}

.fa-shower:before {
    content: "\F2CC"
}

.fa-bath:before,
.fa-bathtub:before,
.fa-s15:before {
    content: "\F2CD"
}

.fa-podcast:before {
    content: "\F2CE"
}

.fa-window-maximize:before {
    content: "\F2D0"
}

.fa-window-minimize:before {
    content: "\F2D1"
}

.fa-window-restore:before {
    content: "\F2D2"
}

.fa-times-rectangle:before,
.fa-window-close:before {
    content: "\F2D3"
}

.fa-times-rectangle-o:before,
.fa-window-close-o:before {
    content: "\F2D4"
}

.fa-bandcamp:before {
    content: "\F2D5"
}

.fa-grav:before {
    content: "\F2D6"
}

.fa-etsy:before {
    content: "\F2D7"
}

.fa-imdb:before {
    content: "\F2D8"
}

.fa-ravelry:before {
    content: "\F2D9"
}

.fa-eercast:before {
    content: "\F2DA"
}

.fa-microchip:before {
    content: "\F2DB"
}

.fa-snowflake-o:before {
    content: "\F2DC"
}

.fa-superpowers:before {
    content: "\F2DD"
}

.fa-wpexplorer:before {
    content: "\F2DE"
}

.fa-meetup:before {
    content: "\F2E0"
}

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

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

@font-face {
    font-family: Noto Sans JP;
    font-style: normal;
    font-weight: 400;
    src: url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.otf) format("opentype")
}

@font-face {
    font-family: Noto Sans JP;
    font-style: normal;
    font-weight: 500;
    src: url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Medium.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Medium.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Medium.otf) format("opentype")
}

@font-face {
    font-family: Noto Sans JP;
    font-style: normal;
    font-weight: 700;
    src: url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.otf) format("opentype")
}

input:invalid {
    border-radius: 0;
    box-shadow: none
}

input[type=email],
input[type=text] {
    box-sizing: border-box;
    height: 36px;
    padding: 0 9px;
    line-height: 1;
    border: 1px solid #bebebe;
    background-color: #fff;
    font-family: inherit !important;
    font-size: 1rem
}

@media only screen and (max-width:767px) {
    input[type=email],
    input[type=text] {
        height: 44px
    }
}

input[type=checkbox] {
    display: none
}

input[type=checkbox]+label {
    position: relative;
    display: inline-block;
    padding: 3px 3px 3px 22px;
    cursor: pointer
}

input[type=checkbox]+label:after,
input[type=checkbox]+label:before {
    position: absolute;
    content: "";
    transition-property: background, border, opacity, -webkit-transform;
    transition-property: background, border, opacity, transform;
    transition-property: background, border, opacity, transform, -webkit-transform;
    transition-duration: .2s
}

input[type=checkbox]+label:before {
    top: 50%;
    left: 0;
    width: 14px;
    height: 14px;
    margin-top: -8px;
    background: #f4f4f4;
    border: 1px solid #bebebe;
    border-radius: 3px
}

input[type=checkbox]+label:after {
    opacity: 0;
    top: 50%;
    left: 3px;
    width: 8px;
    height: 4px;
    margin-top: -4px;
    border-left: 2px solid #999;
    border-bottom: 2px solid #999;
    -webkit-transform: rotate(-45deg) scale(.5);
    transform: rotate(-45deg) scale(.5)
}

input[type=checkbox]+label:hover:before {
    background: #fff
}

input[type=checkbox]:checked+label:before {
    background: #fff;
    border: 1px solid #999
}

input[type=checkbox]:checked+label:after {
    opacity: 1;
    -webkit-transform: rotate(-45deg) scale(1);
    transform: rotate(-45deg) scale(1)
}

label>input[type=checkbox] {
    display: inline-block !important
}

input[type=radio] {
    display: none
}

input[type=radio]+label {
    position: relative;
    display: inline-block;
    padding: 3px 3px 3px 20px;
    cursor: pointer
}

input[type=radio]+label:after,
input[type=radio]+label:before {
    position: absolute;
    content: "";
    top: 50%;
    border-radius: 100%;
    transition-property: background, border, opacity, -webkit-transform;
    transition-property: background, border, opacity, transform;
    transition-property: background, border, opacity, transform, -webkit-transform;
    transition-duration: .2s
}

input[type=radio]+label:before {
    left: 0;
    width: 14px;
    height: 14px;
    margin-top: -8px;
    background: #f4f4f4;
    border: 1px solid #bebebe
}

input[type=radio]+label:hover:before {
    background: #fff
}

input[type=radio]+label:after {
    opacity: 0;
    left: 4px;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    background: #999;
    -webkit-transform: scale(2);
    transform: scale(2)
}

input[type=radio]:checked+label:before {
    background: #fff;
    border: 1px solid #999
}

input[type=radio]:checked+label:after {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1)
}

label>input[type=radio] {
    display: inline-block !important
}

input[type=submit] {
    border: 0;
    background-color: #eee;
    padding: 5px 10px
}

input[type=submit],
textarea {
    box-sizing: border-box;
    font-family: inherit !important
}

textarea {
    padding: 9px;
    line-height: 1.5;
    border: 1px solid #bebebe;
    background-color: #fff;
    font-size: 1rem;
    resize: vertical
}

textarea:invalid {
    border-radius: 0;
    box-shadow: none
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
    border: 0;
    margin: 0;
    padding: 0;
    background: none transparent;
    font-size: inherit;
    color: inherit;
    box-sizing: content-box;
    z-index: 1;
    border: 1px solid #bebebe;
    padding: 9px 50px 9px 7px;
    line-height: 1;
    letter-spacing: inherit;
    cursor: pointer
}

.customSelect,
select {
    vertical-align: middle;
    position: relative;
    box-sizing: border-box;
    font-size: 1rem
}

.customSelect {
    z-index: 0;
    padding: 9px 27px 9px 7px;
    border: 1px solid #bebebe;
    background-color: #fff;
    color: #333;
    overflow: hidden;
    text-overflow: ellipsis
}

.customSelectInner {
    white-space: nowrap;
    line-height: 1;
    vertical-align: top
}

.customSelectInner:after {
    content: "\F0D7";
    font-family: FontAwesome;
    position: absolute;
    right: 7px;
    top: 7px;
    bottom: 7px;
    display: block;
    width: 20px;
    background-color: #000;
    color: #fff;
    text-align: center;
    line-height: 20px
}

@media only screen and (max-width:767px) {
    .customSelect {
        padding-top: 13px;
        padding-bottom: 13px
    }
    .customSelectInner:after {
        width: 28px;
        line-height: 28px
    }
}

.wysiwyg {
    font-size: .75rem;
    line-height: 1.75
}

.wysiwyg:after {
    content: "";
    display: block;
    clear: both
}

.wysiwyg h1 {
    font-size: 1rem;
    margin: 1em 0
}

.wysiwyg h2 {
    font-size: .9375rem;
    margin: 1em 0
}

.wysiwyg h3 {
    font-size: .875rem;
    margin: 1em 0
}

.wysiwyg h4 {
    font-size: .8125rem;
    margin: 1em 0
}

.wysiwyg h5,
.wysiwyg h6 {
    font-size: .75rem;
    margin: 1em 0
}

.wysiwyg p {
    margin: -.25em 0;
    line-height: 2
}

.wysiwyg p+p {
    margin-top: 1.25em
}

.wysiwyg .attachment img,
.wysiwyg img.size-auto,
.wysiwyg img.size-full,
.wysiwyg img.size-large,
.wysiwyg img.size-medium {
    max-width: 100%;
    height: auto
}

.wysiwyg .alignleft,
.wysiwyg img.alignleft {
    display: inline;
    float: left;
    margin-right: 24px;
    margin-top: 4px
}

.wysiwyg .alignright,
.wysiwyg img.alignright {
    display: inline;
    float: right;
    margin-left: 24px;
    margin-top: 4px
}

.wysiwyg .aligncenter,
.wysiwyg img.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.wysiwyg img.aligncenter,
.wysiwyg img.alignleft,
.wysiwyg img.alignright {
    margin-bottom: 12px
}

.wysiwyg .wp-caption {
    background: #f1f1f1;
    line-height: 18px;
    margin-bottom: 20px;
    max-width: 632px !important;
    padding: 4px;
    text-align: center
}

.wysiwyg .wp-caption img {
    margin: 5px 5px 0
}

.wysiwyg .wp-caption p.wp-caption-text {
    color: #888;
    font-size: 12px;
    margin: 5px
}

.wysiwyg .wp-smiley {
    margin: 0
}

.wysiwyg .attachment img {
    display: block;
    margin: 0 auto
}

@media only screen and (max-width:767px) {
    .wysiwyg img {
        max-width: 100%;
        height: auto
    }
    .wysiwyg .wp-caption {
        max-width: 100% !important
    }
    .wysiwyg .wp-caption img {
        margin: 0
    }
}

.slick-slider {
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}

.slick-list,
.slick-slider {
    position: relative;
    display: block
}

.slick-list {
    overflow: hidden;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: 0
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-list,
.slick-slider .slick-track {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.slick-track:after,
.slick-track:before {
    content: "";
    display: table
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}

.slick-arrow.slick-hidden {
    display: none
}

html {
    background-color: #fff;
    overflow: scroll;
    -ms-overflow-style: -ms-autohiding-scrollbar
}

body {
    position: relative;
    font-family: Noto Sans JP, sans-serif;
    color: #000;
    overflow-x: hidden
}

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

@media only screen and (max-width:767px) {
    body {
        margin-top: 55px;
        min-width: 100%
    }
}

body.error404 main {
    display: flex;
    justify-content: center;
    align-items: center
}

a {
    color: #2a93cc;
    text-decoration: none
}

a:hover {
    text-decoration: underline
}

@media only screen and (min-width:768px) {
    .sp {
        display: none !important
    }
}

@media only screen and (max-width:767px) {
    .pc {
        display: none !important
    }
}

#site-header {
    position: relative
}

#site-header .brand {
    position: absolute
}

#site-header .brand .logo {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden
}

#site-header .brand span {
    color: #2a93cc;
    font-weight: 700;
    line-height: 1
}

#site-header .language {
    position: absolute
}

#site-header .language .ja {
    display: none
}

body.lang-en #site-header .language .ja {
    display: list-item
}

body.lang-en #site-header .language .en {
    display: none
}

#site-header .language a {
    display: block;
    background-color: #2a93cc;
    color: #fff;
    font-weight: 700;
    text-align: center;
    line-height: 1;
    letter-spacing: .05em
}

#site-header .global {
    position: absolute
}

@media only screen and (min-width:768px) {
    #site-header {
        height: 140px
    }
    #site-header .brand {
        left: 18px;
        top: 20px
    }
    #site-header .brand .logo {
        display: inline-block;
        width: 230px;
        height: 51px;
        background-image: url(../img/logo.png);
        background-size: 230px 51px
    }
    #site-header .brand span {
        display: inline-block;
        margin-left: 30px;
        padding: 13px 0 22px;
        font-size: 1rem;
        vertical-align: top
    }
    #site-header .language {
        right: 29px;
        top: 27px
    }
    #site-header .language a {
        width: 100px;
        padding: 11px 0 12px;
        font-size: .75rem;
        transition: .3s
    }
    #site-header .language a:hover {
        background-color: #000;
        color: #fff;
        text-decoration: none
    }
    #site-header .global {
        left: 0;
        right: 0;
        bottom: 0
    }
    #site-header .global ul {
        display:flex;
        justify-content: center;
        min-width: 1100px;
    }
    #site-header .global ul li {
        flex: 1 0 auto;
        margin-left: 72px;
    }
    #site-header .global ul li:last-child {
        margin-right: 72px
    }
    
    @media screen and (max-width: 1500px) {
	    #site-header .global ul {
			display:block;
			overflow-x: auto;
			white-space: nowrap;
	        justify-content: center;
	        min-width: 1100px;
	    }
	    #site-header .global ul li {
			display: inline-block;
	        margin-left: 72px;
	    }
	}
    
    
    #site-header .global a {
        position: relative;
        display: block
    }
    #site-header .global a:after,
    #site-header .global a:before {
        content: "";
        position: absolute;
        left: -36px;
        bottom: 0;
        z-index: 1;
        display: block;
        -webkit-transform-origin: center center;
        transform-origin: center center;
        -webkit-transform: skew(-60deg);
        transform: skew(-60deg)
    }
    #site-header .global a:before {
        right: -72px;
        top: 100%;
        transition: right .2s, top .2s, background-color .2s;
        pointer-events: none
    }
    #site-header .global a:after {
        right: -36px;
        top: 0
    }
    #site-header .global a span {
        position: relative;
        z-index: 2;
        display: block;
        padding: 12px 0;
        color: #000;
        font-size: 1.125rem;
        font-weight: 700;
        letter-spacing: .05em;
        text-align: center;
        line-height: 1;
        transition: color .2s
    }
    #site-header .global a:hover {
        text-decoration: none
    }
    #site-header .global a:hover:before {
        top: 0;
        right: -36px;
        background-color: #2a93cc
    }
    #site-header .global a:hover span {
        color: #fff
    }
    #site-header .global.fixed {
        position: fixed;
        top: 0;
        bottom: auto;
        z-index: 99999;
        background-color: #fff;
        box-shadow: 0 1px #f7f7f7
    }
}

@media only screen and (max-width:767px) {
    #site-header {
        position: fixed;
        left: 0;
        right: 0;
        top: 0;
        z-index: 99999;
        height: 55px;
        background-color: #fff;
        box-shadow: inset 0 -1px #f7f7f7
    }
    #site-header .brand {
        left: 3px;
        top: 5px
    }
    #site-header .brand .logo {
        display: block;
        width: 146px;
        height: 24.5px;
        background-image: url(../img/logo-sp.png);
        background-size: 146px 24.5px
    }
    #site-header .brand span {
        display: block;
        margin-top: 6px;
        font-size: .75rem
    }
    #site-header .language {
        right: 61px;
        top: 6px
    }
    #site-header .language a {
        width: 60px;
        padding: 5px 0;
        font-size: .6875rem
    }
    #site-header .global {
        left: 0;
        right: 0;
        top: 0
    }
    #site-header .global .menu-button {
        position: absolute;
        right: 0;
        top: 0;
        width: 55px;
        height: 55px;
        background-color: #2a93cc
    }
    #site-header .global .menu-button:after,
    #site-header .global .menu-button:before,
    #site-header .global .menu-button i {
        display: block;
        position: absolute;
        left: 16px;
        width: 23px;
        height: 1px;
        background-color: #fff;
        transition: .3s
    }
    #site-header .global .menu-button:after,
    #site-header .global .menu-button:before {
        content: ""
    }
    #site-header .global .menu-button:before {
        top: 19px
    }
    #site-header .global .menu-button:after {
        bottom: 18px
    }
    #site-header .global .menu-button i {
        top: 50%
    }
    #site-header .global .menu-button.opened:before {
        -webkit-transform: translateY(9px) rotate(225deg);
        transform: translateY(9px) rotate(225deg)
    }
    #site-header .global .menu-button.opened:after {
        -webkit-transform: translateY(-8px) rotate(-225deg);
        transform: translateY(-8px) rotate(-225deg)
    }
    #site-header .global .menu-button.opened i {
        opacity: 0
    }
    #site-header .global .menu-button.opened+ul {
        opacity: 1;
        pointer-events: auto
    }
    #site-header .global .menu-button.opened+ul li {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
    #site-header .global ul {
        position: absolute;
        left: 0;
        right: 0;
        top: 55px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        height: calc(100vh - 55px);
        background-color: #fff;
        text-align: center;
        opacity: 0;
        transition: opacity .5s;
        pointer-events: none
    }
    #site-header .global ul li {
        -webkit-transform: translateY(-10px);
        transform: translateY(-10px);
        transition: -webkit-transform .5s;
        transition: transform .5s;
        transition: transform .5s, -webkit-transform .5s
    }
    #site-header .global ul li a {
        display: block;
        padding: 20px 0;
        color: #000;
        font-size: 1.0625rem;
        font-weight: 700;
        text-align: center;
        letter-spacing: .15em
    }
}

#contents #page-header h1 {
    position: relative;
    background-color: #000;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden
}

#contents #page-header h1:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: cover;
    opacity: 0;
    transition: 1s
}

#contents #page-header h1:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%);
    transform: translate(-50%);
    -webkit-transform: translate(-50%, calc(-50%+30px));
    transform: translate(-50%, calc(-50%+30px));
    opacity: 0;
    transition: .75s .25s
}

#contents #page-header.show h1:before {
    opacity: 1
}

#contents #page-header.show h1:after {
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    opacity: 1
}

#contents main h2.nn {
    position: relative;
    text-align: center
}

#contents main h2.nn span {
    position: relative;
    display: inline-block;
    font-family: Open Sans, sans-serif;
    font-weight: 700;
    font-style: italic;
    letter-spacing: .1em
}

#contents main h2.nn span:after,
#contents main h2.nn span:before {
    content: "";
    position: absolute
}

#contents main h2.nn i {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    letter-spacing: .1em;
    white-space: nowrap
}

#contents #our-service nav .button {
    margin: 0 27px;
    background-color: #000;
    color: #fff
}

#contents #our-service nav .button:before {
    left: -27px;
    border-top-width: 15.58846px;
    border-right-width: 27px;
    border-right-color: #000
}

#contents #our-service nav .button:after {
    right: -27px;
    border-bottom-width: 15.58846px;
    border-left-width: 27px;
    border-left-color: #000
}

#contents #our-service nav .button span:before {
    right: -49px;
    width: 44px;
    border-top: 1px solid
}

@media only screen and (min-width:768px) {
    #contents #our-service nav .button,
    #contents #our-service nav .button:after,
    #contents #our-service nav .button:before,
    #contents #our-service nav .button span:before {
        transition: .3s
    }
    #contents #our-service nav .button:hover {
        background-color: #2a93cc;
        color: #fff
    }
    #contents #our-service nav .button:hover:before {
        border-right-color: #2a93cc
    }
    #contents #our-service nav .button:hover:after {
        border-left-color: #2a93cc
    }
    #contents #our-service nav .button:hover span:before {
        right: -59px
    }
}

#contents #our-service nav .button span {
    display: block;
    font-family: Open Sans, sans-serif;
    font-weight: 600;
    font-style: italic;
    letter-spacing: .1em
}

#contents #our-service nav .button span:before {
    border-top-color: #2a93cc
}

#contents #our-service nav .button i {
    display: block
}

#contents nav.recruit .button {
    margin: 0 27px;
    background-color: #000;
    color: #fff
}

#contents nav.recruit .button:before {
    left: -27px;
    border-top-width: 15.58846px;
    border-right-width: 27px;
    border-right-color: #000
}

#contents nav.recruit .button:after {
    right: -27px;
    border-bottom-width: 15.58846px;
    border-left-width: 27px;
    border-left-color: #000
}

#contents nav.recruit .button span:before {
    right: -49px;
    width: 44px;
    border-top: 1px solid
}

@media only screen and (min-width:768px) {
    #contents nav.recruit .button,
    #contents nav.recruit .button:after,
    #contents nav.recruit .button:before,
    #contents nav.recruit .button span:before {
        transition: .3s
    }
    #contents nav.recruit .button:hover {
        background-color: #2a93cc;
        color: #fff
    }
    #contents nav.recruit .button:hover:before {
        border-right-color: #2a93cc
    }
    #contents nav.recruit .button:hover:after {
        border-left-color: #2a93cc
    }
    #contents nav.recruit .button:hover span:before {
        right: -59px
    }
}

#contents nav.recruit .button span {
    display: block;
    font-family: Open Sans, sans-serif;
    font-weight: 600;
    font-style: italic;
    letter-spacing: .1em
}

#contents nav.recruit .button span:before {
    border-top-color: #2a93cc
}

#contents nav.recruit .button i {
    display: block
}

@media only screen and (min-width:768px) {
    #contents #page-header {
        position: relative;
        z-index: 1
    }
    #contents #page-header h1 {
        height: 450px
    }
    #contents main {
        position: relative;
        min-height: calc(100vh - 140px - 260px);
        background: url(../img/earth.png) no-repeat calc(50% - 725px) 180px;
        overflow: hidden
    }
    #contents main:before {
        content: "";
        display: table
    }
    #contents main:after {
        content: "";
        position: absolute;
        left: 50%;
        top: 800px;
        z-index: 0;
        display: block;
        width: 5120px;
        height: 1000px;
        background-color: #f7f7f7;
        -webkit-transform-origin: center center;
        transform-origin: center center;
        -webkit-transform: translateX(-50%) rotate(-30deg);
        transform: translateX(-50%) rotate(-30deg)
    }
    #contents main>* {
        position: relative;
        z-index: 1
    }
    #contents main h2.nn {
        font-size: 1.875rem
    }
    #contents main h2.nn span:after,
    #contents main h2.nn span:before {
        width: 121px;
        height: 29px;
        background: url(../img/nn.png)
    }
    #contents main h2.nn span:before {
        left: -171px
    }
    #contents main h2.nn span:after {
        right: -171px
    }
    #contents main h2.nn i {
        bottom: -45px;
        font-size: 1.125rem
    }
    #contents #our-service {
        margin-top: 190px
    }
    #contents #our-service nav {
        display: flex;
        justify-content: space-between;
        width: 1100px;
        margin: 120px auto 0
    }
    #contents #our-service nav .button {
        display: inline-block;
        width: 291px;
        padding: 40px 0
    }
    #contents #our-service nav .button span {
        font-size: 1.5rem
    }
    #contents #our-service nav .button i {
        margin-top: 15px;
        font-size: .875rem
    }
    #contents nav.recruit {
        width: 1100px;
        margin: 0 auto
    }
    #contents nav.recruit .buttons {
        display: flex;
        justify-content: space-between;
        margin-top: 170px
    }
    #contents nav.recruit .buttons .button {
        display: inline-block;
        width: 291px;
        padding: 40px 0
    }
    #contents nav.recruit .buttons .button span {
        font-size: 1.5rem
    }
    #contents nav.recruit .buttons .button i {
        margin-top: 15px;
        font-size: .875rem
    }
    #contents nav.recruit .banners {
        margin-top: 200px
    }
    #contents nav.recruit .banners .banner {
        box-sizing: border-box;
        padding-top: 160px
    }
    #contents nav.recruit .banners .banner:nth-child(n+2) {
        margin-top: 50px
    }
    #contents nav.recruit .banners .banner p {
        padding-left: .2em;
        color: #fff;
        font-size: 2rem;
        font-weight: 700;
        text-align: center;
        letter-spacing: .2em
    }
    #contents nav.recruit .banners .banner .button {
        width: 285px;
        margin: 80px auto 0;
        padding: 31px 0;
        font-size: .875rem
    }
    #contents nav.recruit .banners .new-graduate {
        height: 400px;
        background: url(../img/recruit/nav-new-graduate.jpg)
    }
    #contents nav.recruit .banners .career {
        height: 400px;
        background: url(../img/recruit/nav-career.jpg)
    }
    #contents nav.recruit .banners .part-time {
        height: 400px;
        background: url(../img/recruit/nav-part-time.jpg)
    }
}

@media only screen and (max-width:767px) {
    #contents #page-header h1 {
        height: 290px
    }
    #contents main {
        min-height: 50vh;
        overflow: hidden
    }
    #contents main h2.nn {
        font-size: 1.875rem
    }
    #contents main h2.nn span:after,
    #contents main h2.nn span:before {
        width: 95.5px;
        height: 22.5px;
        background-image: url(../img/nn-sp.png);
        background-size: 95.5px 22.5px
    }
    #contents main h2.nn span:before {
        left: -135.5px
    }
    #contents main h2.nn span:after {
        right: -135.5px
    }
    #contents main h2.nn i {
        bottom: -27px;
        font-size: .9375rem
    }
    #contents #our-service {
        margin-top: 100px
    }
    #contents #our-service nav {
        margin-top: 45px;
        padding: 0 15px
    }
    #contents #our-service nav .button {
        padding: 40px 0
    }
    #contents #our-service nav .button:nth-child(n+2) {
        margin-top: 15px
    }
    #contents #our-service nav .button span {
        font-size: 1.5rem
    }
    #contents #our-service nav .button i {
        margin-top: 15px;
        font-size: .875rem
    }
    #contents nav.recruit {
        padding: 0 15px
    }
    #contents nav.recruit .buttons {
        margin-top: 85px
    }
    #contents nav.recruit .buttons .button {
        padding: 40px 0
    }
    #contents nav.recruit .buttons .button:nth-child(n+2) {
        margin-top: 15px
    }
    #contents nav.recruit .buttons .button span {
        font-size: 1.5rem
    }
    #contents nav.recruit .buttons .button i {
        margin-top: 15px;
        font-size: .875rem
    }
    #contents nav.recruit .banners {
        margin-top: 55px
    }
    #contents nav.recruit .banners div {
        position: relative
    }
    #contents nav.recruit .banners div:nth-child(n+2) {
        margin-top: 23px
    }
    #contents nav.recruit .banners div p {
        position: absolute;
        left: 50%;
        top: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        padding-left: .2em;
        color: #fff;
        font-size: 1.25rem;
        font-weight: 700;
        letter-spacing: .2em;
        white-space: nowrap
    }
    #contents nav.recruit .banners div .button {
        display: none
    }
    #contents nav.recruit .banners .new-graduate {
        padding-top: 36.3636364%;
        background: url(../img/recruit/nav-new-graduate.jpg) 50%/cover
    }
    #contents nav.recruit .banners .career {
        padding-top: 36.3636364%;
        background: url(../img/recruit/nav-career.jpg) 50%/cover
    }
    #contents nav.recruit .banners .part-time {
        padding-top: 36.3636364%;
        background: url(../img/recruit/nav-part-time.jpg) 50%/cover
    }
}

#contents .button {
    position: relative;
    display: block;
    text-align: center
}

#contents .button:hover {
    text-decoration: none
}

#contents .button:after,
#contents .button:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 0;
    border: 0 solid transparent
}

#contents .button span:before {
    content: "";
    position: absolute;
    top: 50%;
    z-index: 2;
    height: 0
}

#site-footer {
    background-color: #2a93cc
}

#site-footer .back-to-top a {
    position: relative;
    display: block;
    height: 50px;
    background-color: #bfbebe
}

#site-footer .back-to-top a:before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    display: block;
    width: 22px;
    height: 22px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: translateY(-8px) rotate(40deg) skew(-10deg);
    transform: translateY(-8px) rotate(40deg) skew(-10deg)
}

#site-footer .sitemap a {
    color: #fff;
    letter-spacing: .15em
}

#site-footer .sns ul {
    display: flex
}

#site-footer .sns a {
    display: inline-block;
    box-sizing: border-box;
    background-color: #fff;
    color: #2a93cc;
    text-align: center
}

#site-footer .extra ul {
    display: flex
}

#site-footer .extra ul li:nth-child(n+2) {
    border-left: 1px solid #fff
}

#site-footer .copyright,
#site-footer .extra a {
    color: #fff;
    letter-spacing: .15em
}

@media only screen and (min-width:768px) {
    #site-footer {
        position: relative;
        height: 260px
    }
    #site-footer .back-to-top a:before {
        transition: .3s
    }
    #site-footer .back-to-top a:hover:before {
        -webkit-transform: translateY(-12px) rotate(40deg) skew(-10deg);
        transform: translateY(-12px) rotate(40deg) skew(-10deg)
    }
    #site-footer .sitemap {
        margin-top: 70px
    }
    #site-footer .sitemap ul {
        display: flex;
        width: 1100px;
        margin: 0 auto;
        border: solid #fff;
        border-width: 0 1px
    }
    #site-footer .sitemap ul li {
        flex: 1
    }
    #site-footer .sitemap ul li:nth-child(n+2) {
        border-left: 1px solid #fff
    }
    #site-footer .sitemap a {
        display: block;
        color: #fff;
        font-size: .75rem;
        letter-spacing: .05em;
        text-align: center
    }
    #site-footer .sns {
        position: absolute;
        left: 30px;
        bottom: 40px
    }
    #site-footer .sns ul li:nth-child(n+2) {
        margin-left: 8px
    }
    #site-footer .sns a {
        width: 40px;
        height: 40px;
        padding: 7px 0 9px;
        border-radius: 20px;
        font-size: 1.5rem;
        transition: .3s
    }
    #site-footer .sns a:hover {
        background-color: #000;
        color: #fff;
        text-decoration: none
    }
    #site-footer .extra {
        position: absolute;
        right: 35px;
        bottom: 65px
    }
    #site-footer .extra ul li {
        font-size: .75rem
    }
    #site-footer .extra ul li:nth-child(n+2) {
        margin-left: 6px;
        padding-left: 7px
    }
    #site-footer .extra a {
        font-size: .75rem
    }
    #site-footer .copyright {
        position: absolute;
        right: 35px;
        bottom: 40px;
        font-size: .625rem
    }
}

@media only screen and (max-width:767px) {
    #site-footer {
        padding-bottom: 25px
    }
    #site-footer .sitemap {
        margin-top: 50px
    }
    #site-footer .sitemap a {
        display: block;
        padding: 20px 0;
        color: #fff;
        font-size: .875rem;
        text-align: center
    }
    #site-footer .sns {
        margin-top: 45px
    }
    #site-footer .sns ul {
        justify-content: center
    }
    #site-footer .sns ul li:nth-child(n+2) {
        margin-left: 15px
    }
    #site-footer .sns a {
        width: 46px;
        height: 46px;
        padding: 8px 0 7px;
        border-radius: 23px;
        font-size: 1.875rem
    }
    #site-footer .sns .instagram a {
        padding: 7px 0 8px
    }
    #site-footer .extra {
        margin-top: 60px
    }
    #site-footer .extra ul {
        justify-content: center
    }
    #site-footer .extra ul li {
        font-size: .75rem
    }
    #site-footer .extra ul li:nth-child(n+2) {
        margin-left: 6px;
        padding-left: 7px
    }
    #site-footer .extra a {
        font-size: .75rem
    }
    #site-footer .copyright {
        margin-top: 15px;
        font-size: .625rem;
        text-align: center
    }
}

body.contact-form main form .required {
    color: #c10000
}

body.contact-form main form dl dd,
body.contact-form main form dl dt {
    letter-spacing: .05em
}

body.contact-form main form dl fieldset {
    position: relative
}

body.contact-form main form dl fieldset .error {
    position: absolute;
    left: 0
}

body.contact-form main form dl fieldset small {
    position: absolute;
    right: 0
}

body.contact-form main form .buttons button {
    position: relative;
    display: block;
    text-align: center;
    cursor: pointer
}

body.contact-form main form .buttons button:after,
body.contact-form main form .buttons button:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 0;
    border: 0 solid transparent
}

body.contact-form main form .buttons button span:before {
    content: "";
    position: absolute;
    top: 50%;
    z-index: 2;
    height: 0
}

body.contact-form main form .buttons button {
    margin: 0 27px;
    background-color: #000;
    color: #fff
}

body.contact-form main form .buttons button:before {
    left: -27px;
    border-top-width: 15.58846px;
    border-right-width: 27px;
    border-right-color: #000
}

body.contact-form main form .buttons button:after {
    right: -27px;
    border-bottom-width: 15.58846px;
    border-left-width: 27px;
    border-left-color: #000
}

body.contact-form main form .buttons button span:before {
    right: -49px;
    width: 44px;
    border-top: 1px solid
}

@media only screen and (min-width:768px) {
    body.contact-form main form .buttons button,
    body.contact-form main form .buttons button:after,
    body.contact-form main form .buttons button:before,
    body.contact-form main form .buttons button span:before {
        transition: .3s
    }
    body.contact-form main form .buttons button:hover {
        background-color: #2a93cc;
        color: #fff
    }
    body.contact-form main form .buttons button:hover:before {
        border-right-color: #2a93cc
    }
    body.contact-form main form .buttons button:hover:after {
        border-left-color: #2a93cc
    }
    body.contact-form main form .buttons button:hover span:before {
        right: -59px
    }
}

body.contact-form main form .buttons button span {
    display: block;
    letter-spacing: .14em
}

body.contact-form main form .buttons button span:before {
    border-top-color: #2a93cc
}

body.contact-form main .mw_wp_form_input .message-input {
    display: block
}

body.contact-form main .mw_wp_form_input .message-confirm,
body.contact-form main .mw_wp_form_input .message-error {
    display: none
}

body.contact-form main .mw_wp_form_error .message-error {
    display: block;
    margin-top: 50px;
    padding: 14px;
    border: 1px solid #c10000;
    color: #c10000
}

body.contact-form main .mw_wp_form_error .message-error p {
    font-size: .875rem !important;
    margin: 0
}

body.contact-form main .mw_wp_form_confirm .message-confirm {
    display: block
}

body.contact-form main .mw_wp_form_confirm .message-error,
body.contact-form main .mw_wp_form_confirm .message-input,
body.contact-form main .mw_wp_form_confirm form dl fieldset small {
    display: none
}

body.contact-form main .mw_wp_form_complete .complete h3 {
    text-align: center
}

@media only screen and (min-width:768px) {
    body.contact-form main form dl div {
        display: flex
    }
    body.contact-form main form dl div:nth-child(n+2) {
        margin-top: 40px
    }
    body.contact-form main form dl dt {
        font-size: 1rem;
        line-height: 36px
    }
    body.contact-form main form dl dd {
        flex: 1
    }
    body.contact-form main form dl fieldset {
        display: inline-block
    }
    body.contact-form main form dl fieldset .error,
    body.contact-form main form dl fieldset small {
        bottom: -19px;
        font-size: .75rem
    }
    body.contact-form main form .buttons {
        margin-top: 115px;
        text-align: center
    }
    body.contact-form main form .buttons button {
        display: inline-block;
        width: 285px;
        padding: 30px 0
    }
    body.contact-form main form .buttons button+button {
        margin-left: 57px
    }
    body.contact-form main form .buttons button span {
        font-size: 1rem
    }
    body.contact-form main .mw_wp_form_confirm form dl dt {
        line-height: 1.5
    }
    body.contact-form main .mw_wp_form_confirm form dl dd {
        font-size: 1rem;
        line-height: 1.5
    }
    body.contact-form main .mw_wp_form_complete .complete h3 {
        font-size: 1.25rem
    }
    body.contact-form main .mw_wp_form_complete .complete p {
        margin: 33.6px 0 -.4em;
        font-size: 1rem;
        line-height: 1.8;
        text-align: center
    }
}

@media only screen and (max-width:767px) {
    body.contact-form main form {
        padding: 0 15px
    }
    body.contact-form main form dl div:nth-child(n+2) {
        margin-top: 20px
    }
    body.contact-form main form dl dt {
        font-size: 1rem
    }
    body.contact-form main form dl dd {
        margin-top: 10px
    }
    body.contact-form main form dl fieldset {
        width: 100%
    }
    body.contact-form main form dl fieldset .error,
    body.contact-form main form dl fieldset small {
        bottom: -16px;
        font-size: .75rem
    }
    body.contact-form main form .buttons {
        display: flex;
        flex-direction: column;
        margin-top: 55px
    }
    body.contact-form main form .buttons button {
        padding: 30px 0
    }
    body.contact-form main form .buttons button+button {
        margin-top: 25px
    }
    body.contact-form main form .buttons button span {
        font-size: 1rem
    }
    body.contact-form main .mw_wp_form_confirm form dl div:nth-child(n+2) {
        margin-top: 30px
    }
    body.contact-form main .mw_wp_form_confirm form dl dd {
        font-size: 1rem;
        line-height: 1.5
    }
    body.contact-form main .mw_wp_form_complete .complete h3 {
        font-size: 1.25rem
    }
    body.contact-form main .mw_wp_form_complete .complete p {
        margin: 33.6px 0 -.4em;
        font-size: 1rem;
        line-height: 1.8;
        text-align: justify
    }
}

body.home #main-visual {
    background-color: #2a93cc;
    text-align: center
}

body.home #main-visual img {
    vertical-align: top;
    object-fit: cover
}

body.home #service section {
    position: relative;
    background-color: #2a93cc;
    color: #fff
}

body.home #service section h3 {
    font-weight: 400;
    text-align: center
}

body.home #service section h3:before {
    content: attr(data-label);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    display: block;
    color: #000;
    font-family: Open Sans, sans-serif;
    font-weight: 700;
    font-style: italic;
    text-align: center;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

body.home #service section p {
    text-align: justify
}

body.home #service section .read-more .button {
    margin: 0 20px;
    background-color: #000;
    color: #fff;
    font-family: Open Sans, sans-serif;
    font-weight: 600;
    font-style: italic;
    letter-spacing: .1em
}

body.home #service section .read-more .button:before {
    left: -20px;
    border-top-width: 11.54701px;
    border-right-width: 20px;
    border-right-color: #000
}

body.home #service section .read-more .button:after {
    right: -20px;
    border-bottom-width: 11.54701px;
    border-left-width: 20px;
    border-left-color: #000
}

body.home #service section .read-more .button span:before {
    right: -37px;
    width: 34px;
    border-top: 1px solid
}

/*—áŠO‚QŒÂ•\Ž¦‚Ì‚½‚ß‚É’Ç‰Á*/
body.home #service section .read-more2-1 .button {
    margin: 0 20px;
    background-color: #000;
    color: #fff;
    font-family: Open Sans, sans-serif;
    font-weight: 600;
    font-style: italic;
    letter-spacing: .1em
}

body.home #service section .read-more2-1 .button:before {
    left: -20px;
    border-top-width: 11.54701px;
    border-right-width: 20px;
    border-right-color: #000
}

body.home #service section .read-more2-1 .button:after {
    right: -20px;
    border-bottom-width: 11.54701px;
    border-left-width: 20px;
    border-left-color: #000
}

body.home #service section .read-more2-1 .button span:before {
    right: -37px;
    width: 34px;
    border-top: 1px solid
}

body.home #service section .read-more2-2 .button {
    margin: 0 20px;
    background-color: #000;
    color: #fff;
    font-family: Open Sans, sans-serif;
    font-weight: 600;
    font-style: italic;
    letter-spacing: .1em
}

body.home #service section .read-more2-2 .button:before {
    left: -20px;
    border-top-width: 11.54701px;
    border-right-width: 20px;
    border-right-color: #000
}

body.home #service section .read-more2-2 .button:after {
    right: -20px;
    border-bottom-width: 11.54701px;
    border-left-width: 20px;
    border-left-color: #000
}

body.home #service section .read-more2-2 .button span:before {
    right: -37px;
    width: 34px;
    border-top: 1px solid
}

/*—áŠO‚QŒÂ•\Ž¦‚Ì‚½‚ß‚É’Ç‰Á*/

@media only screen and (min-width:768px) {
    body.home #service section .read-more .button,
    body.home #service section .read-more .button:after,
    body.home #service section .read-more .button:before,
    body.home #service section .read-more .button span:before {
        transition: .3s
    }
    body.home #service section .read-more .button:hover {
        background-color: #fff;
        color: #2a93cc
    }
    body.home #service section .read-more .button:hover:before {
        border-right-color: #fff
    }
    body.home #service section .read-more .button:hover:after {
        border-left-color: #fff
    }
    body.home #service section .read-more .button:hover span:before {
        right: -47px
    }

/*—áŠO‚QŒÂ•\Ž¦‚Ì‚½‚ß‚É’Ç‰Á*/
    body.home #service section .read-more2-1 .button,
    body.home #service section .read-more2-1 .button:after,
    body.home #service section .read-more2-1 .button:before,
    body.home #service section .read-more2-1 .button span:before {
        transition: .3s
    }
    body.home #service section .read-more2-1 .button:hover {
        background-color: #fff;
        color: #2a93cc
    }
    body.home #service section .read-more2-1 .button:hover:before {
        border-right-color: #fff
    }
    body.home #service section .read-more2-1 .button:hover:after {
        border-left-color: #fff
    }
    body.home #service section .read-more2-1 .button:hover span:before {
        right: -47px
    }
    
    body.home #service section .read-more2-2 .button,
    body.home #service section .read-more2-2 .button:after,
    body.home #service section .read-more2-2 .button:before,
    body.home #service section .read-more2-2 .button span:before {
        transition: .3s
    }
    body.home #service section .read-more2-2 .button:hover {
        background-color: #fff;
        color: #2a93cc
    }
    body.home #service section .read-more2-2 .button:hover:before {
        border-right-color: #fff
    }
    body.home #service section .read-more2-2 .button:hover:after {
        border-left-color: #fff
    }
    body.home #service section .read-more2-2 .button:hover span:before {
        right: -47px
    }

/*—áŠO‚QŒÂ•\Ž¦‚Ì‚½‚ß‚É’Ç‰Á*/

}

body.home #service section .read-more .button span:before {
    border-top-color: #fff
}

/*—áŠO‚QŒÂ•\Ž¦‚Ì‚½‚ß‚É’Ç‰Á*/
body.home #service section .read-more2-1 .button span:before {
    border-top-color: #fff
}
body.home #service section .read-more2-2 .button span:before {
    border-top-color: #fff
}
/*—áŠO‚QŒÂ•\Ž¦‚Ì‚½‚ß‚É’Ç‰Á*/

body.home #information .container .information .information-container {
    position: relative;
    border: 1px solid #d9d9d9;
    background-color: #fff
}

body.home #information .container .information .information-container>figure img {
    vertical-align: top
}

body.home #information .container .information .information-container>span {
    display: inline-block;
    background-color: #2a93cc;
    color: #fff;
    letter-spacing: .1em;
    text-align: center
}

body.home #information .container .information .information-container>time {
    color: #696969;
    font-style: italic
}

body.home #information .read-more .button {
    margin: 0 20px;
    background-color: #000;
    color: #fff;
    font-family: Open Sans, sans-serif;
    font-weight: 600;
    font-style: italic;
    letter-spacing: .1em
}

body.home #information .read-more .button:before {
    left: -20px;
    border-top-width: 11.54701px;
    border-right-width: 20px;
    border-right-color: #000
}

body.home #information .read-more .button:after {
    right: -20px;
    border-bottom-width: 11.54701px;
    border-left-width: 20px;
    border-left-color: #000
}

body.home #information .read-more .button span:before {
    right: -37px;
    width: 34px;
    border-top: 1px solid
}

@media only screen and (min-width:768px) {
    body.home #information .read-more .button,
    body.home #information .read-more .button:after,
    body.home #information .read-more .button:before,
    body.home #information .read-more .button span:before {
        transition: .3s
    }
    body.home #information .read-more .button:hover {
        background-color: #2a93cc;
        color: #fff
    }
    body.home #information .read-more .button:hover:before {
        border-right-color: #2a93cc
    }
    body.home #information .read-more .button:hover:after {
        border-left-color: #2a93cc
    }
    body.home #information .read-more .button:hover span:before {
        right: -47px
    }
}

body.home #information .read-more .button span:before {
    border-top-color: #2a93cc
}

body.home #sns #sb_instagram .sb_instagram_header {
    width: auto
}

@media only screen and (min-width:768px) {
    body.home .carousel {
        margin-top: 40px
    }
    body.home .carousel .slide {
        padding: 0 20px
    }
    body.home .carousel .slick-list {
        overflow: visible
    }
    body.home .carousel a img {
        transition: .3s
    }
    body.home .carousel a:hover img {
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }
    body.home main {
        padding-bottom: 280px
    }
    body.home #service {
        margin-top: 180px
    }
    body.home #service .container {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        width: 1100px;
        margin: 130px auto
    }
    body.home #service section {
        width: 285px;
        padding: 45px 30px 140px
    }
    body.home #service section h3 {
        font-size: .875rem
    }
    body.home #service section h3:before {
        font-size: 2rem
    }
    body.home #service section p {
        margin: 29.4px 0 -.4em;
        font-size: .875rem;
        line-height: 1.8;
        letter-spacing: .05em
    }
    body.home #service section .read-more {
        position: absolute;
        left: 60px;
        right: 60px;
        bottom: 40px
    }
    body.home #service section .read-more .button {
        padding: 23px 0;
        font-size: .875rem
    }

/*—áŠO‚QŒÂ•\Ž¦‚Ì‚½‚ß‚É’Ç‰Á*/
    body.home #service section .read-more2-1 {
        position: absolute;
        left: 60px;
        right: 60px;
        bottom: 60px
    }
    body.home #service section .read-more2-1 .button {
        padding: 10px 0;
        font-size: .675rem
    }
    
    body.home #service section .read-more2-2 {
        position: absolute;
        left: 60px;
        right: 60px;
        bottom: 10px
    }
    body.home #service section .read-more2-2 .button {
        padding: 10px 0;
        font-size: .675rem
    }
/**/

    body.home #information {
        margin-top: 270px
    }
    body.home #information .container {
        width: 1100px;
        margin: 85px auto 0
    }
    body.home #information .container .information:nth-child(n+2) {
        margin-top: 50px
    }
    body.home #information .container .information .information-container {
        display: flex;
        align-items: center;
        transition: .3s
    }
    body.home #information .container .information .information-container:hover {
        background-color: #e2f1f9;
        cursor: pointer
    }
    body.home #information .container .information .information-container>figure {
        margin: -1px 0 -1px -1px
    }
    body.home #information .container .information .information-container>span {
        width: 85px;
        margin: 0 33px 0 43px;
        padding: 8px 0 8px .1em;
        font-size: .875rem
    }
    body.home #information .container .information .information-container>.text {
        flex: 1;
        font-size: .875rem;
        line-height: 1.8
    }
    body.home #information .container .information .information-container>time {
        position: absolute;
        right: 10px;
        bottom: 10px;
        font-size: .75rem
    }
    body.home #information .read-more {
        margin-top: 115px;
        text-align: center
    }
    body.home #information .read-more .button {
        display: inline-block;
        width: 190px;
        padding: 23px 0;
        font-size: .875rem
    }
    body.home #sns {
        display: flex;
        justify-content: center;
        margin-top: 190px
    }
    body.home #sns>div {
        width: 345px
    }
    body.home #sns>div:nth-child(n+2) {
        margin-left: 32px
    }
}

@media only screen and (max-width:767px) {
    body.home #main-visual img {
        width: 100%;
        height: auto
    }
    body.home .carousel {
        margin-top: 10px
    }
    body.home .carousel .slide {
        padding: 0 10px
    }
    body.home .carousel .slide img {
        width: 135px;
        height: 135px
    }
    body.home main {
        margin-bottom: 120px
    }
    body.home #service {
        margin-top: 65px
    }
    body.home #service .container {
        margin-top: 60px;
        padding: 0 15px
    }
    body.home #service section {
        padding: 45px 30px 40px
    }
    body.home #service section:nth-child(n+2) {
        margin-top: 45px
    }
    body.home #service section h3 {
        font-size: .875rem
    }
    body.home #service section h3:before {
        font-size: 1.875rem
    }
    body.home #service section p {
        margin: 29.4px 0 -.4em;
        font-size: .875rem;
        line-height: 1.8;
        letter-spacing: .05em
    }
    body.home #service section .read-more {
        margin-top: 40px;
        padding: 0 30px
    }
    body.home #service section .read-more .button {
        padding: 23px 0;
        font-size: .875rem
    }

/*—áŠO‚QŒÂ•\Ž¦‚Ì‚½‚ß‚É’Ç‰Á*/
    body.home #service section .read-more2-1 {
        margin-top: 40px;
        padding: 0 30px
    }
    body.home #service section .read-more2-1 .button {
        padding: 23px 0;
        font-size: .875rem
    }
    body.home #service section .read-more2-2 {
        margin-top: 40px;
        padding: 0 30px
    }
    body.home #service section .read-more2-2 .button {
        padding: 23px 0;
        font-size: .875rem
    }
/*—áŠO‚QŒÂ•\Ž¦‚Ì‚½‚ß‚É’Ç‰Á*/

    body.home #information {
        margin-top: 110px
    }
    body.home #information .container {
        margin-top: 45px;
        padding: 0 15px
    }
    body.home #information .container .information:nth-child(n+2) {
        margin-top: 20px
    }
    body.home #information .container .information .information-container {
        padding: 15px
    }
    body.home #information .container .information .information-container>figure {
        margin: -15px -15px 0
    }
    body.home #information .container .information .information-container>figure img {
        width: 100%;
        height: auto
    }
    body.home #information .container .information .information-container>span {
        width: 85px;
        margin-top: 15px;
        padding: 8px 0 8px .1em;
        font-size: .875rem
    }
    body.home #information .container .information .information-container>.text {
        margin: 9.4px 0 -.4em;
        font-size: .875rem;
        line-height: 1.8
    }
    body.home #information .container .information .information-container>time {
        display: block;
        margin-top: 25px;
        font-size: .75rem;
        text-align: right
    }
    body.home #information .read-more {
        margin-top: 45px;
        padding: 0 15px
    }
    body.home #information .read-more .button {
        padding: 23px 0;
        font-size: .875rem
    }
    body.home #sns {
        margin-top: 95px;
        padding: 0 15px;
        overflow: hidden
    }
    body.home #sns>div {
        width: 100%;
        max-width: 345px;
        margin: 0 auto
    }
    body.home #sns>div:nth-child(n+2) {
        margin-top: 40px
    }
    body.home #sns .fb_iframe_widget,
    body.home #sns .fb_iframe_widget iframe[style],
    body.home #sns .fb_iframe_widget span {
        width: 100% !important
    }
}

 /* 2018/12/11 */
@media only screen and (min-width:768px) {
    body.page-amusement #page-header h1:before {
        background-image: url(../img/amusement/kv-bg.jpg)
    }
    body.page-amusement #page-header h1:after {
        width: 573px;
        height: 94px;
        background-image: url(../img/amusement/kv-title.png)
    }
}

@media only screen and (max-width:767px) {
  body.page-amusement #page-header h1:before {
    background-image: url(../img/amusement/kv-bg.jpg)
  }

  body.page-amusement #page-header h1:after {
    width: 286.5px;
    height: 48px;
    background-image: url(../img/amusement/kv-title.png);
    background-size: 286.5px 48px
  }
}
 /* 2018/12/11 */

body.page-games #games .intro h3 {
    color: #2a93cc;
    font-weight: 700;
    text-align: center;
    letter-spacing: .15em
}

body.page-games #games .intro p {
    letter-spacing: .05em;
    text-align: justify
}

body.page-games #games .works h3 {
    color: #2a93cc;
    font-weight: 700;
    text-align: center;
    letter-spacing: .15em
}

body.page-games #games .works section {
    position: relative;
    background-color: #2a93cc;
    color: #fff
}

body.page-games #games .works section h3 {
    font-weight: 400;
    text-align: center
}

body.page-games #games .works section h3:before {
    content: attr(data-label);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    display: block;
    color: #000;
    font-family: Open Sans, sans-serif;
    font-weight: 700;
    font-style: italic;
    text-align: center;
    letter-spacing: .05em;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

body.page-games #games .works section p {
    text-align: justify
}

body.page-games #games .works section .detail .button,
body.page-games #games .works section .link .button {
    margin: 0 20px;
    background-color: #000;
    color: #fff;
    font-family: Open Sans, sans-serif;
    font-weight: 600;
    font-style: italic;
    letter-spacing: .1em
}

body.page-games #games .works section .detail .button:before,
body.page-games #games .works section .link .button:before {
    left: -20px;
    border-top-width: 11.54701px;
    border-right-width: 20px;
    border-right-color: #000
}

body.page-games #games .works section .detail .button:after,
body.page-games #games .works section .link .button:after {
    right: -20px;
    border-bottom-width: 11.54701px;
    border-left-width: 20px;
    border-left-color: #000
}

body.page-games #games .works section .detail .button span:before,
body.page-games #games .works section .link .button span:before {
    right: -37px;
    width: 34px;
    border-top: 1px solid
}

@media only screen and (min-width:768px) {
    body.page-games #games .works section .detail .button,
    body.page-games #games .works section .detail .button:after,
    body.page-games #games .works section .detail .button:before,
    body.page-games #games .works section .detail .button span:before,
    body.page-games #games .works section .link .button,
    body.page-games #games .works section .link .button:after,
    body.page-games #games .works section .link .button:before,
    body.page-games #games .works section .link .button span:before {
        transition: .3s
    }
    body.page-games #games .works section .detail .button:hover,
    body.page-games #games .works section .link .button:hover {
        background-color: #fff;
        color: #2a93cc
    }
    body.page-games #games .works section .detail .button:hover:before,
    body.page-games #games .works section .link .button:hover:before {
        border-right-color: #fff
    }
    body.page-games #games .works section .detail .button:hover:after,
    body.page-games #games .works section .link .button:hover:after {
        border-left-color: #fff
    }
    body.page-games #games .works section .detail .button:hover span:before,
    body.page-games #games .works section .link .button:hover span:before {
        right: -47px
    }
}

body.page-games #games .works section .detail .button span:before,
body.page-games #games .works section .link .button span:before {
    border-top-color: #fff
}

body.page-games #games .works .contact .button {
    margin: 0 27px;
    background-color: #000;
    color: #fff;
    letter-spacing: .1em
}

body.page-games #games .works .contact .button:before {
    left: -27px;
    border-top-width: 15.58846px;
    border-right-width: 27px;
    border-right-color: #000
}

body.page-games #games .works .contact .button:after {
    right: -27px;
    border-bottom-width: 15.58846px;
    border-left-width: 27px;
    border-left-color: #000
}

body.page-games #games .works .contact .button span:before {
    right: -49px;
    width: 44px;
    border-top: 1px solid
}

@media only screen and (min-width:768px) {
    body.page-games #games .works .contact .button,
    body.page-games #games .works .contact .button:after,
    body.page-games #games .works .contact .button:before,
    body.page-games #games .works .contact .button span:before {
        transition: .3s
    }
    body.page-games #games .works .contact .button:hover {
        background-color: #2a93cc;
        color: #fff
    }
    body.page-games #games .works .contact .button:hover:before {
        border-right-color: #2a93cc
    }
    body.page-games #games .works .contact .button:hover:after {
        border-left-color: #2a93cc
    }
    body.page-games #games .works .contact .button:hover span:before {
        right: -59px
    }
}

body.page-games #games .works .contact .button span:before {
    border-top-color: #2a93cc
}

@media only screen and (min-width:768px) {
    body.page-games #page-header h1:before {
        background-image: url(../img/games/kv-bg.jpg)
    }
    body.page-games #page-header h1:after {
        width: 311px;
        height: 78px;
        background-image: url(../img/games/kv-title.png)
    }
    body.page-games main {
        padding-bottom: 160px
    }
    body.page-games #games {
        margin-top: 110px
    }
    body.page-games #games .intro {
        margin-top: 140px
    }
    body.page-games #games .intro h3 {
        font-size: 1.5rem
    }
    body.page-games #games .intro p {
        width: 800px;
        margin: 53.6px auto -.4em;
        font-size: 1rem;
        line-height: 1.8
    }
    body.page-games #games .works {
        margin-top: 115px
    }
    body.page-games #games .works h3 {
        font-size: 1.5rem
    }
    body.page-games #games .works .container {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        width: 1100px;
        margin: 80px auto 0
    }
    body.page-games #games .works .container:after {
        content: "";
        display: block;
        width: 345px;
        height: 0
    }
    body.page-games #games .works section {
        width: 288px;
        padding: 35px 28px 35px 29px
    }
    body.page-games #games .works section:nth-child(n+4) {
        margin-top: 33px
    }
    body.page-games #games .works section h4 {
        margin-top: 30px;
        font-size: 1rem;
        font-weight: 700
    }
    body.page-games #games .works section .platform {
        margin: 8.8px 0 -.1em;
        font-size: .75rem;
        line-height: 1.2
    }
    body.page-games #games .works section p {
        margin: 24.4px 0 -.4em;
        font-size: .875rem;
        line-height: 1.8;
        letter-spacing: .05em
    }
    body.page-games #games .works section .detail,
    body.page-games #games .works section .link {
        margin-top: 30px;
        height: 60px
    }
    body.page-games #games .works section .detail .button,
    body.page-games #games .works section .link .button {
        position: absolute;
        left: 60px;
        right: 60px;
        bottom: 35px;
        padding: 23px 0;
        font-size: .875rem
    }
    body.page-games #games .works .contact {
        margin-top: 120px;
        text-align: center
    }
    body.page-games #games .works .contact .button {
        display: inline-block;
        width: 285px;
        padding: 33px 0;
        font-size: .875rem
    }
}

@media only screen and (max-width:767px) {
    body.page-games #page-header h1:before {
        background-image: url(../img/games/kv-bg.jpg)
    }
    body.page-games #page-header h1:after {
        width: 155.5px;
        height: 39px;
        background-image: url(../img/games/kv-title.png);
        background-size: 155.5px 39px
    }
    body.page-games main {
        margin-bottom: 75px
    }
    body.page-games #games,
    body.page-games #games .intro {
        margin-top: 55px
    }
    body.page-games #games .intro h3 {
        margin: -.1875em 0;
        font-size: 1.5rem;
        line-height: 1.375
    }
    body.page-games #games .intro p {
        margin: 28.6px 0 -.4em;
        padding: 0 15px;
        font-size: 1rem;
        line-height: 1.8
    }
    body.page-games #games .works {
        margin-top: 55px
    }
    body.page-games #games .works h3 {
        font-size: 1.5rem
    }
    body.page-games #games .works .container {
        margin: 35px auto 0;
        padding: 0 15px
    }
    body.page-games #games .works section {
        padding: 35px 30px
    }
    body.page-games #games .works section:nth-child(n+2) {
        margin-top: 23px
    }
    body.page-games #games .works section figure img {
        width: 100%;
        height: auto
    }
    body.page-games #games .works section h4 {
        margin-top: 30px;
        font-size: 1rem;
        font-weight: 700;
        -webkit-font-feature-settings: "palt";
        font-feature-settings: "palt"
    }
    body.page-games #games .works section .platform {
        margin: 8.8px 0 -.1em;
        font-size: .75rem;
        line-height: 1.2
    }
    body.page-games #games .works section p {
        margin: 24.4px 0 -.4em;
        font-size: .875rem;
        line-height: 1.8
    }
    body.page-games #games .works section .detail,
    body.page-games #games .works section .link {
        margin-top: 30px;
        padding: 0 25px
    }
    body.page-games #games .works section .detail .button,
    body.page-games #games .works section .link .button {
        padding: 23px 0;
        font-size: .875rem
    }
    body.page-games #games .works .contact {
        margin-top: 70px;
        padding: 0 15px
    }
    body.page-games #games .works .contact .button {
        padding: 23px 0;
        font-size: .875rem
    }
}

body.page-pachinko-slot #pachinko-slot .intro h3 {
    color: #2a93cc;
    font-weight: 700;
    text-align: center;
    letter-spacing: .15em
}

body.page-pachinko-slot #pachinko-slot .intro h4 {
    font-weight: 700;
    letter-spacing: .12em
}

body.page-pachinko-slot #pachinko-slot .intro p {
    letter-spacing: .05em;
    text-align: justify
}

body.page-pachinko-slot #pachinko-slot .works h3 {
    color: #2a93cc;
    font-weight: 700;
    text-align: center;
    letter-spacing: .15em
}

body.page-pachinko-slot #pachinko-slot .works>p {
    letter-spacing: .05em
}

body.page-pachinko-slot #pachinko-slot .works section {
    position: relative;
    background-color: #2a93cc;
    color: #fff
}

body.page-pachinko-slot #pachinko-slot .works section h4 {
    font-weight: 400;
    text-align: center
}

body.page-pachinko-slot #pachinko-slot .works .contact .button {
    margin: 0 27px;
    background-color: #000;
    color: #fff;
    letter-spacing: .1em
}

body.page-pachinko-slot #pachinko-slot .works .contact .button:before {
    left: -27px;
    border-top-width: 15.58846px;
    border-right-width: 27px;
    border-right-color: #000
}

body.page-pachinko-slot #pachinko-slot .works .contact .button:after {
    right: -27px;
    border-bottom-width: 15.58846px;
    border-left-width: 27px;
    border-left-color: #000
}

body.page-pachinko-slot #pachinko-slot .works .contact .button span:before {
    right: -49px;
    width: 44px;
    border-top: 1px solid
}

@media only screen and (min-width:768px) {
    body.page-pachinko-slot #pachinko-slot .works .contact .button,
    body.page-pachinko-slot #pachinko-slot .works .contact .button:after,
    body.page-pachinko-slot #pachinko-slot .works .contact .button:before,
    body.page-pachinko-slot #pachinko-slot .works .contact .button span:before {
        transition: .3s
    }
    body.page-pachinko-slot #pachinko-slot .works .contact .button:hover {
        background-color: #2a93cc;
        color: #fff
    }
    body.page-pachinko-slot #pachinko-slot .works .contact .button:hover:before {
        border-right-color: #2a93cc
    }
    body.page-pachinko-slot #pachinko-slot .works .contact .button:hover:after {
        border-left-color: #2a93cc
    }
    body.page-pachinko-slot #pachinko-slot .works .contact .button:hover span:before {
        right: -59px
    }
}

body.page-pachinko-slot #pachinko-slot .works .contact .button span:before {
    border-top-color: #2a93cc
}

@media only screen and (min-width:768px) {
    body.page-pachinko-slot #page-header h1:before {
        background-image: url(../img/pachinko-slot/kv-bg.jpg)
    }
    body.page-pachinko-slot #page-header h1:after {
        width: 738px;
        height: 78px;
        background-image: url(../img/pachinko-slot/kv-title.png)
    }
    body.page-pachinko-slot main {
        padding-bottom: 160px
    }
    body.page-pachinko-slot #pachinko-slot {
        margin-top: 110px
    }
    body.page-pachinko-slot #pachinko-slot .intro {
        margin-top: 140px
    }
    body.page-pachinko-slot #pachinko-slot .intro h3 {
        font-size: 1.5rem
    }
    body.page-pachinko-slot #pachinko-slot .intro .services {
        width: 800px;
        margin: 90px auto 0
    }
    body.page-pachinko-slot #pachinko-slot .intro .services section:nth-child(n+2) {
        margin-top: 55px
    }
    body.page-pachinko-slot #pachinko-slot .intro h4 {
        font-size: 1rem
    }
    body.page-pachinko-slot #pachinko-slot .intro p {
        margin: .4em 0 -.4em;
        font-size: 1rem;
        line-height: 1.8
    }
    body.page-pachinko-slot #pachinko-slot .intro .gallery {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 1100px;
        margin: 125px auto 0
    }
    body.page-pachinko-slot #pachinko-slot .intro .gallery figure:nth-child(n+3) {
        margin-top: 70px
    }
    body.page-pachinko-slot #pachinko-slot .intro .gallery figure figcaption {
        font-size: 1rem;
        font-weight: 500;
        text-align: center
    }
    body.page-pachinko-slot #pachinko-slot .intro .gallery figure img {
        margin-top: 25px;
        vertical-align: top
    }
    body.page-pachinko-slot #pachinko-slot .works {
        margin-top: 140px
    }
    body.page-pachinko-slot #pachinko-slot .works h3 {
        font-size: 1.5rem
    }
    body.page-pachinko-slot #pachinko-slot .works>p {
        margin-top: 20px;
        font-size: .875rem;
        text-align: center
    }
    body.page-pachinko-slot #pachinko-slot .works .container {
        display: flex;
        justify-content: space-between;
        width: 1100px;
        margin: 50px auto 0
    }
    body.page-pachinko-slot #pachinko-slot .works section {
        width: 380px;
        padding: 50px 70px 70px
    }
    body.page-pachinko-slot #pachinko-slot .works section h4 {
        font-size: 1.125rem;
        font-weight: 700;
        text-align: center;
        letter-spacing: .15em
    }
    body.page-pachinko-slot #pachinko-slot .works section table {
        margin-top: 45px;
        font-size: .875rem;
        letter-spacing: .05em
    }
    body.page-pachinko-slot #pachinko-slot .works section table th {
        width: 1px;
        padding-right: 40px;
        border-right: 1px solid #fff;
        white-space: nowrap
    }
    body.page-pachinko-slot #pachinko-slot .works section table td {
        padding-left: 30px;
        border-left: 1px solid #fff
    }
    body.page-pachinko-slot #pachinko-slot .works section table tr:last-child td {
        padding-bottom: 0
    }
    body.page-pachinko-slot #pachinko-slot .works section.pachinko table td {
        padding-bottom: 4.42857em
    }
    body.page-pachinko-slot #pachinko-slot .works section.pachinko table td p {
        margin: -.85714em 0;
        line-height: 2.71429
    }
    body.page-pachinko-slot #pachinko-slot .works section.slot table td {
        padding-bottom: 2.42857em
    }
    body.page-pachinko-slot #pachinko-slot .works section.slot table td p {
        margin: -.35714em 0;
        line-height: 1.71429
    }
    body.page-pachinko-slot #pachinko-slot .works .video {
        width: 1100px;
        height: 725px;
        margin: 0px auto;
        padding-top: 25px;
        text-align: center;
        background-color: #2a93cc;
        color: #fff;
        font-size: 1.5rem;
    }
    body.page-pachinko-slot #pachinko-slot .works .video h4 {
        font-size: 1.125rem;
        font-weight: 700;
        text-align: center;
        letter-spacing: .15em
    }    
    body.page-pachinko-slot #pachinko-slot .works .video .explan {
        /*width: 800px;*/
	max-width: 80%;
        margin: 0px auto;
        text-align: left;
        font-size: 1.125rem;
        font-weight: 500;
        text-align: left;
        letter-spacing: .15em
    }
    body.page-pachinko-slot #pachinko-slot .works .video .explan h4 {
        font-size: 1.125rem;
        font-weight: 700;
        text-align: left;
        letter-spacing: .15em
    }
    body.page-pachinko-slot #pachinko-slot .works .video .explan h5 {
        margin-top: 2.275em;
        font-size: .750rem;
        line-height: 1.8
    }
    body.page-pachinko-slot #pachinko-slot .works .contact {
        margin-top: 180px;
        text-align: center
    }
    body.page-pachinko-slot #pachinko-slot .works .contact .button {
        display: inline-block;
        width: 285px;
        padding: 32px 0;
        font-size: 1rem
    }
}

@media only screen and (max-width:767px) {
    body.page-pachinko-slot #page-header h1:before {
        background-image: url(../img/pachinko-slot/kv-bg.jpg)
    }
    body.page-pachinko-slot #page-header h1:after {
        width: 369px;
        height: 39px;
        background-image: url(../img/pachinko-slot/kv-title.png);
        background-size: 369px 39px
    }
    body.page-pachinko-slot main {
        margin-bottom: 75px
    }
    body.page-pachinko-slot #pachinko-slot,
    body.page-pachinko-slot #pachinko-slot .intro {
        margin-top: 55px
    }
    body.page-pachinko-slot #pachinko-slot .intro h3 {
        margin: -.1875em 0;
        font-size: 1.5rem;
        line-height: 1.375
    }
    body.page-pachinko-slot #pachinko-slot .intro .services {
        margin-top: 45px
    }
    body.page-pachinko-slot #pachinko-slot .intro .services section {
        padding: 0 15px
    }
    body.page-pachinko-slot #pachinko-slot .intro .services section:nth-child(n+2) {
        margin-top: 55px
    }
    body.page-pachinko-slot #pachinko-slot .intro h4 {
        font-size: 1rem
    }
    body.page-pachinko-slot #pachinko-slot .intro p {
        margin: .4em 0 -.4em;
        font-size: 1rem;
        line-height: 1.8
    }
    body.page-pachinko-slot #pachinko-slot .intro .gallery {
        margin-top: 60px;
        padding: 0 15px
    }
    body.page-pachinko-slot #pachinko-slot .intro .gallery figure:nth-child(n+2) {
        margin-top: 30px
    }
    body.page-pachinko-slot #pachinko-slot .intro .gallery figure figcaption {
        font-size: 1rem;
        font-weight: 500;
        text-align: center
    }
    body.page-pachinko-slot #pachinko-slot .intro .gallery figure img {
        margin-top: 15px;
        vertical-align: top;
        width: 100%;
        height: auto
    }
    body.page-pachinko-slot #pachinko-slot .works {
        margin-top: 55px
    }
    body.page-pachinko-slot #pachinko-slot .works h3 {
        font-size: 1.5rem
    }
    body.page-pachinko-slot #pachinko-slot .works>p {
        margin: 16.5px 0 -.25em;
        padding: 0 15px;
        font-size: .875rem;
        line-height: 1.5;
        text-align: justify
    }
    body.page-pachinko-slot #pachinko-slot .works .container {
        margin: 35px auto 0;
        padding: 0 15px
    }
    body.page-pachinko-slot #pachinko-slot .works section {
        padding: 30px 15px
    }
    body.page-pachinko-slot #pachinko-slot .works section:nth-child(n+2) {
        margin-top: 23px
    }
    body.page-pachinko-slot #pachinko-slot .works section h4 {
        font-size: 1rem;
        font-weight: 700;
        text-align: center;
        letter-spacing: .15em
    }
    body.page-pachinko-slot #pachinko-slot .works section table {
        width: 100%;
        margin-top: 20px;
        font-size: .875rem;
        letter-spacing: .05em
    }
    body.page-pachinko-slot #pachinko-slot .works section table th {
        display: block;
        text-align: left;
        overflow: hidden;
        white-space: nowrap
    }
    body.page-pachinko-slot #pachinko-slot .works section table th:after {
        content: "";
        display: inline-block;
        width: 100%;
        margin-left: 10px;
        border-top: 1px solid #fff;
        vertical-align: middle;
        -webkit-transform: translateY(-2px);
        transform: translateY(-2px)
    }
    body.page-pachinko-slot #pachinko-slot .works section table td {
        display: block;
        padding-bottom: 2.4em
    }
    body.page-pachinko-slot #pachinko-slot .works section table td p {
        margin: .4em 0 -.4em;
        line-height: 1.8
    }
    body.page-pachinko-slot #pachinko-slot .works section table tr:last-child td {
        padding-bottom: 0
    }
    body.page-pachinko-slot #pachinko-slot .works .contact {
        margin-top: 70px;
        padding: 0 15px
    }
    body.page-pachinko-slot #pachinko-slot .works .video {
	max-width: 96%;
        /*width: 625px;*/
        height: 525px;
        margin: 0px auto;
        padding-top: 25px;
        text-align: center;
        background-color: #2a93cc;
        color: #fff;
        font-size: 1.5rem;
    }
    body.page-pachinko-slot #pachinko-slot .works .video h4 {
        font-size: 1.125rem;
        font-weight: 700;
        text-align: center;
        letter-spacing: .15em
    }
    body.page-pachinko-slot #pachinko-slot .works .video .explan {
	max-width: 80%;
        /*width: 600px;*/
        margin: 0px auto;
        text-align: left;
        font-size: 1.125rem;
        font-weight: 500;
        text-align: left;
        letter-spacing: .15em
    }
    body.page-pachinko-slot #pachinko-slot .works .video .explan h4 {
        font-size: 1.125rem;
        font-weight: 700;
        text-align: left;
        letter-spacing: .15em
    }
    body.page-pachinko-slot #pachinko-slot .works .video .explan h5 {
        margin-top: 2.275em;
        font-size: .750rem;
        line-height: 1.8
    }
    body.page-pachinko-slot #pachinko-slot .works .contact .button {
        padding: 23px 0;
        font-size: 1rem
    }
}

body.page-cg #cg .intro h3 {
    color: #2a93cc;
    font-weight: 700;
    text-align: center;
    letter-spacing: .15em
}

body.page-cg #cg .intro h4 {
    font-weight: 700;
    letter-spacing: .12em
}

body.page-cg #cg .intro p {
    letter-spacing: .05em;
    text-align: justify
}

body.page-cg #cg .works h3 {
    color: #2a93cc;
    font-weight: 700;
    text-align: center;
    letter-spacing: .15em
}

body.page-cg #cg .works>p {
    letter-spacing: .05em
}

body.page-cg #cg .works section {
    position: relative;
    background-color: #2a93cc;
    color: #fff
}

body.page-cg #cg .works section h4 {
    font-weight: 400;
    text-align: center
}

body.page-cg #cg .works .contact .button {
    margin: 0 27px;
    background-color: #000;
    color: #fff;
    letter-spacing: .1em
}

body.page-cg #cg .works .contact .button:before {
    left: -27px;
    border-top-width: 15.58846px;
    border-right-width: 27px;
    border-right-color: #000
}

body.page-cg #cg .works .contact .button:after {
    right: -27px;
    border-bottom-width: 15.58846px;
    border-left-width: 27px;
    border-left-color: #000
}

body.page-cg #cg .works .contact .button span:before {
    right: -49px;
    width: 44px;
    border-top: 1px solid
}

@media only screen and (min-width:768px) {
    body.page-cg #cg .works .contact .button,
    body.page-cg #cg .works .contact .button:after,
    body.page-cg #cg .works .contact .button:before,
    body.page-cg #cg .works .contact .button span:before {
        transition: .3s
    }
    body.page-cg #cg .works .contact .button:hover {
        background-color: #2a93cc;
        color: #fff
    }
    body.page-cg #cg .works .contact .button:hover:before {
        border-right-color: #2a93cc
    }
    body.page-cg #cg .works .contact .button:hover:after {
        border-left-color: #2a93cc
    }
    body.page-cg #cg .works .contact .button:hover span:before {
        right: -59px
    }
}

body.page-cg #cg .works .contact .button span:before {
    border-top-color: #2a93cc
}

@media only screen and (min-width:768px) {
    body.page-cg #page-header h1:before {
        background-image: url(../img/cg/kv-bg.jpg)
    }
    body.page-cg #page-header h1:after {
        width: 1000px;
        height: 94px;
        background-image: url(../img/cg/kv-title.png)
    }
    body.page-cg main {
        padding-bottom: 160px
    }
    body.page-cg #cg {
        margin-top: 110px
    }
    body.page-cg #cg .intro {
        margin-top: 140px
    }
    body.page-cg #cg .intro h3 {
        font-size: 1.5rem
    }
    body.page-cg #cg .intro .services {
        width: 800px;
        margin: 90px auto 0
    }
    body.page-cg #cg .intro .services section:nth-child(n+2) {
        margin-top: 55px
    }
    body.page-cg #cg .intro h4 {
        font-size: 1rem
    }
    body.page-cg #cg .intro p {
        margin: .4em 0 -.4em;
        font-size: 1rem;
        line-height: 1.8
    }
    body.page-cg #cg .intro .gallery {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 1100px;
        margin: 125px auto 0
    }
    body.page-cg #cg .intro .gallery figure:nth-child(n+3) {
        margin-top: 70px
    }
    body.page-cg #cg .intro .gallery figure figcaption {
        font-size: 1rem;
        font-weight: 500;
        text-align: center
    }
    body.page-cg #cg .intro .gallery figure img {
        margin-top: 25px;
        vertical-align: top
    }
    body.page-cg #cg .works {
        margin-top: 140px
    }
    body.page-cg #cg .works h3 {
        font-size: 1.5rem
    }
    body.page-cg #cg .works>p {
        margin-top: 20px;
        font-size: .875rem;
        text-align: center;
    }
    body.page-cg #cg .works .container {
        display: flex;
        justify-content: space-between;
        width: 1100px;
        margin: 50px auto 0
    }
    body.page-cg #cg .works section {
        width: 380px;
        padding: 50px 70px 70px
    }
    body.page-cg #cg .works section h4 {
        font-size: 1.125rem;
        font-weight: 700;
        text-align: center;
        letter-spacing: .15em
    }
    body.page-cg #cg .works section table {
        margin-top: 45px;
        font-size: .875rem;
        letter-spacing: .05em
    }
    body.page-cg #cg .works section table th {
        width: 1px;
        padding-right: 40px;
        border-right: 1px solid #fff;
        white-space: nowrap
    }
    body.page-cg #cg .works section table td {
        padding-left: 30px;
        border-left: 1px solid #fff
    }
    body.page-cg #cg .works section table tr:last-child td {
        padding-bottom: 0
    }
    body.page-cg #cg .works section.pachinko table td {
        padding-bottom: 4.42857em
    }
    body.page-cg #cg .works section.pachinko table td p {
        margin: -.85714em 0;
        line-height: 2.71429
    }
    body.page-cg #cg .works section.slot table td {
        padding-bottom: 2.42857em
    }
    body.page-cg #cg .works section.slot table td p {
        margin: -.35714em 0;
        line-height: 1.71429
    }
    body.page-cg #cg .works .video {
        width: 1100px;
        height: 725px;
        margin: 0px auto;
        padding-top: 25px;
        text-align: center;
        background-color: #2a93cc;
        color: #fff;
        font-size: 1.5rem;
    }
    body.page-cg #cg .works .video h4 {
        font-size: 1.125rem;
        font-weight: 700;
        text-align: center;
        letter-spacing: .15em
    }    
    body.page-cg #cg .works .video .explan {
        /*width: 800px;*/
	max-width: 80%;
        margin: 0px auto;
        text-align: left;
        font-size: 1.125rem;
        font-weight: 500;
        text-align: left;
        letter-spacing: .15em
    }
    body.page-cg #cg .works .video .explan h4 {
        font-size: 1.125rem;
        font-weight: 700;
        text-align: left;
        letter-spacing: .15em
    }
    body.page-cg #cg .works .video .explan h5 {
        margin-top: 2.275em;
        font-size: .750rem;
        line-height: 1.8
    }
    body.page-cg #cg .works .contact {
        margin-top: 180px;
        text-align: center
    }
    body.page-cg #cg .works .contact .button {
        display: inline-block;
        width: 285px;
        padding: 32px 0;
        font-size: 1rem
    }
}

@media only screen and (max-width:767px) {
    body.page-cg #page-header h1:before {
        background-image: url(../img/cg/kv-bg.jpg)
    }
    body.page-cg #page-header h1:after {
        width: 250px;
        height: 24px;
        background-image: url(../img/cg/kv-title.png);
        background-size: 250px 24px
    }
    body.page-cg main {
        margin-bottom: 75px
    }
    body.page-cg #cg,
    body.page-cg #cg .intro {
        margin-top: 55px
    }
    body.page-cg #cg .intro h3 {
        margin: -.1875em 0;
        font-size: 1.5rem;
        line-height: 1.375
    }
    body.page-cg #cg .intro .services {
        margin-top: 45px
    }
    body.page-cg #cg .intro .services section {
        padding: 0 15px
    }
    body.page-cg #cg .intro .services section:nth-child(n+2) {
        margin-top: 55px
    }
    body.page-cg #cg .intro h4 {
        font-size: 1rem
    }
    body.page-cg #cg .intro p {
        margin: .4em 0 -.4em;
        font-size: 1rem;
        line-height: 1.8
    }
    body.page-cg #cg .intro .gallery {
        margin-top: 60px;
        padding: 0 15px
    }
    body.page-cg #cg .intro .gallery figure:nth-child(n+2) {
        margin-top: 30px
    }
    body.page-cg #cg .intro .gallery figure figcaption {
        font-size: 1rem;
        font-weight: 500;
        text-align: center
    }
    body.page-cg #cg .intro .gallery figure img {
        margin-top: 15px;
        vertical-align: top;
        width: 100%;
        height: auto
    }
    body.page-cg #cg .works {
        margin-top: 55px
    }
    body.page-cg #cg .works h3 {
        font-size: 1.5rem
    }
    body.page-cg #cg .works>p {
        margin: 16.5px 0 -.25em;
        padding: 0 15px;
        font-size: .875rem;
        line-height: 1.5;
        text-align: justify;
    }
    body.page-cg #cg .works .container {
        margin: 35px auto 0;
        padding: 0 15px
    }
    body.page-cg #cg .works section {
        padding: 30px 15px
    }
    body.page-cg #cg .works section:nth-child(n+2) {
        margin-top: 23px
    }
    body.page-cg #cg .works section h4 {
        font-size: 1rem;
        font-weight: 700;
        text-align: center;
        letter-spacing: .15em
    }
    body.page-cg #cg .works section table {
        width: 100%;
        margin-top: 20px;
        font-size: .875rem;
        letter-spacing: .05em
    }
    body.page-cg #cg .works section table th {
        display: block;
        text-align: left;
        overflow: hidden;
        white-space: nowrap
    }
    body.page-cg #cg .works section table th:after {
        content: "";
        display: inline-block;
        width: 100%;
        margin-left: 10px;
        border-top: 1px solid #fff;
        vertical-align: middle;
        -webkit-transform: translateY(-2px);
        transform: translateY(-2px)
    }
    body.page-cg #cg .works section table td {
        display: block;
        padding-bottom: 2.4em
    }
    body.page-cg #cg .works section table td p {
        margin: .4em 0 -.4em;
        line-height: 1.8
    }
    body.page-cg #cg .works section table tr:last-child td {
        padding-bottom: 0
    }
    body.page-cg #cg .works .contact {
        margin-top: 70px;
        padding: 0 15px
    }
    body.page-cg #cg .works .video {
	max-width: 96%;
        /*width: 625px;*/
        height: 525px;
        margin: 0px auto;
        padding-top: 25px;
        text-align: center;
        background-color: #2a93cc;
        color: #fff;
        font-size: 1.5rem;
    }
    body.page-cg #cg .works .video h4 {
        font-size: 1.125rem;
        font-weight: 700;
        text-align: center;
        letter-spacing: .15em
    }
    body.page-cg #cg .works .video .explan {
	max-width: 80%;
        /*width: 600px;*/
        margin: 0px auto;
        text-align: left;
        font-size: 1.125rem;
        font-weight: 500;
        text-align: left;
        letter-spacing: .15em
    }
    body.page-cg #cg .works .video .explan h4 {
        font-size: 1.125rem;
        font-weight: 700;
        text-align: left;
        letter-spacing: .15em
    }
    body.page-cg #cg .works .video .explan h5 {
        margin-top: 2.275em;
        font-size: .750rem;
        line-height: 1.8
    }
    body.page-cg #cg .works .contact .button {
        padding: 23px 0;
        font-size: 1rem
    }
}

body.page-gaming #gaming .intro h3 {
    color: #2a93cc;
    font-weight: 700;
    text-align: center;
    letter-spacing: .15em
}

body.page-gaming #gaming .intro p {
    letter-spacing: .05em;
    text-align: justify
}

body.page-gaming #gaming .sample h3 {
    color: #2a93cc;
    font-weight: 700;
    text-align: center;
    letter-spacing: .15em
}

body.page-gaming #gaming .sample .container {
    background-color: #2a93cc;
    color: #fff
}

body.page-gaming #gaming .sample figure {
    position: relative
}

body.page-gaming #gaming .sample figure img {
    vertical-align: top
}

body.page-gaming #gaming .sample figure a {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    box-sizing: border-box;
    padding-left: .15em;
    background-color: #fff;
    color: #2a93cc;
    font-family: Open Sans, sans-serif;
    font-weight: 700;
    font-style: italic;
    text-align: center;
    letter-spacing: .15em
}

body.page-gaming #gaming .sample p {
    letter-spacing: .05em
}

body.page-gaming #gaming .sample ul li {
    position: relative;
    padding-left: 1em
}

body.page-gaming #gaming .sample ul li:before {
    content: "";
    position: absolute;
    left: 0;
    display: inline-block;
    width: 5px;
    height: 5px;
    border-radius: 5px;
    background-color: #fff;
    vertical-align: middle
}

body.page-gaming #gaming .sample .contact .button {
    margin: 0 27px;
    background-color: #000;
    color: #fff;
    letter-spacing: .1em
}

body.page-gaming #gaming .sample .contact .button:before {
    left: -27px;
    border-top-width: 15.58846px;
    border-right-width: 27px;
    border-right-color: #000
}

body.page-gaming #gaming .sample .contact .button:after {
    right: -27px;
    border-bottom-width: 15.58846px;
    border-left-width: 27px;
    border-left-color: #000
}

body.page-gaming #gaming .sample .contact .button span:before {
    right: -49px;
    width: 44px;
    border-top: 1px solid
}

@media only screen and (min-width:768px) {
    body.page-gaming #gaming .sample .contact .button,
    body.page-gaming #gaming .sample .contact .button:after,
    body.page-gaming #gaming .sample .contact .button:before,
    body.page-gaming #gaming .sample .contact .button span:before {
        transition: .3s
    }
    body.page-gaming #gaming .sample .contact .button:hover {
        background-color: #2a93cc;
        color: #fff
    }
    body.page-gaming #gaming .sample .contact .button:hover:before {
        border-right-color: #2a93cc
    }
    body.page-gaming #gaming .sample .contact .button:hover:after {
        border-left-color: #2a93cc
    }
    body.page-gaming #gaming .sample .contact .button:hover span:before {
        right: -59px
    }
}

body.page-gaming #gaming .sample .contact .button span:before {
    border-top-color: #2a93cc
}

@media only screen and (min-width:768px) {
    body.page-gaming #page-header h1:before {
        background-image: url(../img/gaming/kv-bg.jpg)
    }
    body.page-gaming #page-header h1:after {
        width: 337px;
        height: 90px;
        background-image: url(../img/gaming/kv-title.png)
    }
    body.page-gaming main {
        padding-bottom: 160px
    }
    body.page-gaming #gaming {
        margin-top: 110px
    }
    body.page-gaming #gaming .intro {
        margin-top: 140px
    }
    body.page-gaming #gaming .intro h3 {
        font-size: 1.5rem
    }
    body.page-gaming #gaming .intro p {
        width: 800px;
        margin: 53.6px auto -.4em;
        font-size: 1rem;
        line-height: 1.8
    }
    body.page-gaming #gaming .sample {
        margin-top: 140px
    }
    body.page-gaming #gaming .sample h3 {
        font-size: 1.5rem
    }
    body.page-gaming #gaming .sample .container {
        width: 960px;
        margin: 80px auto 0;
        padding: 70px
    }
    body.page-gaming #gaming .sample figure a {
        width: 120px;
        padding: 48px 0;
        border-radius: 60px;
        font-size: 1.5rem;
        transition: .3s
    }
    body.page-gaming #gaming .sample figure a:hover {
        text-decoration: none;
        background-color: #2a93cc;
        color: #fff
    }
    body.page-gaming #gaming .sample h4 {
        margin-top: 60px;
        font-size: 1.5rem;
        font-weight: 700;
        text-align: center;
        letter-spacing: .15em
    }
    body.page-gaming #gaming .sample p {
        margin: 44.4px 0 -.4em;
        font-size: .875rem;
        line-height: 1.8
    }
    body.page-gaming #gaming .sample h5 {
        margin-top: 2.275em;
        font-size: .875rem;
        line-height: 1.8
    }
    body.page-gaming #gaming .sample ul {
        margin-bottom: -.4em;
        font-size: .875rem;
        line-height: 1.8
    }
    body.page-gaming #gaming .sample ul li:before {
        margin: calc((1.8em - 5px) / 2) 0
    }
    body.page-gaming #gaming .sample .contact {
        margin-top: 140px;
        text-align: center
    }
    body.page-gaming #gaming .sample .contact .button {
        display: inline-block;
        width: 285px;
        padding: 32px 0;
        font-size: 1rem
    }
}

@media only screen and (max-width:767px) {
    body.page-gaming #page-header h1:before {
        background-image: url(../img/gaming/kv-bg.jpg)
    }
    body.page-gaming #page-header h1:after {
        width: 168.5px;
        height: 45px;
        background-image: url(../img/gaming/kv-title.png);
        background-size: 168.5px 45px
    }
    body.page-gaming main {
        margin-bottom: 75px
    }
    body.page-gaming #gaming,
    body.page-gaming #gaming .intro {
        margin-top: 55px
    }
    body.page-gaming #gaming .intro h3 {
        margin: -.1875em 0;
        font-size: 1.5rem;
        line-height: 1.375
    }
    body.page-gaming #gaming .intro p {
        margin: 28.6px 0 -.4em;
        padding: 0 15px;
        font-size: 1rem;
        line-height: 1.8
    }
    body.page-gaming #gaming .sample {
        margin-top: 55px
    }
    body.page-gaming #gaming .sample h3 {
        font-size: 1.5rem
    }
    body.page-gaming #gaming .sample .container {
        margin: 35px auto 0;
        padding: 30px 15px
    }
    body.page-gaming #gaming .sample figure a {
        width: 80px;
        padding: 32px 0;
        border-radius: 40px;
        font-size: 1rem
    }
    body.page-gaming #gaming .sample img {
        width: 100%;
        height: auto
    }
    body.page-gaming #gaming .sample h4 {
        margin-top: 30px;
        font-size: 1.5rem;
        font-weight: 700;
        text-align: center;
        letter-spacing: .15em
    }
    body.page-gaming #gaming .sample p {
        margin: 24.4px 0 -.4em;
        font-size: .875rem;
        line-height: 1.8
    }
    body.page-gaming #gaming .sample h5 {
        margin-top: 2.275em;
        font-size: .875rem;
        line-height: 1.8
    }
    body.page-gaming #gaming .sample ul {
        margin-bottom: -.4em;
        font-size: .875rem;
        line-height: 1.8
    }
    body.page-gaming #gaming .sample ul li:before {
        margin: calc((1.8em - 5px) / 2) 0
    }
    body.page-gaming #gaming .sample .contact {
        margin-top: 55px;
        padding: 0 15px
    }
    body.page-gaming #gaming .sample .contact .button {
        padding: 23px 0;
        font-size: 1rem
    }
}

@media only screen and (min-width:768px) {
    body.page-recruit #page-header h1 {
        height: 660px !important
    }
    body.page-recruit #page-header h1:before {
        background-image: url(../img/recruit/kv-bg-top.jpg)
    }
    body.page-recruit #page-header h1:after {
        width: 306px;
        height: 42px;
        background-image: url(../img/recruit/kv-title-top.png)
    }
}

@media only screen and (max-width:767px) {
    body.page-recruit #page-header h1 {
        height: 425px !important
    }
    body.page-recruit #page-header h1:before {
        background-image: url(../img/recruit/kv-bg-top.jpg)
    }
    body.page-recruit #page-header h1:after {
        width: 153px;
        height: 21px;
        background-image: url(../img/recruit/kv-title-top.png);
        background-size: 153px 21px
    }
}

@media only screen and (min-width:768px) {
    body.child-of-recruit #page-header h1:before,
    body.page-entry #page-header h1:before,
    body.single-voice #page-header h1:before {
        background-image: url(../img/recruit/kv-bg.jpg)
    }
    body.child-of-recruit #page-header h1:after,
    body.page-entry #page-header h1:after,
    body.single-voice #page-header h1:after {
        width: 338px;
        height: 76px;
        background-image: url(../img/recruit/kv-title.png)
    }
}

@media only screen and (max-width:767px) {
    body.child-of-recruit #page-header h1:before,
    body.page-entry #page-header h1:before,
    body.single-voice #page-header h1:before {
        background-image: url(../img/recruit/kv-bg.jpg)
    }
    body.child-of-recruit #page-header h1:after,
    body.page-entry #page-header h1:after,
    body.single-voice #page-header h1:after {
        width: 169px;
        height: 38px;
        background-image: url(../img/recruit/kv-title.png);
        background-size: 169px 38px
    }
}

body.page-recruit #recruit .intro h3 {
    color: #2a93cc
}

body.page-recruit #recruit .intro .copy,
body.page-recruit #recruit .intro h3 {
    font-weight: 700;
    text-align: center;
    letter-spacing: .15em
}

body.page-recruit #recruit .intro p {
    letter-spacing: .05em;
    text-align: justify
}

body.page-recruit #recruit .features h3 {
    color: #2a93cc;
    font-weight: 700;
    text-align: center;
    letter-spacing: .15em
}

body.page-recruit #recruit .features section {
    position: relative;
    background-color: #2a93cc;
    color: #fff
}

body.page-recruit #recruit .features section h4 {
    margin: -.3em 0;
    font-weight: 700;
    text-align: center;
    letter-spacing: .15em;
    line-height: 1.6
}

body.page-recruit #recruit .features section p {
    text-align: justify
}

body.page-recruit #recruit .features section dl dt {
    text-align: center
}

body.page-recruit #recruit .features section dl dd {
    text-align: justify
}

body.page-recruit #recruit .features section dl dd b {
    color: #fff000
}

body.page-recruit #recruit .voices h3 {
    color: #2a93cc;
    font-weight: 700;
    text-align: center;
    letter-spacing: .15em
}

body.page-recruit #recruit .voices .voice {
    background-color: #2a93cc;
    color: #fff
}

body.page-recruit #recruit .voices .voice .job {
    font-weight: 700;
    text-align: center
}

body.page-recruit #recruit .voices .voice .detail .button {
    margin: 0 20px;
    background-color: #000;
    color: #fff;
    font-family: Open Sans, sans-serif;
    font-weight: 600;
    font-style: italic;
    letter-spacing: .1em
}

body.page-recruit #recruit .voices .voice .detail .button:before {
    left: -20px;
    border-top-width: 11.54701px;
    border-right-width: 20px;
    border-right-color: #000
}

body.page-recruit #recruit .voices .voice .detail .button:after {
    right: -20px;
    border-bottom-width: 11.54701px;
    border-left-width: 20px;
    border-left-color: #000
}

body.page-recruit #recruit .voices .voice .detail .button span:before {
    right: -37px;
    width: 34px;
    border-top: 1px solid
}

@media only screen and (min-width:768px) {
    body.page-recruit #recruit .voices .voice .detail .button,
    body.page-recruit #recruit .voices .voice .detail .button:after,
    body.page-recruit #recruit .voices .voice .detail .button:before,
    body.page-recruit #recruit .voices .voice .detail .button span:before {
        transition: .3s
    }
    body.page-recruit #recruit .voices .voice .detail .button:hover {
        background-color: #fff;
        color: #2a93cc
    }
    body.page-recruit #recruit .voices .voice .detail .button:hover:before {
        border-right-color: #fff
    }
    body.page-recruit #recruit .voices .voice .detail .button:hover:after {
        border-left-color: #fff
    }
    body.page-recruit #recruit .voices .voice .detail .button:hover span:before {
        right: -47px
    }
}

body.page-recruit #recruit .voices .voice .detail .button span:before {
    border-top-color: #fff
}

@media only screen and (min-width:768px) {
    body.page-recruit main {
        padding-bottom: 260px
    }
    body.page-recruit #recruit {
        margin-top: 110px
    }
    body.page-recruit #recruit .intro {
        margin-top: 140px
    }
    body.page-recruit #recruit .intro h3 {
        font-size: 1.5rem
    }
    body.page-recruit #recruit .intro .copy {
        margin-top: 70px;
        font-size: 1.25rem
    }
    body.page-recruit #recruit .intro p {
        width: 800px;
        margin: 43.6px auto -.4em;
        font-size: 1rem;
        line-height: 1.8
    }
    body.page-recruit #recruit .features {
        margin-top: 125px
    }
    body.page-recruit #recruit .features h3 {
        font-size: 1.5rem
    }
    body.page-recruit #recruit .features .container {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        width: 1100px;
        margin: 80px auto 0
    }
    body.page-recruit #recruit .features section {
        width: 415px;
        padding: 55px 52px 60px 53px
    }
    body.page-recruit #recruit .features section:nth-child(n+3) {
        margin-top: 66px
    }
    body.page-recruit #recruit .features section h4 {
        font-size: 1.125rem
    }
    body.page-recruit #recruit .features section figure {
        margin-top: 40px
    }
    body.page-recruit #recruit .features section p {
        margin: 29.4px 0 -.4em;
        font-size: .875rem;
        line-height: 1.8
    }
    body.page-recruit #recruit .features section dl {
        margin-top: 35px;
        font-size: .875rem
    }
    body.page-recruit #recruit .features section dl div {
        display: flex;
        justify-content: space-between;
        align-items: center
    }
    body.page-recruit #recruit .features section dl div:nth-child(n+2) {
        margin-top: 2em
    }
    body.page-recruit #recruit .features section dl div:first-child dt {
        background: url(../img/recruit/feature-icon-1.png) no-repeat center 24px
    }
    body.page-recruit #recruit .features section dl div:nth-child(2) dt {
        background: url(../img/recruit/feature-icon-2.png) no-repeat center 25px
    }
    body.page-recruit #recruit .features section dl div:nth-child(3) dt {
        background: url(../img/recruit/feature-icon-3.png) no-repeat center 25px
    }
    body.page-recruit #recruit .features section dl dt {
        width: 6em;
        min-height: 4.6em
    }
    body.page-recruit #recruit .features section dl dd {
        width: 320px;
        margin: -.4em 0;
        line-height: 1.8
    }
    body.page-recruit #recruit .voices {
        margin-top: 145px
    }
    body.page-recruit #recruit .voices h3 {
        font-size: 1.5rem
    }
    body.page-recruit #recruit .voices .container {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 1100px;
        margin: 60px auto 0
    }
    body.page-recruit #recruit .voices .container:after {
        content: "";
        display: block;
        width: 345px;
        height: 0
    }
    body.page-recruit #recruit .voices .voice {
        width: 285px;
        padding: 35px 30px
    }
    body.page-recruit #recruit .voices .voice:nth-child(n+4) {
        margin-top: 30px
    }
    body.page-recruit #recruit .voices .voice .job {
        margin-top: 35px;
        font-size: 1rem
    }
    body.page-recruit #recruit .voices .voice .name {
        margin-top: 30px;
        font-size: .875rem
    }
    body.page-recruit #recruit .voices .voice .career {
        margin-top: 12px;
        font-size: .875rem
    }
    body.page-recruit #recruit .voices .voice .detail {
        margin-top: 40px;
        padding: 0 30px
    }
    body.page-recruit #recruit .voices .voice .detail .button {
        padding: 23px 0;
        font-size: .875rem
    }
}

@media only screen and (max-width:767px) {
    body.page-recruit main {
        margin-bottom: 75px
    }
    body.page-recruit #recruit {
        margin-top: 55px
    }
    body.page-recruit #recruit .intro {
        margin-top: 55px;
        padding: 0 15px
    }
    body.page-recruit #recruit .intro h3 {
        font-size: 1.5rem
    }
    body.page-recruit #recruit .intro .copy {
        margin: 30px 0 -.25em;
        font-size: 1.25rem;
        line-height: 1.5em
    }
    body.page-recruit #recruit .intro p {
        margin: 28.6px 0 -.4em;
        font-size: 1rem;
        line-height: 1.8
    }
    body.page-recruit #recruit .features {
        margin-top: 55px
    }
    body.page-recruit #recruit .features .container {
        margin: 35px auto 0;
        padding: 0 15px
    }
    body.page-recruit #recruit .features section {
        padding: 35px 30px
    }
    body.page-recruit #recruit .features section:nth-child(n+2) {
        margin-top: 23px
    }
    body.page-recruit #recruit .features section h4 {
        font-size: 1rem;
        font-weight: 700
    }
    body.page-recruit #recruit .features section figure {
        margin-top: 25px
    }
    body.page-recruit #recruit .features section figure img {
        width: 100%;
        height: auto
    }
    body.page-recruit #recruit .features section p {
        margin: 19.4px 0 -.4em;
        font-size: .875rem;
        line-height: 1.8
    }
    body.page-recruit #recruit .features section dl {
        margin-top: 25px;
        font-size: .875rem
    }
    body.page-recruit #recruit .features section dl div:nth-child(n+2) {
        margin-top: 2em
    }
    body.page-recruit #recruit .features section dl div:first-child dt {
        background: url(../img/recruit/feature-icon-1.png) no-repeat center 24px
    }
    body.page-recruit #recruit .features section dl div:nth-child(2) dt {
        background: url(../img/recruit/feature-icon-2.png) no-repeat center 25px
    }
    body.page-recruit #recruit .features section dl div:nth-child(3) dt {
        background: url(../img/recruit/feature-icon-3.png) no-repeat center 25px
    }
    body.page-recruit #recruit .features section dl dt {
        min-height: 4.6em
    }
    body.page-recruit #recruit .features section dl dd {
        margin: 9.4px 0 -.4em;
        line-height: 1.8
    }
    body.page-recruit #recruit .voices {
        margin-top: 55px
    }
    body.page-recruit #recruit .voices .container {
        margin: 35px auto 0;
        padding: 0 15px
    }
    body.page-recruit #recruit .voices .voice {
        padding: 35px 30px
    }
    body.page-recruit #recruit .voices .voice:nth-child(n+2) {
        margin-top: 23px
    }
    body.page-recruit #recruit .voices .voice figure img {
        width: 100%;
        height: auto
    }
    body.page-recruit #recruit .voices .voice .job {
        margin-top: 20px;
        font-size: 1rem
    }
    body.page-recruit #recruit .voices .voice .name {
        margin-top: 20px;
        font-size: .875rem
    }
    body.page-recruit #recruit .voices .voice .career {
        margin-top: 12px;
        font-size: .875rem
    }
    body.page-recruit #recruit .voices .voice .detail {
        margin-top: 25px;
        padding: 0 25px
    }
    body.page-recruit #recruit .voices .voice .detail .button {
        padding: 23px 0;
        font-size: .875rem
    }
}

body.recruit-detail #recruit-detail .intro h3 {
    color: #2a93cc
}

body.recruit-detail #recruit-detail .intro .copy,
body.recruit-detail #recruit-detail .intro h3 {
    font-weight: 700;
    text-align: center;
    letter-spacing: .15em
}

body.recruit-detail #recruit-detail .intro p {
    letter-spacing: .05em;
    text-align: justify
}

body.recruit-detail #recruit-detail .intro p.single-line {
    text-align: center
}

body.recruit-detail #recruit-detail .job-type h3 {
    color: #2a93cc;
    font-weight: 700;
    text-align: center;
    letter-spacing: .15em
}

body.recruit-detail #recruit-detail .job-type section {
    background-color: #2a93cc;
    color: #fff;
    overflow: hidden;
    transition: height .3s
}

body.recruit-detail #recruit-detail .job-type section h4 a {
    position: relative;
    display: block;
    color: #fff;
    font-weight: 700;
    text-align: center;
    letter-spacing: .15em;
    text-decoration: none
}

body.recruit-detail #recruit-detail .job-type section h4 a i {
    position: absolute;
    top: 50%;
    -webkit-transform: translate(50%, -50%);
    transform: translate(50%, -50%);
    transition: .3s
}

body.recruit-detail #recruit-detail .job-type section h4 a i:before {
    content: "";
    display: block;
    border: solid #fff;
    border-width: 0 2px 2px 0
}

body.recruit-detail #recruit-detail .job-type section .entry .button {
    margin: 0 27px;
    background-color: #000;
    color: #fff;
    font-weight: 600;
    letter-spacing: .1em
}

body.recruit-detail #recruit-detail .job-type section .entry .button:before {
    left: -27px;
    border-top-width: 15.58846px;
    border-right-width: 27px;
    border-right-color: #000
}

body.recruit-detail #recruit-detail .job-type section .entry .button:after {
    right: -27px;
    border-bottom-width: 15.58846px;
    border-left-width: 27px;
    border-left-color: #000
}

body.recruit-detail #recruit-detail .job-type section .entry .button span:before {
    right: -49px;
    width: 44px;
    border-top: 1px solid
}

@media only screen and (min-width:768px) {
    body.recruit-detail #recruit-detail .job-type section .entry .button,
    body.recruit-detail #recruit-detail .job-type section .entry .button:after,
    body.recruit-detail #recruit-detail .job-type section .entry .button:before,
    body.recruit-detail #recruit-detail .job-type section .entry .button span:before {
        transition: .3s
    }
    body.recruit-detail #recruit-detail .job-type section .entry .button:hover {
        background-color: #fff;
        color: #2a93cc
    }
    body.recruit-detail #recruit-detail .job-type section .entry .button:hover:before {
        border-right-color: #fff
    }
    body.recruit-detail #recruit-detail .job-type section .entry .button:hover:after {
        border-left-color: #fff
    }
    body.recruit-detail #recruit-detail .job-type section .entry .button:hover span:before {
        right: -59px
    }
}

body.recruit-detail #recruit-detail .job-type section .entry .button span:before {
    border-top-color: #fff
}

body.recruit-detail #recruit-detail .job-type section .link {
    text-align: center
}

body.recruit-detail #recruit-detail .job-type section .link a {
    display: inline-block;
    color: #fff;
    border-bottom: 1px solid #fff;
    letter-spacing: .15em
}

body.recruit-detail #recruit-detail .job-type section .link a:after {
    content: "";
    display: inline-block;
    border: solid #fff;
    border-width: 0 1px 1px 0
}

body.recruit-detail #recruit-detail #conditions h3,
body.recruit-detail #recruit-detail #flow h3,
body.recruit-detail #recruit-detail #guidelines h3,
body.recruit-detail #recruit-detail #qa h3 {
    color: #2a93cc;
    font-weight: 700;
    text-align: center;
    letter-spacing: .15em
}

body.recruit-detail #recruit-detail #conditions a,
body.recruit-detail #recruit-detail #flow a,
body.recruit-detail #recruit-detail #guidelines a,
body.recruit-detail #recruit-detail #qa a {
    color: #000;
    text-decoration: underline
}

body.recruit-detail #recruit-detail #entry .button {
    margin: 0 27px;
    background-color: #000;
    color: #fff;
    font-weight: 600;
    letter-spacing: .1em
}

body.recruit-detail #recruit-detail #entry .button:before {
    left: -27px;
    border-top-width: 15.58846px;
    border-right-width: 27px;
    border-right-color: #000
}

body.recruit-detail #recruit-detail #entry .button:after {
    right: -27px;
    border-bottom-width: 15.58846px;
    border-left-width: 27px;
    border-left-color: #000
}

body.recruit-detail #recruit-detail #entry .button span:before {
    right: -49px;
    width: 44px;
    border-top: 1px solid
}

@media only screen and (min-width:768px) {
    body.recruit-detail #recruit-detail #entry .button,
    body.recruit-detail #recruit-detail #entry .button:after,
    body.recruit-detail #recruit-detail #entry .button:before,
    body.recruit-detail #recruit-detail #entry .button span:before {
        transition: .3s
    }
    body.recruit-detail #recruit-detail #entry .button:hover {
        background-color: #2a93cc;
        color: #fff
    }
    body.recruit-detail #recruit-detail #entry .button:hover:before {
        border-right-color: #2a93cc
    }
    body.recruit-detail #recruit-detail #entry .button:hover:after {
        border-left-color: #2a93cc
    }
    body.recruit-detail #recruit-detail #entry .button:hover span:before {
        right: -59px
    }
}

body.recruit-detail #recruit-detail #entry .button span:before {
    border-top-color: #2a93cc
}

@media only screen and (min-width:768px) {
    body.recruit-detail main {
        padding-bottom: 260px
    }
    body.recruit-detail table.recruit-info {
        width: 100%
    }
    body.recruit-detail table.recruit-info td,
    body.recruit-detail table.recruit-info th {
        border-style: solid;
        border-width: 1px 0;
        font-size: .875rem
    }
    body.recruit-detail table.recruit-info th {
        text-align: center;
        vertical-align: middle
    }
    body.recruit-detail table.recruit-info td {
        padding: 15px 0
    }
    body.recruit-detail table.recruit-info td div {
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: 40px;
        padding: 16px 0 16px 35px;
        border-left: 1px solid;
        line-height: 1.6
    }
    body.recruit-detail table.recruit-info td ul li:before {
        content: "\30FB   "
    }
    body.recruit-detail #recruit-detail {
        margin-top: 110px
    }
    body.recruit-detail #recruit-detail .intro {
        margin-top: 140px
    }
    body.recruit-detail #recruit-detail .intro h3 {
        font-size: 1.5rem
    }
    body.recruit-detail #recruit-detail .intro .copy {
        margin-top: 70px;
        font-size: 1.25rem
    }
    body.recruit-detail #recruit-detail .intro p {
        width: 800px;
        margin: 43.6px auto -.4em;
        font-size: 1rem;
        line-height: 1.8
    }
    body.recruit-detail #recruit-detail .job-type {
        margin-top: 85px
    }
    body.recruit-detail #recruit-detail .job-type h3 {
        font-size: 1.5rem
    }
    body.recruit-detail #recruit-detail .job-type .container {
        width: 1100px;
        margin: 65px auto 0
    }
    body.recruit-detail #recruit-detail .job-type section {
        height: 140px
    }
    body.recruit-detail #recruit-detail .job-type section:nth-child(n+2) {
        margin-top: 20px
    }
    body.recruit-detail #recruit-detail .job-type section.open h4 a i {
        -webkit-transform: translate(50%, -50%) rotateX(180deg);
        transform: translate(50%, -50%) rotateX(180deg)
    }
    body.recruit-detail #recruit-detail .job-type section h4 a {
        padding: 58px 0 58px .15em;
        font-size: 1.5rem
    }
    body.recruit-detail #recruit-detail .job-type section h4 a i {
        right: 55px
    }
    body.recruit-detail #recruit-detail .job-type section h4 a i:before {
        width: 30px;
        height: 30px;
        -webkit-transform: translateY(-10px) rotate(45deg);
        transform: translateY(-10px) rotate(45deg)
    }
    body.recruit-detail #recruit-detail .job-type section .content {
        padding: 0 90px 40px
    }
    body.recruit-detail #recruit-detail .job-type section table td,
    body.recruit-detail #recruit-detail .job-type section table td div,
    body.recruit-detail #recruit-detail .job-type section table th {
        border-color: #fff
    }
    body.recruit-detail #recruit-detail .job-type section table th {
        width: 195px
    }
    body.recruit-detail #recruit-detail .job-type section .entry {
        margin-top: 55px;
        text-align: center
    }
    body.recruit-detail #recruit-detail .job-type section .entry .button {
        display: inline-block;
        width: 285px;
        padding: 33px 0;
        font-size: .875rem
    }
    body.recruit-detail #recruit-detail .job-type section .link {
        margin-top: 25px
    }
    body.recruit-detail #recruit-detail .job-type section .link a {
        font-size: 1rem;
        padding: 0 7px 4px 2px
    }
    body.recruit-detail #recruit-detail .job-type section .link a:hover {
        text-decoration: none
    }
    body.recruit-detail #recruit-detail .job-type section .link a:after {
        width: 10px;
        height: 10px;
        -webkit-transform: translate(5px, -5px) rotate(45deg) skew(10deg, 10deg);
        transform: translate(5px, -5px) rotate(45deg) skew(10deg, 10deg)
    }
    body.recruit-detail #recruit-detail #guidelines {
        width: 1100px;
        margin: 135px auto 0
    }
    body.recruit-detail #recruit-detail #guidelines h3 {
        font-size: 1.5rem
    }
    body.recruit-detail #recruit-detail #guidelines table {
        margin-top: 45px
    }
    body.recruit-detail #recruit-detail #guidelines table td,
    body.recruit-detail #recruit-detail #guidelines table td div,
    body.recruit-detail #recruit-detail #guidelines table th {
        border-color: #2a93cc
    }
    body.recruit-detail #recruit-detail #guidelines table th {
        width: 250px
    }
    body.recruit-detail #recruit-detail #flow {
        width: 1100px;
        margin: 115px auto 0
    }
    body.recruit-detail #recruit-detail #flow h3 {
        font-size: 1.5rem
    }
    body.recruit-detail #recruit-detail #flow table {
        margin-top: 45px
    }
    body.recruit-detail #recruit-detail #flow table td,
    body.recruit-detail #recruit-detail #flow table td div,
    body.recruit-detail #recruit-detail #flow table th {
        border-color: #2a93cc
    }
    body.recruit-detail #recruit-detail #flow table th {
        width: 250px
    }
    body.recruit-detail #recruit-detail #conditions {
        width: 1100px;
        margin: 135px auto 0
    }
    body.recruit-detail #recruit-detail #conditions h3 {
        font-size: 1.5rem
    }
    body.recruit-detail #recruit-detail #conditions table {
        margin-top: 45px
    }
    body.recruit-detail #recruit-detail #conditions table td,
    body.recruit-detail #recruit-detail #conditions table td div,
    body.recruit-detail #recruit-detail #conditions table th {
        border-color: #2a93cc
    }
    body.recruit-detail #recruit-detail #conditions table th {
        width: 250px
    }
    body.recruit-detail #recruit-detail #qa {
        width: 800px;
        margin: 95px auto 0
    }
    body.recruit-detail #recruit-detail #qa h3 {
        font-size: 1.5rem
    }
    body.recruit-detail #recruit-detail #qa dl {
        margin: 48.6px 0 -.4em;
        font-size: 1rem;
        line-height: 1.8
    }
    body.recruit-detail #recruit-detail #qa dl dt {
        color: #2a93cc
    }
    body.recruit-detail #recruit-detail #qa dl dt:before {
        content: "Q. "
    }
    body.recruit-detail #recruit-detail #qa dl dd+dt {
        margin-top: 1.8em
    }
    body.recruit-detail #recruit-detail #qa dl dd:before {
        content: "A. "
    }
    body.recruit-detail #recruit-detail #entry {
        margin-top: 55px;
        text-align: center
    }
    body.recruit-detail #recruit-detail #entry .button {
        display: inline-block;
        width: 285px;
        padding: 33px 0;
        font-size: .875rem
    }
}

@media only screen and (max-width:767px) {
    body.recruit-detail main {
        margin-bottom: 75px
    }
    body.recruit-detail table.recruit-info {
        width: 100%;
        font-size: .875rem;
        letter-spacing: .05em
    }
    body.recruit-detail table.recruit-info th {
        display: block;
        text-align: left;
        overflow: hidden;
        white-space: nowrap
    }
    body.recruit-detail table.recruit-info th:after {
        content: "";
        display: inline-block;
        width: 100%;
        margin-left: 10px;
        border-top: 1px solid;
        vertical-align: middle;
        -webkit-transform: translateY(-2px);
        transform: translateY(-2px)
    }
    body.recruit-detail table.recruit-info td {
        display: block;
        padding-bottom: 2.4em
    }
    body.recruit-detail table.recruit-info td p,
    body.recruit-detail table.recruit-info td ul {
        margin: .4em 0 -.4em;
        line-height: 1.8
    }
    body.recruit-detail table.recruit-info td ul li:before {
        content: "\30FB   "
    }
    body.recruit-detail table.recruit-info tr:last-child td {
        padding-bottom: 0
    }
    body.recruit-detail #recruit-detail {
        margin-top: 55px
    }
    body.recruit-detail #recruit-detail .intro {
        margin-top: 55px;
        padding: 0 15px
    }
    body.recruit-detail #recruit-detail .intro .copy {
        margin: 33px 0 -.1em;
        font-size: 1.25rem;
        line-height: 1.2
    }
    body.recruit-detail #recruit-detail .intro .copy span {
        display: inline-block
    }
    body.recruit-detail #recruit-detail .intro p {
        margin: 28.6px 0 -.4em;
        font-size: 1rem;
        line-height: 1.8
    }
    body.recruit-detail #recruit-detail .job-type {
        margin-top: 45px
    }
    body.recruit-detail #recruit-detail .job-type h3 {
        font-size: 1.5rem
    }
    body.recruit-detail #recruit-detail .job-type .container {
        margin-top: 25px;
        padding: 0 15px
    }
    body.recruit-detail #recruit-detail .job-type section {
        height: 70px
    }
    body.recruit-detail #recruit-detail .job-type section:nth-child(n+2) {
        margin-top: 15px
    }
    body.recruit-detail #recruit-detail .job-type section.open h4 a i {
        -webkit-transform: translate(50%, -50%) rotateX(180deg);
        transform: translate(50%, -50%) rotateX(180deg)
    }
    body.recruit-detail #recruit-detail .job-type section h4 a {
        padding: 26px 0 26px .15em;
        font-size: 1.125rem
    }
    body.recruit-detail #recruit-detail .job-type section h4 a i {
        right: 20px
    }
    body.recruit-detail #recruit-detail .job-type section h4 a i:before {
        width: 15px;
        height: 15px;
        -webkit-transform: translateY(-5px) rotate(45deg);
        transform: translateY(-5px) rotate(45deg)
    }
    body.recruit-detail #recruit-detail .job-type section .content {
        padding: 0 15px 30px
    }
    body.recruit-detail #recruit-detail .job-type section table th:after {
        border-color: #fff
    }
    body.recruit-detail #recruit-detail .job-type section .entry {
        margin-top: 25px
    }
    body.recruit-detail #recruit-detail .job-type section .entry .button {
        padding: 23px 0;
        font-size: .875rem
    }
    body.recruit-detail #recruit-detail .job-type section .link {
        margin-top: 25px
    }
    body.recruit-detail #recruit-detail .job-type section .link a {
        font-size: 1rem;
        padding: 0 7px 4px 2px
    }
    body.recruit-detail #recruit-detail .job-type section .link a:hover {
        text-decoration: none
    }
    body.recruit-detail #recruit-detail .job-type section .link a:after {
        width: 10px;
        height: 10px;
        -webkit-transform: translate(5px, -5px) rotate(45deg) skew(10deg, 10deg);
        transform: translate(5px, -5px) rotate(45deg) skew(10deg, 10deg)
    }
    body.recruit-detail #recruit-detail #guidelines {
        margin-top: 55px;
        padding: 0 15px
    }
    body.recruit-detail #recruit-detail #guidelines h3 {
        font-size: 1.5rem
    }
    body.recruit-detail #recruit-detail #guidelines table {
        margin-top: 25px
    }
    body.recruit-detail #recruit-detail #guidelines table th:after {
        border-color: #000
    }
    body.recruit-detail #recruit-detail #flow {
        margin-top: 55px;
        padding: 0 15px
    }
    body.recruit-detail #recruit-detail #flow h3 {
        font-size: 1.5rem
    }
    body.recruit-detail #recruit-detail #flow table {
        margin-top: 25px
    }
    body.recruit-detail #recruit-detail #flow table th:after {
        border-color: #000
    }
    body.recruit-detail #recruit-detail #conditions {
        margin-top: 55px;
        padding: 0 15px
    }
    body.recruit-detail #recruit-detail #conditions h3 {
        font-size: 1.5rem
    }
    body.recruit-detail #recruit-detail #conditions table {
        margin-top: 25px
    }
    body.recruit-detail #recruit-detail #conditions table th:after {
        border-color: #000
    }
    body.recruit-detail #recruit-detail #qa {
        margin-top: 55px;
        padding: 0 15px
    }
    body.recruit-detail #recruit-detail #qa h3 {
        font-size: 1.5rem
    }
    body.recruit-detail #recruit-detail #qa dl {
        margin: 18.6px 0 -.4em;
        font-size: 1rem;
        line-height: 1.8
    }
    body.recruit-detail #recruit-detail #qa dl dt {
        color: #2a93cc
    }
    body.recruit-detail #recruit-detail #qa dl dt:before {
        content: "Q. "
    }
    body.recruit-detail #recruit-detail #qa dl dd+dt {
        margin-top: 1.8em
    }
    body.recruit-detail #recruit-detail #qa dl dd:before {
        content: "A. "
    }
    body.recruit-detail #recruit-detail #entry {
        margin-top: 55px;
        padding: 0 15px
    }
    body.recruit-detail #recruit-detail #entry .button {
        padding: 33px 0;
        font-size: .875rem
    }
}

body.page-entry #entry-form form p {
    margin: -.4em 0;
    letter-spacing: .05em;
    line-height: 1.8
}

body.page-entry #entry-form form ul li {
    letter-spacing: .05em
}

body.page-entry #entry-form form ul li:before {
    content: "\203B"
}

@media only screen and (min-width:768px) {
    body.page-entry main {
        padding-bottom: 260px
    }
    body.page-entry #entry-form {
        margin-top: 110px
    }
    body.page-entry #entry-form form {
        width: 800px;
        margin: 90px auto 0
    }
    body.page-entry #entry-form form p {
        font-size: 1rem
    }
    body.page-entry #entry-form form ul {
        margin: 17px 0 -.25em
    }
    body.page-entry #entry-form form ul li {
        font-size: .75rem;
        line-height: 1.5
    }
    body.page-entry #entry-form form dl {
        margin-top: 60px
    }
    body.page-entry #entry-form form dl dt {
        width: 200px
    }
    body.page-entry #entry-form form dl [name=company],
    body.page-entry #entry-form form dl [name=educational-background],
    body.page-entry #entry-form form dl [name=email],
    body.page-entry #entry-form form dl [name=employment-history],
    body.page-entry #entry-form form dl [name=kana],
    body.page-entry #entry-form form dl [name=name],
    body.page-entry #entry-form form dl [name=remarks] {
        width: 600px
    }
    body.page-entry #entry-form .complete {
        width: 800px;
        margin: 90px auto 0
    }
}

@media only screen and (max-width:767px) {
    body.page-entry main {
        margin-bottom: 75px
    }
    body.page-entry #entry-form,
    body.page-entry #entry-form form {
        margin-top: 55px
    }
    body.page-entry #entry-form form p {
        font-size: 1rem;
        line-height: 1.5
    }
    body.page-entry #entry-form form ul {
        margin: 17px 0 -.25em
    }
    body.page-entry #entry-form form ul li {
        position: relative;
        padding-left: 1.25em;
        font-size: .75rem;
        line-height: 1.25
    }
    body.page-entry #entry-form form ul li:nth-child(n+2) {
        margin-top: .5em
    }
    body.page-entry #entry-form form ul li:before {
        position: absolute;
        left: 0
    }
    body.page-entry #entry-form form dl {
        margin-top: 30px
    }
    body.page-entry #entry-form form dl [name=company],
    body.page-entry #entry-form form dl [name=educational-background],
    body.page-entry #entry-form form dl [name=email],
    body.page-entry #entry-form form dl [name=employment-history],
    body.page-entry #entry-form form dl [name=kana],
    body.page-entry #entry-form form dl [name=name],
    body.page-entry #entry-form form dl [name=remarks] {
        width: 100%
    }
    body.page-entry #entry-form form dl [name=job]~.customSelect {
        display: block !important
    }
    body.page-entry #entry-form .complete {
        margin-top: 55px;
        padding: 0 15px
    }
}

body.single-voice #voice .intro h3 {
    text-align: center
}

body.single-voice #voice .intro .copy,
body.single-voice #voice .intro h3 {
    color: #2a93cc;
    font-weight: 700;
    letter-spacing: .15em
}

body.single-voice #voice .intro p {
    letter-spacing: .05em;
    text-align: justify
}

body.single-voice #voice .discourse section h3 {
    font-weight: 700;
    text-align: center;
    letter-spacing: .15em
}

body.single-voice #voice .discourse section p {
    letter-spacing: .05em;
    text-align: justify
}

body.single-voice #voice .voices h3 {
    color: #2a93cc;
    font-weight: 700;
    text-align: center;
    letter-spacing: .15em
}

body.single-voice #voice .voices .voice {
    background-color: #2a93cc;
    color: #fff
}

body.single-voice #voice .voices .voice .job {
    font-weight: 700;
    text-align: center
}

body.single-voice #voice .voices .voice .detail .button {
    margin: 0 20px;
    background-color: #000;
    color: #fff;
    font-family: Open Sans, sans-serif;
    font-weight: 600;
    font-style: italic;
    letter-spacing: .1em
}

body.single-voice #voice .voices .voice .detail .button:before {
    left: -20px;
    border-top-width: 11.54701px;
    border-right-width: 20px;
    border-right-color: #000
}

body.single-voice #voice .voices .voice .detail .button:after {
    right: -20px;
    border-bottom-width: 11.54701px;
    border-left-width: 20px;
    border-left-color: #000
}

body.single-voice #voice .voices .voice .detail .button span:before {
    right: -37px;
    width: 34px;
    border-top: 1px solid
}

@media only screen and (min-width:768px) {
    body.single-voice #voice .voices .voice .detail .button,
    body.single-voice #voice .voices .voice .detail .button:after,
    body.single-voice #voice .voices .voice .detail .button:before,
    body.single-voice #voice .voices .voice .detail .button span:before {
        transition: .3s
    }
    body.single-voice #voice .voices .voice .detail .button:hover {
        background-color: #fff;
        color: #2a93cc
    }
    body.single-voice #voice .voices .voice .detail .button:hover:before {
        border-right-color: #fff
    }
    body.single-voice #voice .voices .voice .detail .button:hover:after {
        border-left-color: #fff
    }
    body.single-voice #voice .voices .voice .detail .button:hover span:before {
        right: -47px
    }
}

body.single-voice #voice .voices .voice .detail .button span:before {
    border-top-color: #fff
}

body.single-voice #voice .back-to-list .button {
    margin: 0 27px;
    background-color: #000;
    color: #fff;
    letter-spacing: .1em
}

body.single-voice #voice .back-to-list .button:before {
    left: -27px;
    border-top-width: 15.58846px;
    border-right-width: 27px;
    border-right-color: #000
}

body.single-voice #voice .back-to-list .button:after {
    right: -27px;
    border-bottom-width: 15.58846px;
    border-left-width: 27px;
    border-left-color: #000
}

body.single-voice #voice .back-to-list .button span:before {
    right: -49px;
    width: 44px;
    border-top: 1px solid
}

@media only screen and (min-width:768px) {
    body.single-voice #voice .back-to-list .button,
    body.single-voice #voice .back-to-list .button:after,
    body.single-voice #voice .back-to-list .button:before,
    body.single-voice #voice .back-to-list .button span:before {
        transition: .3s
    }
    body.single-voice #voice .back-to-list .button:hover {
        background-color: #2a93cc;
        color: #fff
    }
    body.single-voice #voice .back-to-list .button:hover:before {
        border-right-color: #2a93cc
    }
    body.single-voice #voice .back-to-list .button:hover:after {
        border-left-color: #2a93cc
    }
    body.single-voice #voice .back-to-list .button:hover span:before {
        right: -59px
    }
}

body.single-voice #voice .back-to-list .button span:before {
    border-top-color: #2a93cc
}

@media only screen and (min-width:768px) {
    body.single-voice main {
        padding-bottom: 260px
    }
    body.single-voice #voice {
        margin-top: 110px
    }
    body.single-voice #voice>figure {
        position: relative;
        width: 800px;
        margin: 140px auto 0
    }
    body.single-voice #voice>figure figcaption {
        position: absolute;
        left: 30px;
        bottom: 30px;
        color: #fff;
        letter-spacing: .15em
    }
    body.single-voice #voice>figure figcaption .job {
        font-size: 1.5rem;
        font-weight: 600
    }
    body.single-voice #voice>figure figcaption .name {
        margin-top: 12px;
        font-size: .875rem;
        line-height: 1.8
    }
    body.single-voice #voice>figure figcaption .career {
        font-size: .875rem;
        line-height: 1.8
    }
    body.single-voice #voice .intro {
        width: 800px;
        margin: 90px auto 0
    }
    body.single-voice #voice .intro .copy {
        margin: -.25em 0;
        font-size: 1.5rem;
        line-height: 1.5
    }
    body.single-voice #voice .intro p {
        margin: 43.6px 0 -.4em;
        font-size: 1rem;
        line-height: 1.8
    }
    body.single-voice #voice .discourse {
        width: 800px;
        margin: 105px auto 0
    }
    body.single-voice #voice .discourse section:nth-child(n+2) {
        margin-top: 50px
    }
    body.single-voice #voice .discourse section h3 {
        font-size: 1.25rem
    }
    body.single-voice #voice .discourse section p {
        margin: 44.4px 0 -.4em;
        font-size: .875rem;
        line-height: 1.8
    }
    body.single-voice #voice .voices {
        margin-top: 145px
    }
    body.single-voice #voice .voices h3 {
        font-size: 1.5rem
    }
    body.single-voice #voice .voices .container {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 1100px;
        margin: 60px auto 0
    }
    body.single-voice #voice .voices .container:after {
        content: "";
        display: block;
        width: 345px;
        height: 0
    }
    body.single-voice #voice .voices .voice {
        width: 285px;
        padding: 35px 30px
    }
    body.single-voice #voice .voices .voice:nth-child(n+4) {
        margin-top: 30px
    }
    body.single-voice #voice .voices .voice .job {
        margin-top: 35px;
        font-size: 1rem
    }
    body.single-voice #voice .voices .voice .name {
        margin-top: 30px;
        font-size: .875rem
    }
    body.single-voice #voice .voices .voice .career {
        margin-top: 12px;
        font-size: .875rem
    }
    body.single-voice #voice .voices .voice .detail {
        margin-top: 40px;
        padding: 0 30px
    }
    body.single-voice #voice .voices .voice .detail .button {
        padding: 23px 0;
        font-size: .875rem
    }
    body.single-voice #voice .back-to-list {
        margin-top: 160px;
        text-align: center
    }
    body.single-voice #voice .back-to-list .button {
        display: inline-block;
        width: 285px;
        padding: 32px 0;
        font-size: 1rem
    }
}

@media only screen and (max-width:767px) {
    body.single-voice main {
        margin-bottom: 75px
    }
    body.single-voice #voice {
        margin-top: 55px
    }
    body.single-voice #voice>figure {
        position: relative;
        margin-top: 55px
    }
    body.single-voice #voice>figure img {
        width: 100%;
        height: auto
    }
    body.single-voice #voice>figure figcaption {
        position: absolute;
        left: 15px;
        bottom: 15px;
        color: #fff;
        letter-spacing: .15em
    }
    body.single-voice #voice>figure figcaption .job {
        font-size: 1.125rem;
        font-weight: 600
    }
    body.single-voice #voice>figure figcaption .name {
        margin-top: 6px;
        font-size: .75rem;
        line-height: 1.5
    }
    body.single-voice #voice>figure figcaption .career {
        font-size: .75rem;
        line-height: 1.5
    }
    body.single-voice #voice .intro {
        margin-top: 55px;
        padding: 0 15px
    }
    body.single-voice #voice .intro .copy {
        margin: -.25em 0;
        font-size: 1.25rem;
        line-height: 1.5
    }
    body.single-voice #voice .intro p {
        margin: 28.6px 0 -.4em;
        font-size: 1rem;
        line-height: 1.8
    }
    body.single-voice #voice .discourse {
        margin-top: 55px;
        padding: 0 15px
    }
    body.single-voice #voice .discourse section:nth-child(n+2) {
        margin-top: 55px
    }
    body.single-voice #voice .discourse section h3 {
        font-size: 1.25rem
    }
    body.single-voice #voice .discourse section p {
        margin: 19.4px 0 -.4em;
        font-size: .875rem;
        line-height: 1.8
    }
    body.single-voice #voice .voices {
        margin-top: 55px
    }
    body.single-voice #voice .voices .container {
        margin: 35px auto 0;
        padding: 0 15px
    }
    body.single-voice #voice .voices .voice {
        padding: 35px 30px
    }
    body.single-voice #voice .voices .voice:nth-child(n+2) {
        margin-top: 23px
    }
    body.single-voice #voice .voices .voice figure img {
        width: 100%;
        height: auto
    }
    body.single-voice #voice .voices .voice .job {
        margin-top: 20px;
        font-size: 1rem
    }
    body.single-voice #voice .voices .voice .name {
        margin-top: 20px;
        font-size: .875rem
    }
    body.single-voice #voice .voices .voice .career {
        margin-top: 12px;
        font-size: .875rem
    }
    body.single-voice #voice .voices .voice .detail {
        margin-top: 25px;
        padding: 0 25px
    }
    body.single-voice #voice .voices .voice .detail .button {
        padding: 23px 0;
        font-size: .875rem
    }
    body.single-voice #voice .back-to-list {
        margin-top: 55px;
        padding: 0 15px
    }
    body.single-voice #voice .back-to-list .button {
        padding: 23px 0;
        font-size: 1rem
    }
}

@media only screen and (min-width:768px) {
    body.child-of-company #page-header h1:before,
    body.page-company #page-header h1:before {
        background-image: url(../img/company/kv-bg.jpg)
    }
    body.child-of-company #page-header h1:after,
    body.page-company #page-header h1:after {
        width: 401px;
        height: 90px;
        background-image: url(../img/company/kv-title.png)
    }
}

@media only screen and (max-width:767px) {
    body.child-of-company #page-header h1:before,
    body.page-company #page-header h1:before {
        background-image: url(../img/company/kv-bg.jpg)
    }
    body.child-of-company #page-header h1:after,
    body.page-company #page-header h1:after {
        width: 200.5px;
        height: 45px;
        background-image: url(../img/company/kv-title.png);
        background-size: 200.5px 45px
    }
}

body.page-company #company .intro p {
    letter-spacing: .05em;
    text-align: justify
}

body.page-company #company nav section {
    position: relative;
    background-color: #2a93cc;
    color: #fff
}

body.page-company #company nav section h3 {
    font-weight: 700;
    text-align: center;
    letter-spacing: .15em
}

body.page-company #company nav section .detail .button {
    margin: 0 20px;
    background-color: #000;
    color: #fff;
    font-family: Open Sans, sans-serif;
    font-weight: 600;
    font-style: italic;
    letter-spacing: .1em
}

body.page-company #company nav section .detail .button:before {
    left: -20px;
    border-top-width: 11.54701px;
    border-right-width: 20px;
    border-right-color: #000
}

body.page-company #company nav section .detail .button:after {
    right: -20px;
    border-bottom-width: 11.54701px;
    border-left-width: 20px;
    border-left-color: #000
}

body.page-company #company nav section .detail .button span:before {
    right: -37px;
    width: 34px;
    border-top: 1px solid
}

@media only screen and (min-width:768px) {
    body.page-company #company nav section .detail .button,
    body.page-company #company nav section .detail .button:after,
    body.page-company #company nav section .detail .button:before,
    body.page-company #company nav section .detail .button span:before {
        transition: .3s
    }
    body.page-company #company nav section .detail .button:hover {
        background-color: #fff;
        color: #2a93cc
    }
    body.page-company #company nav section .detail .button:hover:before {
        border-right-color: #fff
    }
    body.page-company #company nav section .detail .button:hover:after {
        border-left-color: #fff
    }
    body.page-company #company nav section .detail .button:hover span:before {
        right: -47px
    }
}

body.page-company #company nav section .detail .button span:before {
    border-top-color: #fff
}

@media only screen and (min-width:768px) {
    body.page-company main {
        padding-bottom: 260px
    }
    body.page-company #company {
        margin-top: 110px
    }
    body.page-company #company .intro {
        margin-top: 90px
    }
    body.page-company #company .intro p {
        width: 800px;
        margin: -.4em auto;
        font-size: 1rem;
        line-height: 1.8
    }
    body.page-company #company nav {
        margin-top: 85px
    }
    body.page-company #company nav .container {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        width: 1100px;
        margin: 80px auto 0
    }
    body.page-company #company nav section {
        width: 415px;
        padding: 55px 52px 60px 53px
    }
    body.page-company #company nav section:nth-child(n+3) {
        margin-top: 66px
    }
    body.page-company #company nav section h3 {
        font-size: 1.125rem
    }
    body.page-company #company nav section figure {
        margin-top: 35px
    }
    body.page-company #company nav section .detail {
        margin-top: 50px;
        padding: 0 90px
    }
    body.page-company #company nav section .detail .button {
        padding: 23px 0;
        font-size: .875rem
    }
}

@media only screen and (max-width:767px) {
    body.page-company main {
        margin-bottom: 75px
    }
    body.page-company #company,
    body.page-company #company .intro {
        margin-top: 55px
    }
    body.page-company #company .intro p {
        margin: 28.6px 0 -.4em;
        padding: 0 15px;
        font-size: 1rem;
        line-height: 1.8
    }
    body.page-company #company nav {
        margin-top: 55px
    }
    body.page-company #company nav .container {
        margin: 35px auto 0;
        padding: 0 15px
    }
    body.page-company #company nav section {
        padding: 35px 30px
    }
    body.page-company #company nav section:nth-child(n+2) {
        margin-top: 23px
    }
    body.page-company #company nav section h3 {
        font-size: 1rem;
        font-weight: 700
    }
    body.page-company #company nav section figure {
        margin-top: 25px
    }
    body.page-company #company nav section figure img {
        width: 100%;
        height: auto
    }
    body.page-company #company nav section .detail {
        margin-top: 25px;
        padding: 0 25px
    }
    body.page-company #company nav section .detail .button {
        padding: 23px 0;
        font-size: .875rem
    }
}

body.page-message #message .message p {
    letter-spacing: .05em;
    text-align: justify
}

body.page-message #message .message p b {
    color: #2a93cc;
    font-weight: 700
}

body.page-message #message .message figure figcaption {
    text-align: right;
    margin-right: -.1em;
    letter-spacing: .05em
}

body.page-message #message .philosophy {
    background-color: #2a93cc;
    color: #fff
}

body.page-message #message .philosophy .copy,
body.page-message #message .philosophy h3 {
    font-weight: 700;
    text-align: center;
    letter-spacing: .15em
}

body.page-message #message .philosophy p {
    text-align: center;
    letter-spacing: .05em
}

body.page-message #message .back-to-list .button {
    margin: 0 27px;
    background-color: #000;
    color: #fff;
    letter-spacing: .1em
}

body.page-message #message .back-to-list .button:before {
    left: -27px;
    border-top-width: 15.58846px;
    border-right-width: 27px;
    border-right-color: #000
}

body.page-message #message .back-to-list .button:after {
    right: -27px;
    border-bottom-width: 15.58846px;
    border-left-width: 27px;
    border-left-color: #000
}

body.page-message #message .back-to-list .button span:before {
    right: -49px;
    width: 44px;
    border-top: 1px solid
}

@media only screen and (min-width:768px) {
    body.page-message #message .back-to-list .button,
    body.page-message #message .back-to-list .button:after,
    body.page-message #message .back-to-list .button:before,
    body.page-message #message .back-to-list .button span:before {
        transition: .3s
    }
    body.page-message #message .back-to-list .button:hover {
        background-color: #2a93cc;
        color: #fff
    }
    body.page-message #message .back-to-list .button:hover:before {
        border-right-color: #2a93cc
    }
    body.page-message #message .back-to-list .button:hover:after {
        border-left-color: #2a93cc
    }
    body.page-message #message .back-to-list .button:hover span:before {
        right: -59px
    }
}

body.page-message #message .back-to-list .button span:before {
    border-top-color: #2a93cc
}

@media only screen and (min-width:768px) {
    body.page-message main {
        padding-bottom: 260px
    }
    body.page-message #message {
        margin-top: 110px
    }
    body.page-message #message .message {
        margin-top: 85px
    }
    body.page-message #message .message p {
        width: 800px;
        margin: -.4em auto;
        font-size: 1rem;
        line-height: 1.8
    }
    body.page-message #message .message p+p {
        margin-top: 2.875em
    }
    body.page-message #message .message figure {
        width: 800px;
        margin: 100px auto 0
    }
    body.page-message #message .message figure figcaption {
        font-size: .875rem;
        line-height: 1.5;
        margin-top: 1em
    }
    body.page-message #message .philosophy {
        width: 1100px;
        margin: 110px auto 0;
        padding: 55px 0 85px
    }
    body.page-message #message .philosophy h3 {
        font-size: 1.25rem
    }
    body.page-message #message .philosophy .copy {
        margin-top: 65px;
        font-size: 1.5rem
    }
    body.page-message #message .philosophy p {
        margin-top: 60px;
        font-size: 1.25rem
    }
    body.page-message #message .philosophy dl {
        display: flex;
        flex-wrap: wrap;
        margin: 60px 230px 0
    }
    body.page-message #message .philosophy dl dt {
        box-sizing: border-box;
        width: 150px;
        border-right: 1px solid #fff;
        white-space: nowrap
    }
    body.page-message #message .philosophy dl dt:nth-of-type(n+2) {
        padding-top: 24px
    }
    body.page-message #message .philosophy dl dd {
        width: 430px;
        padding-left: 60px;
        white-space: nowrap
    }
    body.page-message #message .philosophy dl dd:nth-of-type(n+2) {
        padding-top: 24px
    }
    body.page-message #message .back-to-list {
        margin-top: 120px;
        text-align: center
    }
    body.page-message #message .back-to-list .button {
        display: inline-block;
        width: 285px;
        padding: 32px 0;
        font-size: 1rem
    }
}

@media only screen and (max-width:767px) {
    body.page-message main {
        margin-bottom: 75px
    }
    body.page-message #message,
    body.page-message #message .message {
        margin-top: 55px
    }
    body.page-message #message .message p {
        margin: 28.6px 0 -.4em;
        padding: 0 15px;
        font-size: 1rem;
        line-height: 1.8
    }
    body.page-message #message .message p+p {
        margin-top: 2.05em
    }
    body.page-message #message .message figure {
        margin-top: 50px;
        padding: 0 15px
    }
    body.page-message #message .message figure img {
        width: 100%;
        height: auto
    }
    body.page-message #message .message figure figcaption {
        font-size: .875rem;
        line-height: 1.5;
        margin-top: 1em
    }
    body.page-message #message .philosophy {
        margin: 55px 15px 0;
        padding: 25px 15px 35px
    }
    body.page-message #message .philosophy h3 {
        font-size: 1.25rem
    }
    body.page-message #message .philosophy .copy {
        margin-top: 35px;
        font-size: 1.5rem;
        line-height: 1.2
    }
    body.page-message #message .philosophy p {
        margin-top: 30px;
        font-size: 1.25rem;
        line-height: 1.2
    }
    body.page-message #message .philosophy dl {
        margin-top: 30px
    }
    body.page-message #message .philosophy dl dt {
        overflow: hidden;
        white-space: nowrap
    }
    body.page-message #message .philosophy dl dt:after {
        content: "";
        display: inline-block;
        width: 100%;
        margin-left: 10px;
        border-top: 1px solid #fff;
        vertical-align: middle;
        -webkit-transform: translateY(-2px);
        transform: translateY(-2px)
    }
    body.page-message #message .philosophy dl dd {
        margin: .4em 0 -.4em;
        padding-bottom: 2.4em;
        line-height: 1.8
    }
    body.page-message #message .back-to-list {
        margin-top: 55px;
        padding: 0 15px
    }
    body.page-message #message .back-to-list .button {
        padding: 23px 0;
        font-size: 1rem
    }
}

body.page-profile #profile table th {
    text-align: left;
    letter-spacing: .05em
}

body.page-profile #profile table td {
    letter-spacing: .05em
}

body.page-profile #profile table td a {
    /*color: #000;*/
    text-decoration: underline
}

body.page-profile #profile .back-to-list .button {
    margin: 0 27px;
    background-color: #000;
    color: #fff;
    letter-spacing: .1em
}

body.page-profile #profile .back-to-list .button:before {
    left: -27px;
    border-top-width: 15.58846px;
    border-right-width: 27px;
    border-right-color: #000
}

body.page-profile #profile .back-to-list .button:after {
    right: -27px;
    border-bottom-width: 15.58846px;
    border-left-width: 27px;
    border-left-color: #000
}

body.page-profile #profile .back-to-list .button span:before {
    right: -49px;
    width: 44px;
    border-top: 1px solid
}

@media only screen and (min-width:768px) {
    body.page-profile #profile .back-to-list .button,
    body.page-profile #profile .back-to-list .button:after,
    body.page-profile #profile .back-to-list .button:before,
    body.page-profile #profile .back-to-list .button span:before {
        transition: .3s
    }
    body.page-profile #profile .back-to-list .button:hover {
        background-color: #2a93cc;
        color: #fff
    }
    body.page-profile #profile .back-to-list .button:hover:before {
        border-right-color: #2a93cc
    }
    body.page-profile #profile .back-to-list .button:hover:after {
        border-left-color: #2a93cc
    }
    body.page-profile #profile .back-to-list .button:hover span:before {
        right: -59px
    }
}

body.page-profile #profile .back-to-list .button span:before {
    border-top-color: #2a93cc
}

@media only screen and (min-width:768px) {
    body.page-profile main {
        padding-bottom: 260px
    }
    body.page-profile #profile {
        margin-top: 110px
    }
    body.page-profile #profile table {
        width: 800px;
        margin: 120px auto 0
    }
    body.page-profile #profile table th {
        padding-right: 1em;
        font-size: 1rem;
        line-height: 1.6;
        white-space: nowrap
    }
    body.page-profile #profile table th.division {
        padding: 0 3em 0 0
    }
    body.page-profile #profile table tr:nth-child(n+2) th:not(.division),
    body.page-profile #profile table tr:nth-child(n+2) th:not(.division)~* {
        padding-top: 1.6em
    }
    body.page-profile #profile table td {
        width: 100%;
        font-size: 1rem;
        line-height: 1.6
    }
    body.page-profile #profile .back-to-list {
        margin-top: 160px;
        text-align: center
    }
    body.page-profile #profile .back-to-list .button {
        display: inline-block;
        width: 285px;
        padding: 32px 0;
        font-size: 1rem
    }
}

@media only screen and (max-width:767px) {
    body.page-profile main {
        margin-bottom: 75px
    }
    body.page-profile #profile {
        margin-top: 55px
    }
    body.page-profile #profile table {
        margin: 45px 15px 0
    }
    body.page-profile #profile table th {
        display: block;
        font-size: 1rem;
        line-height: 1.6
    }
    body.page-profile #profile table tr:nth-child(n+2) th:not(.division) {
        padding-top: 1.6em
    }
    body.page-profile #profile table td {
        display: block;
        font-size: 1rem;
        line-height: 1.6
    }
    body.page-profile #profile .back-to-list {
        margin-top: 55px;
        padding: 0 15px
    }
    body.page-profile #profile .back-to-list .button {
        padding: 23px 0;
        font-size: 1rem
    }
}

body.page-executive #profile table th {
    text-align: left;
    letter-spacing: .05em
}

body.page-executive #profile table td {
    letter-spacing: .05em
}

body.page-executive #profile table td a {
    /*color: #000;*/
    text-decoration: underline
}

body.page-executive #profile .back-to-list .button {
    margin: 0 27px;
    background-color: #000;
    color: #fff;
    letter-spacing: .1em
}

body.page-executive #profile .back-to-list .button:before {
    left: -27px;
    border-top-width: 15.58846px;
    border-right-width: 27px;
    border-right-color: #000
}

body.page-executive #profile .back-to-list .button:after {
    right: -27px;
    border-bottom-width: 15.58846px;
    border-left-width: 27px;
    border-left-color: #000
}

body.page-executive #profile .back-to-list .button span:before {
    right: -49px;
    width: 44px;
    border-top: 1px solid
}

@media only screen and (min-width:768px) {
    body.page-executive #profile .back-to-list .button,
    body.page-executive #profile .back-to-list .button:after,
    body.page-executive #profile .back-to-list .button:before,
    body.page-executive #profile .back-to-list .button span:before {
        transition: .3s
    }
    body.page-executive #profile .back-to-list .button:hover {
        background-color: #2a93cc;
        color: #fff
    }
    body.page-executive #profile .back-to-list .button:hover:before {
        border-right-color: #2a93cc
    }
    body.page-executive #profile .back-to-list .button:hover:after {
        border-left-color: #2a93cc
    }
    body.page-executive #profile .back-to-list .button:hover span:before {
        right: -59px
    }
}

body.page-executive #profile .back-to-list .button span:before {
    border-top-color: #2a93cc
}

@media only screen and (min-width:768px) {
    body.page-executive main {
        padding-bottom: 260px
    }
    body.page-executive #profile {
        margin-top: 110px
    }
    body.page-executive #profile table {
        width: 800px;
        margin: 120px auto 0
    }
    body.page-executive #profile table th {
        padding-right: 1em;
        font-size: 1rem;
        line-height: 1.6;
        white-space: nowrap
    }
    body.page-executive #profile table th.division {
        padding: 0 3em 0 0
    }
    body.page-executive #profile table tr:nth-child(n+2) th:not(.division),
    body.page-executive #profile table tr:nth-child(n+2) th:not(.division)~* {
        padding-top: 1.6em
    }
    body.page-executive #profile table td {
        width: 100%;
        font-size: 1rem;
        line-height: 1.6
    }
    body.page-executive #profile .back-to-list {
        margin-top: 160px;
        text-align: center
    }
    body.page-executive #profile .back-to-list .button {
        display: inline-block;
        width: 285px;
        padding: 32px 0;
        font-size: 1rem
    }
}

@media only screen and (max-width:767px) {
    body.page-executive main {
        margin-bottom: 75px
    }
    body.page-executive #profile {
        margin-top: 55px
    }
    body.page-executive #profile table {
        margin: 45px 15px 0
    }
    body.page-executive #profile table th {
        display: block;
        font-size: 1rem;
        line-height: 1.6
    }
    body.page-executive #profile table tr:nth-child(n+2) th:not(.division) {
        padding-top: 1.6em
    }
    body.page-executive #profile table td {
        display: block;
        font-size: 1rem;
        line-height: 1.6
    }
    body.page-executive #profile .back-to-list {
        margin-top: 55px;
        padding: 0 15px
    }
    body.page-executive #profile .back-to-list .button {
        padding: 23px 0;
        font-size: 1rem
    }
}

body.page-csr #csr table th {
    text-align: left;
    letter-spacing: .05em
}

body.page-csr #csr table td {
    letter-spacing: .05em
}

body.page-csr #csr table td a {
    color: #000;
    text-decoration: underline
}

body.page-csr #csr .back-to-list .button {
    margin: 0 27px;
    background-color: #000;
    color: #fff;
    letter-spacing: .1em
}

body.page-csr #csr .back-to-list .button:before {
    left: -27px;
    border-top-width: 15.58846px;
    border-right-width: 27px;
    border-right-color: #000
}

body.page-csr #csr .back-to-list .button:after {
    right: -27px;
    border-bottom-width: 15.58846px;
    border-left-width: 27px;
    border-left-color: #000
}

body.page-csr #csr .back-to-list .button span:before {
    right: -49px;
    width: 44px;
    border-top: 1px solid
}

@media only screen and (min-width:768px) {
    body.page-csr #csr .back-to-list .button,
    body.page-csr #csr .back-to-list .button:after,
    body.page-csr #csr .back-to-list .button:before,
    body.page-csr #csr .back-to-list .button span:before {
        transition: .3s
    }
    body.page-csr #csr .back-to-list .button:hover {
        background-color: #2a93cc;
        color: #fff
    }
    body.page-csr #csr .back-to-list .button:hover:before {
        border-right-color: #2a93cc
    }
    body.page-csr #csr .back-to-list .button:hover:after {
        border-left-color: #2a93cc
    }
    body.page-csr #csr .back-to-list .button:hover span:before {
        right: -59px
    }

    
    body.page-csr #csr .intro {
        margin-top: 140px
    }
    body.page-csr #csr .intro h3 {
        font-size: 1.5rem
    }
    body.page-csr #csr .intro .copy {
        margin-top: 70px;
        font-size: 1.25rem
    }
    body.page-csr #csr .intro p {
        width: 800px;
        margin: 43.6px auto -.4em;
        font-size: 1rem;
        line-height: 1.8
    }
}

body.page-csr #csr .back-to-list .button span:before {
    border-top-color: #2a93cc
}

@media only screen and (min-width:768px) {
    body.page-csr main {
        padding-bottom: 260px
    }
    body.page-csr #csr {
        margin-top: 110px
    }
    body.page-csr #csr table {
        width: 800px;
        margin: 120px auto 0
    }
    body.page-csr #csr table th {
        padding-right: 1em;
        font-size: 1rem;
        line-height: 1.6;
        white-space: nowrap
    }
    body.page-csr #csr table th.division {
        padding: 0 3em 0 0
    }
    body.page-csr #csr table tr:nth-child(n+2) th:not(.division),
    body.page-csr #csr table tr:nth-child(n+2) th:not(.division)~* {
        padding-top: 1.6em
    }
    body.page-csr #csr table td {
        width: 100%;
        font-size: 1rem;
        line-height: 1.6
    }
    body.page-csr #csr .back-to-list {
        margin-top: 160px;
        text-align: center
    }
    body.page-csr #csr .back-to-list .button {
        display: inline-block;
        width: 285px;
        padding: 32px 0;
        font-size: 1rem
    }
}

@media only screen and (max-width:767px) {
    body.page-csr main {
        margin-bottom: 75px
    }
    body.page-csr #csr {
        margin-top: 55px
    }
    body.page-csr #csr table {
        margin: 45px 15px 0
    }
    body.page-csr #csr table th {
        display: block;
        font-size: 1rem;
        line-height: 1.6
    }
    body.page-csr #csr table tr:nth-child(n+2) th:not(.division) {
        padding-top: 1.6em
    }
    body.page-csr #csr table td {
        display: block;
        font-size: 1rem;
        line-height: 1.6
    }
    body.page-csr #csr .back-to-list {
        margin-top: 55px;
        padding: 0 15px
    }
    body.page-csr #csr .back-to-list .button {
        padding: 23px 0;
        font-size: 1rem
    }
}

body.page-csr #csr .intro h3 {
    color: #2a93cc
}

body.page-csr #csr .intro .copy,
body.page-csr #csr .intro h3 {
    font-weight: 700;
    text-align: center;
    letter-spacing: .15em
}

body.page-history #history table th {
    text-align: left;
    letter-spacing: .05em
}

body.page-history #history table td {
    letter-spacing: .05em
}

body.page-history #history table td a {
    text-decoration: underline
}

body.page-history #history .back-to-list .button {
    margin: 0 27px;
    background-color: #000;
    color: #fff;
    letter-spacing: .1em
}

body.page-history #history .back-to-list .button:before {
    left: -27px;
    border-top-width: 15.58846px;
    border-right-width: 27px;
    border-right-color: #000
}

body.page-history #history .back-to-list .button:after {
    right: -27px;
    border-bottom-width: 15.58846px;
    border-left-width: 27px;
    border-left-color: #000
}

body.page-history #history .back-to-list .button span:before {
    right: -49px;
    width: 44px;
    border-top: 1px solid
}

@media only screen and (min-width:768px) {
    body.page-history #history .back-to-list .button,
    body.page-history #history .back-to-list .button:after,
    body.page-history #history .back-to-list .button:before,
    body.page-history #history .back-to-list .button span:before {
        transition: .3s
    }
    body.page-history #history .back-to-list .button:hover {
        background-color: #2a93cc;
        color: #fff
    }
    body.page-history #history .back-to-list .button:hover:before {
        border-right-color: #2a93cc
    }
    body.page-history #history .back-to-list .button:hover:after {
        border-left-color: #2a93cc
    }
    body.page-history #history .back-to-list .button:hover span:before {
        right: -59px
    }
}

body.page-history #history .back-to-list .button span:before {
    border-top-color: #2a93cc
}

@media only screen and (min-width:768px) {
    body.page-history main {
        padding-bottom: 260px
    }
    body.page-history #history {
        margin-top: 110px
    }
    body.page-history #history table {
        width: 800px;
        margin: 120px auto 0
    }
    body.page-history #history table th {
        padding-right: .5em;
        font-size: 1rem;
        line-height: 1.6;
        white-space: nowrap
    }
    body.page-history #history table th.month {
        text-align: right;
        padding-right: 4em
    }
    body.page-history #history table tr:nth-child(n+2)>* {
        padding-top: 1.6em
    }
    body.page-history #history table td {
        width: 100%;
        font-size: 1rem;
        line-height: 1.6
    }
    body.page-history #history .back-to-list {
        margin-top: 130px;
        text-align: center
    }
    body.page-history #history .back-to-list .button {
        display: inline-block;
        width: 285px;
        padding: 32px 0;
        font-size: 1rem
    }
}

@media only screen and (max-width:767px) {
    body.page-history main {
        margin-bottom: 75px
    }
    body.page-history #history {
        margin-top: 55px
    }
    body.page-history #history table {
        margin: 45px 15px 0
    }
    body.page-history #history table th {
        display: inline-block;
        font-size: 1rem;
        line-height: 1.6
    }
    body.page-history #history table tr:nth-child(n+2) th {
        padding-top: 1.6em
    }
    body.page-history #history table td {
        display: block;
        font-size: 1rem;
        line-height: 1.6
    }
    body.page-history #history .back-to-list {
        margin-top: 55px;
        padding: 0 15px
    }
    body.page-history #history .back-to-list .button {
        padding: 23px 0;
        font-size: 1rem
    }
}

body.page-asset #asset .intro p,
body.page-asset #asset dl dd,
body.page-asset #asset dl dt {
    letter-spacing: .05em
}

body.page-asset #asset .back-to-list .button {
    margin: 0 27px;
    background-color: #000;
    color: #fff;
    letter-spacing: .1em
}

body.page-asset #asset .back-to-list .button:before {
    left: -27px;
    border-top-width: 15.58846px;
    border-right-width: 27px;
    border-right-color: #000
}

body.page-asset #asset .back-to-list .button:after {
    right: -27px;
    border-bottom-width: 15.58846px;
    border-left-width: 27px;
    border-left-color: #000
}

body.page-asset #asset .back-to-list .button span:before {
    right: -49px;
    width: 44px;
    border-top: 1px solid
}

@media only screen and (min-width:768px) {
    body.page-asset #asset .back-to-list .button,
    body.page-asset #asset .back-to-list .button:after,
    body.page-asset #asset .back-to-list .button:before,
    body.page-asset #asset .back-to-list .button span:before {
        transition: .3s
    }
    body.page-asset #asset .back-to-list .button:hover {
        background-color: #2a93cc;
        color: #fff
    }
    body.page-asset #asset .back-to-list .button:hover:before {
        border-right-color: #2a93cc
    }
    body.page-asset #asset .back-to-list .button:hover:after {
        border-left-color: #2a93cc
    }
    body.page-asset #asset .back-to-list .button:hover span:before {
        right: -59px
    }
}

body.page-asset #asset .back-to-list .button span:before {
    border-top-color: #2a93cc
}

@media only screen and (min-width:768px) {
    body.page-asset main {
        padding-bottom: 260px
    }
    body.page-asset #asset {
        margin-top: 110px
    }
    body.page-asset #asset .intro {
        width: 800px;
        margin: 120px auto 0
    }
    body.page-asset #asset .intro p {
        margin: -.4em 0;
        font-size: 1rem;
        line-height: 1.8
    }
    body.page-asset #asset .intro p+p {
        margin-top: 2.275em
    }
    body.page-asset #asset dl {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        width: 800px;
        margin: 85px auto 0
    }
    body.page-asset #asset dl dt {
        width: 80px;
        font-size: 1rem;
        white-space: nowrap
    }
    body.page-asset #asset dl dd:first-of-type~* {
        padding-top: 1.85em
    }
    body.page-asset #asset dl dd {
        width: 720px;
        font-size: 1rem;
        line-height: 1.8
    }
    body.page-asset #asset .back-to-list {
        margin-top: 90px;
        text-align: center
    }
    body.page-asset #asset .back-to-list .button {
        display: inline-block;
        width: 285px;
        padding: 32px 0;
        font-size: 1rem
    }
}

@media only screen and (max-width:767px) {
    body.page-asset main {
        margin-bottom: 75px
    }
    body.page-asset #asset,
    body.page-asset #asset .intro {
        margin-top: 55px
    }
    body.page-asset #asset .intro p {
        margin: 28.6px 0 -.4em;
        padding: 0 15px;
        font-size: 1rem;
        line-height: 1.8
    }
    body.page-asset #asset .intro p+p {
        margin-top: 2.05em
    }
    body.page-asset #asset dl {
        margin-top: 45px;
        padding: 0 15px
    }
    body.page-asset #asset dl dt {
        font-size: 1rem;
        line-height: 1.8
    }
    body.page-asset #asset dl dd:first-of-type~dt {
        padding-top: 1.85em
    }
    body.page-asset #asset dl dd {
        font-size: 1rem;
        line-height: 1.8
    }
    body.page-asset #asset dl dd span {
        display: inline-block
    }
    body.page-asset #asset .back-to-list {
        margin-top: 55px;
        padding: 0 15px
    }
    body.page-asset #asset .back-to-list .button {
        padding: 23px 0;
        font-size: 1rem
    }
}

body.page-access #access section h3 {
    color: #2a93cc;
    font-size: 1rem;
    overflow: hidden;
    white-space: nowrap;
    line-height: 1.5;
    margin: -.25em 0
}

body.page-access #access section h3:after {
    content: "";
    display: inline-block;
    width: 100%;
    margin-left: 20px;
    border-top: 1px solid #2a93cc;
    vertical-align: middle
}

body.page-access #access section table th {
    text-align: left;
    letter-spacing: .05em
}

body.page-access #access section table td {
    letter-spacing: .05em
}

body.page-access #access section table td a {
    text-decoration: underline
}

@media only screen and (min-width:768px) {
    body.page-access #page-header h1:before {
        background-image: url(../img/access/kv-bg.jpg)
    }
    body.page-access #page-header h1:after {
        width: 304px;
        height: 75px;
        background-image: url(../img/access/kv-title.png)
    }
    body.page-access main {
        padding-bottom: 260px
    }
    body.page-access #access {
        margin-top: 110px
    }
    body.page-access #access section {
        width: 800px;
        margin: 108px auto 0;
        padding-top: 42px
    }
    body.page-access #access section:nth-of-type(n+2) {
        margin-top: 78px
    }
    body.page-access #access section table {
        margin-top: 35px
    }
    body.page-access #access section table th {
        padding-right: 6em;
        font-size: 1rem;
        line-height: 1.6;
        white-space: nowrap
    }
    body.page-access #access section table th.division {
        padding: 0 3em 0 0
    }
    body.page-access #access section table tr:nth-child(n+2) th:not(.division),
    body.page-access #access section table tr:nth-child(n+2) th:not(.division)~* {
        padding-top: 1.6em
    }
    body.page-access #access section table td {
        width: 100%;
        font-size: 1rem;
        line-height: 1.6
    }
    body.page-access #access section .map {
        height: 470px;
        margin-top: 65px
    }
    body.page-access #access section .phone {
        cursor: text
    }
    body.page-access #access section .phone a {
        pointer-events: none;
        color: #000;
        text-decoration: none
    }
}

@media only screen and (max-width:767px) {
    body.page-access #page-header h1:before {
        background-image: url(../img/access/kv-bg.jpg)
    }
    body.page-access #page-header h1:after {
        width: 152px;
        height: 37.5px;
        background-image: url(../img/access/kv-title.png);
        background-size: 152px 37.5px
    }
    body.page-access main {
        margin-bottom: 75px
    }
    body.page-access #access {
        margin-top: 55px
    }
    body.page-access #access section {
        margin-top: 20px;
        padding: 55px 15px 0
    }
    body.page-access #access section:nth-of-type(n+2) {
        margin-top: 20px
    }
    body.page-access #access section table {
        margin-top: 35px
    }
    body.page-access #access section table th {
        display: block;
        font-size: 1rem;
        line-height: 1.6
    }
    body.page-access #access section table tr:nth-child(n+2) th:not(.division) {
        padding-top: 1.6em
    }
    body.page-access #access section table td {
        display: block;
        font-size: 1rem;
        line-height: 1.6
    }
    body.page-access #access section .map {
        height: 470px;
        margin-top: 35px
    }
}

body.page-contact #contact form p {
    margin: -.4em 0;
    letter-spacing: .05em;
    line-height: 1.8
}

body.page-contact #contact form p+p {
    margin-top: .4em
}

body.page-contact #contact form ul li {
    letter-spacing: .05em
}

body.page-contact #contact form ul li:before {
    content: "\203B"
}

@media only screen and (min-width:768px) {
    body.page-contact #page-header h1:before {
        background-image: url(../img/contact/kv-bg.jpg)
    }
    body.page-contact #page-header h1:after {
        width: 356px;
        height: 78px;
        background-image: url(../img/contact/kv-title.png)
    }
    body.page-contact main {
        padding-bottom: 260px
    }
    body.page-contact #contact {
        margin-top: 110px
    }
    body.page-contact #contact form {
        width: 800px;
        margin: 90px auto 0
    }
    body.page-contact #contact form p {
        font-size: 1rem
    }
    body.page-contact #contact form ul {
        margin: 17px 0 -.25em
    }
    body.page-contact #contact form ul li {
        font-size: .75rem;
        line-height: 1.5
    }
    body.page-contact #contact form dl {
        margin-top: 60px
    }
    body.page-contact #contact form dl dt {
        width: 305px
    }
    body.page-contact #contact form dl [name=company],
    body.page-contact #contact form dl [name=email],
    body.page-contact #contact form dl [name=inquiry],
    body.page-contact #contact form dl [name=kana],
    body.page-contact #contact form dl [name=name] {
        width: 495px
    }
    body.page-contact #contact .complete {
        width: 800px;
        margin: 90px auto 0
    }
}

@media only screen and (max-width:767px) {
    body.page-contact #page-header h1:before {
        background-image: url(../img/contact/kv-bg.jpg)
    }
    body.page-contact #page-header h1:after {
        width: 178px;
        height: 39px;
        background-image: url(../img/contact/kv-title.png);
        background-size: 178px 39px
    }
    body.page-contact main {
        margin-bottom: 75px
    }
    body.page-contact #contact,
    body.page-contact #contact form {
        margin-top: 55px
    }
    body.page-contact #contact form p {
        font-size: 1rem;
        line-height: 1.5
    }
    body.page-contact #contact form ul {
        margin: 17px 0 -.25em
    }
    body.page-contact #contact form ul li {
        position: relative;
        padding-left: 1.25em;
        font-size: .75rem;
        line-height: 1.25
    }
    body.page-contact #contact form ul li:nth-child(n+2) {
        margin-top: .5em
    }
    body.page-contact #contact form ul li:before {
        position: absolute;
        left: 0
    }
    body.page-contact #contact form dl {
        margin-top: 30px
    }
    body.page-contact #contact form dl [name=company],
    body.page-contact #contact form dl [name=email],
    body.page-contact #contact form dl [name=inquiry],
    body.page-contact #contact form dl [name=kana],
    body.page-contact #contact form dl [name=name] {
        width: 100%
    }
    body.page-contact #contact form dl [name=category]~.customSelect {
        display: block !important
    }
    body.page-contact #contact .complete {
        margin-top: 55px;
        padding: 0 15px
    }
}

body.page-privacy #privacy h2 {
    color: #2a93cc;
    font-weight: 700;
    text-align: center;
    letter-spacing: .15em
}

body.page-privacy #privacy p {
    text-align: justify;
    letter-spacing: .05em
}

body.page-privacy #privacy .signature {
    text-align: right;
    letter-spacing: .05em;
    -webkit-transform: translateX(.08em);
    transform: translateX(.08em)
}

@media only screen and (min-width:768px) {
    body.page-privacy main {
        padding-bottom: 260px
    }
    body.page-privacy #privacy {
        margin-top: 110px
    }
    body.page-privacy #privacy h2 {
        font-size: 1.5rem
    }
    body.page-privacy #privacy p {
        width: 800px;
        margin: 79.4px auto -.4em;
        font-size: .875rem;
        line-height: 1.8
    }
    body.page-privacy #privacy .signature {
        width: 800px;
        margin: 59.4px auto -.4em;
        font-size: .875rem;
        line-height: 1.8
    }
}

@media only screen and (max-width:767px) {
    body.page-privacy main {
        margin-bottom: 75px
    }
    body.page-privacy #privacy {
        margin-top: 55px;
        padding: 0 15px
    }
    body.page-privacy #privacy h2 {
        font-size: 1.5rem
    }
    body.page-privacy #privacy p {
        margin: 39.4px auto -.4em;
        font-size: .875rem;
        line-height: 1.8
    }
    body.page-privacy #privacy .signature {
        margin: 29.4px auto -.4em;
        font-size: .875rem;
        line-height: 1.8
    }
}

body.page-terms #terms h2 {
    color: #2a93cc
}

body.page-terms #terms .rules h3,
body.page-terms #terms h2 {
    font-weight: 700;
    text-align: center;
    letter-spacing: .15em
}

body.page-terms #terms .rules p {
    text-align: justify;
    letter-spacing: .05em
}

body.page-terms #terms .rules dl dt {
    font-weight: 700
}

body.page-terms #terms .rules dl dd {
    text-align: justify
}

@media only screen and (min-width:768px) {
    body.page-terms main {
        padding-bottom: 260px
    }
    body.page-terms #terms {
        margin-top: 110px
    }
    body.page-terms #terms h2 {
        font-size: 1.5rem
    }
    body.page-terms #terms .rules {
        width: 800px;
        margin: 70px auto 0
    }
    body.page-terms #terms .rules h3 {
        font-size: 1.25rem
    }
    body.page-terms #terms .rules p {
        margin: 44.4px 0 -.4em;
        font-size: .875rem;
        line-height: 1.8
    }
    body.page-terms #terms .rules dl {
        margin-top: 35px
    }
    body.page-terms #terms .rules dl dt {
        font-size: .875rem;
        line-height: 1.8
    }
    body.page-terms #terms .rules dl dd+dt {
        margin-top: 35px
    }
    body.page-terms #terms .rules dl dd {
        font-size: .875rem;
        line-height: 1.8
    }
}

@media only screen and (max-width:767px) {
    body.page-terms main {
        margin-bottom: 75px
    }
    body.page-terms #terms {
        margin-top: 55px;
        padding: 0 15px
    }
    body.page-terms #terms h2 {
        font-size: 1.5rem
    }
    body.page-terms #terms .rules {
        margin-top: 35px
    }
    body.page-terms #terms .rules h3 {
        margin: -.25em 0;
        font-size: 1.25rem;
        line-height: 1.5
    }
    body.page-terms #terms .rules h3 span {
        display: inline-block
    }
    body.page-terms #terms .rules p {
        margin: 24.4px 0 -.4em;
        font-size: .875rem;
        line-height: 1.8
    }
    body.page-terms #terms .rules dl {
        margin-top: 30px
    }
    body.page-terms #terms .rules dl dt {
        font-size: .875rem;
        line-height: 1.8
    }
    body.page-terms #terms .rules dl dd+dt {
        margin-top: 30px
    }
    body.page-terms #terms .rules dl dd {
        font-size: .875rem;
        line-height: 1.8
    }
}

body.post-type-information #information .information .information-container {
    position: relative;
    border: 1px solid #d9d9d9;
    background-color: #fff
}

body.post-type-information #information .information .information-container>figure img {
    vertical-align: top
}

body.post-type-information #information .information .information-container>span {
    display: inline-block;
    background-color: #2a93cc;
    color: #fff;
    letter-spacing: .1em;
    text-align: center
}

body.post-type-information #information .information .information-container>time {
    color: #696969;
    font-style: italic
}

@media only screen and (min-width:768px) {
    body.post-type-information main {
        padding-bottom: 260px
    }
    body.post-type-information #information {
        margin-top: 110px
    }
    body.post-type-information #information .container {
        width: 1100px;
        margin: 135px auto 0
    }
    body.post-type-information #information .information {
        margin: -42px;
        padding: 42px
    }
    body.post-type-information #information .information:nth-child(n+2) {
        margin-top: 8px
    }
    body.post-type-information #information .information .information-container {
        display: flex;
        align-items: center
    }
    body.post-type-information #information .information .information-container>figure {
        margin: -1px 0 -1px -1px
    }
    body.post-type-information #information .information .information-container>span {
        width: 85px;
        margin: 0 33px 0 43px;
        padding: 8px 0 8px .1em;
        font-size: .875rem
    }
    body.post-type-information #information .information .information-container>.text {
        flex: 1;
        font-size: .875rem;
        line-height: 1.8
    }
    body.post-type-information #information .information .information-container>time {
        position: absolute;
        right: 10px;
        bottom: 10px;
        font-size: .75rem
    }
}

@media only screen and (max-width:767px) {
    body.post-type-information main {
        margin-bottom: 75px
    }
    body.post-type-information #information {
        margin-top: 55px
    }
    body.post-type-information #information .container {
        margin-top: 65px;
        padding: 0 15px
    }
    body.post-type-information #information .information {
        margin-top: -55px;
        padding-top: 55px
    }
    body.post-type-information #information .information:nth-child(n+2) {
        margin-top: -35px
    }
    body.post-type-information #information .information .information-container {
        padding: 15px
    }
    body.post-type-information #information .information .information-container>figure {
        margin: -15px -15px 0
    }
    body.post-type-information #information .information .information-container>figure img {
        width: 100%;
        height: auto
    }
    body.post-type-information #information .information .information-container>span {
        width: 85px;
        margin-top: 15px;
        padding: 8px 0 8px .1em;
        font-size: .875rem
    }
    body.post-type-information #information .information .information-container>.text {
        margin: 9.4px 0 -.4em;
        font-size: .875rem;
        line-height: 1.8
    }
    body.post-type-information #information .information .information-container>time {
        display: block;
        margin-top: 25px;
        font-size: .75rem;
        text-align: right
    }
}

@media only screen and (min-width:768px) {
    body.lang-en #site-header .global ul {
        justify-content: center
    }
    body.lang-en #site-header .global ul li {
        flex: 0 1 auto;
        width: 160px
    }
}

@media only screen and (min-width:768px) {
    body.lang-en #site-footer .sitemap ul {
        width: 550px
    }
}

body.page-english #main-visual {
    background-color: #2a93cc;
    text-align: center
}

body.page-english #main-visual img {
    vertical-align: top;
    object-fit: cover
}

body.page-english #site-contents section {
    position: relative;
    background-color: #2a93cc;
    color: #fff
}

body.page-english #site-contents section h3 {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    display: block;
    color: #000;
    font-family: Open Sans, sans-serif;
    font-weight: 700;
    font-style: italic;
    text-align: center;
    letter-spacing: .05em;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

body.page-english #site-contents section p {
    text-align: justify
}

body.page-english #site-contents section .read-more .button {
    margin: 0 20px;
    background-color: #000;
    color: #fff;
    font-family: Open Sans, sans-serif;
    font-weight: 600;
    font-style: italic;
    letter-spacing: .1em
}

body.page-english #site-contents section .read-more .button:before {
    left: -20px;
    border-top-width: 11.54701px;
    border-right-width: 20px;
    border-right-color: #000
}

body.page-english #site-contents section .read-more .button:after {
    right: -20px;
    border-bottom-width: 11.54701px;
    border-left-width: 20px;
    border-left-color: #000
}

body.page-english #site-contents section .read-more .button span:before {
    right: -37px;
    width: 34px;
    border-top: 1px solid
}

@media only screen and (min-width:768px) {
    body.page-english #site-contents section .read-more .button,
    body.page-english #site-contents section .read-more .button:after,
    body.page-english #site-contents section .read-more .button:before,
    body.page-english #site-contents section .read-more .button span:before {
        transition: .3s
    }
    body.page-english #site-contents section .read-more .button:hover {
        background-color: #fff;
        color: #2a93cc
    }
    body.page-english #site-contents section .read-more .button:hover:before {
        border-right-color: #fff
    }
    body.page-english #site-contents section .read-more .button:hover:after {
        border-left-color: #fff
    }
    body.page-english #site-contents section .read-more .button:hover span:before {
        right: -47px
    }
}

body.page-english #site-contents section .read-more .button span:before {
    border-top-color: #fff
}

@media only screen and (min-width:768px) {
    body.page-english .carousel {
        margin-top: 40px
    }
    body.page-english .carousel .slide {
        padding: 0 20px
    }
    body.page-english .carousel .slick-list {
        overflow: visible
    }
    body.page-english .carousel a img {
        transition: .3s
    }
    body.page-english .carousel a:hover img {
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }
    body.page-english main {
        padding-bottom: 155px
    }
    body.page-english #site-contents {
        margin-top: 180px
    }
    body.page-english #site-contents .container {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        width: 1100px;
        margin: 130px auto 0
    }
    body.page-english #site-contents section {
        width: 415px;
        padding: 60px 52px 135px 53px
    }
    body.page-english #site-contents section h3 {
        font-size: 2.5rem
    }
    body.page-english #site-contents section p {
        margin: 19.4px 0 -.4em;
        font-size: .875rem;
        line-height: 1.8
    }
    body.page-english #site-contents section .read-more {
        position: absolute;
        left: 145px;
        right: 145px;
        bottom: 40px
    }
    body.page-english #site-contents section .read-more .button {
        padding: 23px 0;
        font-size: .875rem
    }
}

@media only screen and (max-width:767px) {
    body.page-english #main-visual img {
        width: 100%;
        height: auto
    }
    body.page-english .carousel {
        margin-top: 10px
    }
    body.page-english .carousel .slide {
        padding: 0 10px
    }
    body.page-english .carousel .slide img {
        width: 135px;
        height: 135px
    }
    body.page-english main {
        margin-bottom: 80px
    }
    body.page-english #site-contents {
        margin-top: 65px
    }
    body.page-english #site-contents .container {
        margin-top: 60px;
        padding: 0 15px
    }
    body.page-english #site-contents section {
        padding: 45px 30px 40px
    }
    body.page-english #site-contents section:nth-child(n+2) {
        margin-top: 45px
    }
    body.page-english #site-contents section h3 {
        font-size: 1.875rem
    }
    body.page-english #site-contents section figure img {
        width: 100%;
        height: auto
    }
    body.page-english #site-contents section p {
        margin: 19.4px 0 -.4em;
        font-size: .875rem;
        line-height: 1.8
    }
    body.page-english #site-contents section .read-more {
        margin-top: 40px;
        padding: 0 30px
    }
    body.page-english #site-contents section .read-more .button {
        padding: 23px 0;
        font-size: .875rem
    }
}

@media only screen and (min-width:768px) {
    body.child-of-business #page-header h1:before,
    body.page-business #page-header h1:before {
        background-image: url(../img/english/business/kv-bg.jpg)
    }
    body.child-of-business #page-header h1:after,
    body.page-business #page-header h1:after {
        width: 398px;
        height: 76px;
        background-image: url(../img/english/business/kv-title.png)
    }
}

@media only screen and (max-width:767px) {
    body.child-of-business #page-header h1:before,
    body.page-business #page-header h1:before {
        background-image: url(../img/english/business/kv-bg.jpg)
    }
    body.child-of-business #page-header h1:after,
    body.page-business #page-header h1:after {
        width: 199px;
        height: 38px;
        background-image: url(../img/english/business/kv-title.png);
        background-size: 199px 38px
    }
}

body.page-business #business .intro p {
    text-align: justify
}

body.page-business #business nav section {
    position: relative;
    background-color: #2a93cc;
    color: #fff
}

body.page-business #business nav section h3 {
    font-weight: 700;
    text-align: center;
    letter-spacing: .15em
}

body.page-business #business nav section p {
    text-align: center
}

body.page-business #business nav section .detail .button {
    margin: 0 20px;
    background-color: #000;
    color: #fff;
    font-family: Open Sans, sans-serif;
    font-weight: 600;
    font-style: italic;
    letter-spacing: .1em
}

body.page-business #business nav section .detail .button:before {
    left: -20px;
    border-top-width: 11.54701px;
    border-right-width: 20px;
    border-right-color: #000
}

body.page-business #business nav section .detail .button:after {
    right: -20px;
    border-bottom-width: 11.54701px;
    border-left-width: 20px;
    border-left-color: #000
}

body.page-business #business nav section .detail .button span:before {
    right: -37px;
    width: 34px;
    border-top: 1px solid
}

@media only screen and (min-width:768px) {
    body.page-business #business nav section .detail .button,
    body.page-business #business nav section .detail .button:after,
    body.page-business #business nav section .detail .button:before,
    body.page-business #business nav section .detail .button span:before {
        transition: .3s
    }
    body.page-business #business nav section .detail .button:hover {
        background-color: #fff;
        color: #2a93cc
    }
    body.page-business #business nav section .detail .button:hover:before {
        border-right-color: #fff
    }
    body.page-business #business nav section .detail .button:hover:after {
        border-left-color: #fff
    }
    body.page-business #business nav section .detail .button:hover span:before {
        right: -47px
    }
}

body.page-business #business nav section .detail .button span:before {
    border-top-color: #fff
}

@media only screen and (min-width:768px) {
    body.page-business main {
        padding-bottom: 260px
    }
    body.page-business #business {
        margin-top: 110px
    }
    body.page-business #business .intro {
        margin-top: 90px
    }
    body.page-business #business .intro p {
        width: 800px;
        margin: -.4em auto;
        font-size: 1rem;
        line-height: 1.8
    }
    body.page-business #business nav {
        margin-top: 85px
    }
    body.page-business #business nav .container {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        width: 1100px;
        margin: 80px auto 0
    }
    body.page-business #business nav section {
        width: 415px;
        padding: 55px 52px 60px 53px
    }
    body.page-business #business nav section:nth-child(n+3) {
        margin-top: 66px
    }
    body.page-business #business nav section h3 {
        font-size: 1.125rem
    }
    body.page-business #business nav section p {
        margin-top: 15px;
        font-size: .875rem
    }
    body.page-business #business nav section figure {
        margin-top: 30px
    }
    body.page-business #business nav section .detail {
        margin-top: 50px;
        padding: 0 90px
    }
    body.page-business #business nav section .detail .button {
        padding: 23px 0;
        font-size: .875rem
    }
}

@media only screen and (max-width:767px) {
    body.page-business main {
        margin-bottom: 75px
    }
    body.page-business #business,
    body.page-business #business .intro {
        margin-top: 55px
    }
    body.page-business #business .intro p {
        margin: 28.6px 0 -.4em;
        padding: 0 15px;
        font-size: 1rem;
        line-height: 1.8
    }
    body.page-business #business nav {
        margin-top: 55px
    }
    body.page-business #business nav .container {
        margin: 35px auto 0;
        padding: 0 15px
    }
    body.page-business #business nav section {
        padding: 35px 30px
    }
    body.page-business #business nav section:nth-child(n+2) {
        margin-top: 23px
    }
    body.page-business #business nav section h3 {
        font-size: 1rem;
        font-weight: 700
    }
    body.page-business #business nav section p {
        margin-top: 10px;
        font-size: .875rem
    }
    body.page-business #business nav section figure {
        margin-top: 25px
    }
    body.page-business #business nav section figure img {
        width: 100%;
        height: auto
    }
    body.page-business #business nav section .detail {
        margin-top: 25px;
        padding: 0 25px
    }
    body.page-business #business nav section .detail .button {
        padding: 23px 0;
        font-size: .875rem
    }
}

body.page-gaming.lang-en #gaming .development h3 {
    color: #2a93cc;
    font-weight: 700;
    text-align: center;
    letter-spacing: .15em
}

body.page-gaming.lang-en #gaming .development p {
    letter-spacing: .05em;
    text-align: justify
}

body.page-gaming.lang-en #gaming .sample ul li:before {
    width: 5px;
    height: 1px;
    border-radius: 0
}

body.page-gaming.lang-en #gaming .sample .back-to-list .button {
    margin: 0 27px;
    background-color: #000;
    color: #fff;
    font-family: Open Sans, sans-serif;
    font-weight: 600;
    font-style: italic;
    letter-spacing: .1em
}

body.page-gaming.lang-en #gaming .sample .back-to-list .button:before {
    left: -27px;
    border-top-width: 15.58846px;
    border-right-width: 27px;
    border-right-color: #000
}

body.page-gaming.lang-en #gaming .sample .back-to-list .button:after {
    right: -27px;
    border-bottom-width: 15.58846px;
    border-left-width: 27px;
    border-left-color: #000
}

body.page-gaming.lang-en #gaming .sample .back-to-list .button span:before {
    right: -49px;
    width: 44px;
    border-top: 1px solid
}

@media only screen and (min-width:768px) {
    body.page-gaming.lang-en #gaming .sample .back-to-list .button,
    body.page-gaming.lang-en #gaming .sample .back-to-list .button:after,
    body.page-gaming.lang-en #gaming .sample .back-to-list .button:before,
    body.page-gaming.lang-en #gaming .sample .back-to-list .button span:before {
        transition: .3s
    }
    body.page-gaming.lang-en #gaming .sample .back-to-list .button:hover {
        background-color: #2a93cc;
        color: #fff
    }
    body.page-gaming.lang-en #gaming .sample .back-to-list .button:hover:before {
        border-right-color: #2a93cc
    }
    body.page-gaming.lang-en #gaming .sample .back-to-list .button:hover:after {
        border-left-color: #2a93cc
    }
    body.page-gaming.lang-en #gaming .sample .back-to-list .button:hover span:before {
        right: -59px
    }
}

body.page-gaming.lang-en #gaming .sample .back-to-list .button span:before {
    border-top-color: #2a93cc
}

@media only screen and (min-width:768px) {
    body.page-gaming.lang-en #gaming .development {
        margin-top: 140px
    }
    body.page-gaming.lang-en #gaming .development h3 {
        font-size: 1.5rem
    }
    body.page-gaming.lang-en #gaming .development p {
        width: 800px;
        margin: 53.6px auto -.4em;
        font-size: 1rem;
        line-height: 1.8
    }
    body.page-gaming.lang-en #gaming .sample ul li:before {
        margin: calc((1.8em - 1px) / 2) 0
    }
    body.page-gaming.lang-en #gaming .sample .back-to-list {
        margin-top: 140px;
        text-align: center
    }
    body.page-gaming.lang-en #gaming .sample .back-to-list .button {
        display: inline-block;
        width: 285px;
        padding: 32px 0;
        font-size: 1rem
    }
}

@media only screen and (max-width:767px) {
    body.page-gaming.lang-en #gaming .development {
        margin-top: 55px
    }
    body.page-gaming.lang-en #gaming .development h3 {
        margin: -.1875em 0;
        font-size: 1.5rem;
        line-height: 1.375
    }
    body.page-gaming.lang-en #gaming .development p {
        margin: 28.6px 0 -.4em;
        padding: 0 15px;
        font-size: 1rem;
        line-height: 1.8
    }
    body.page-gaming.lang-en #gaming .sample ul li:before {
        margin: calc((1.8em - 1px) / 2) 0
    }
    body.page-gaming.lang-en #gaming .sample .back-to-list {
        margin-top: 55px;
        padding: 0 15px
    }
    body.page-gaming.lang-en #gaming .sample .back-to-list .button {
        padding: 23px 0;
        font-size: 1rem
    }
}

body.page-games.lang-en #games .works .back-to-list .button {
    margin: 0 27px;
    background-color: #000;
    color: #fff;
    font-family: Open Sans, sans-serif;
    font-weight: 600;
    font-style: italic;
    letter-spacing: .1em
}

body.page-games.lang-en #games .works .back-to-list .button:before {
    left: -27px;
    border-top-width: 15.58846px;
    border-right-width: 27px;
    border-right-color: #000
}

body.page-games.lang-en #games .works .back-to-list .button:after {
    right: -27px;
    border-bottom-width: 15.58846px;
    border-left-width: 27px;
    border-left-color: #000
}

body.page-games.lang-en #games .works .back-to-list .button span:before {
    right: -49px;
    width: 44px;
    border-top: 1px solid
}

@media only screen and (min-width:768px) {
    body.page-games.lang-en #games .works .back-to-list .button,
    body.page-games.lang-en #games .works .back-to-list .button:after,
    body.page-games.lang-en #games .works .back-to-list .button:before,
    body.page-games.lang-en #games .works .back-to-list .button span:before {
        transition: .3s
    }
    body.page-games.lang-en #games .works .back-to-list .button:hover {
        background-color: #2a93cc;
        color: #fff
    }
    body.page-games.lang-en #games .works .back-to-list .button:hover:before {
        border-right-color: #2a93cc
    }
    body.page-games.lang-en #games .works .back-to-list .button:hover:after {
        border-left-color: #2a93cc
    }
    body.page-games.lang-en #games .works .back-to-list .button:hover span:before {
        right: -59px
    }
}

body.page-games.lang-en #games .works .back-to-list .button span:before {
    border-top-color: #2a93cc
}

@media only screen and (min-width:768px) {
    body.page-games.lang-en #games .works {
        margin-top: 140px
    }
    body.page-games.lang-en #games .works .back-to-list {
        margin-top: 120px;
        text-align: center
    }
    body.page-games.lang-en #games .works .back-to-list .button {
        display: inline-block;
        width: 285px;
        padding: 33px 0;
        font-size: .875rem
    }
}

@media only screen and (max-width:767px) {
    body.page-games.lang-en #games .works {
        margin-top: 55px
    }
    body.page-games.lang-en #games .works .back-to-list {
        margin-top: 70px;
        padding: 0 15px
    }
    body.page-games.lang-en #games .works .back-to-list .button {
        padding: 23px 0;
        font-size: .875rem
    }
}

body.page-message.lang-en #message .back-to-list .button {
    font-family: Open Sans, sans-serif;
    font-weight: 600;
    font-style: italic
}

@media only screen and (min-width:768px) {
    body.page-message.lang-en #message .philosophy dl dt {
        width: 300px
    }
    body.page-message.lang-en #message .philosophy dl dd {
        width: 280px
    }
}

body.page-history #history .back-to-list .button {
    font-family: Open Sans, sans-serif;
    font-weight: 600;
    font-style: italic
}

@media only screen and (min-width:768px) {
    body.page-history #history table th.month-year {
        padding-right: 4em
    }
}







body.page-home-copy #main-visual {
  background-color: #2a93cc;
  text-align: center
}

body.page-home-copy #main-visual img {
  vertical-align: top;
  object-fit: cover
}

body.page-home-copy #service section {
  position: relative;
  background-color: #2a93cc;
  color: #fff
}

body.page-home-copy #service section h3 {
  font-weight: 400;
  text-align: center
}

body.page-home-copy #service section h3:before {
  content: attr(data-label);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  display: block;
  color: #000;
  font-family: Open Sans, sans-serif;
  font-weight: 700;
  font-style: italic;
  text-align: center;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%)
}

body.page-home-copy #service section p {
  text-align: justify
}

body.page-home-copy #service section .read-more .button {
  margin: 0 20px;
  background-color: #000;
  color: #fff;
  font-family: Open Sans, sans-serif;
  font-weight: 600;
  font-style: italic;
  letter-spacing: .1em
}

body.page-home-copy #service section .read-more .button:before {
  left: -20px;
  border-top-width: 11.54701px;
  border-right-width: 20px;
  border-right-color: #000
}

body.page-home-copy #service section .read-more .button:after {
  right: -20px;
  border-bottom-width: 11.54701px;
  border-left-width: 20px;
  border-left-color: #000
}

body.page-home-copy #service section .read-more .button span:before {
  right: -37px;
  width: 34px;
  border-top: 1px solid
}

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

  body.page-home-copy #service section .read-more .button,
  body.page-home-copy #service section .read-more .button:after,
  body.page-home-copy #service section .read-more .button:before,
  body.page-home-copy #service section .read-more .button span:before {
    transition: .3s
  }

  body.page-home-copy #service section .read-more .button:hover {
    background-color: #fff;
    color: #2a93cc
  }

  body.page-home-copy #service section .read-more .button:hover:before {
    border-right-color: #fff
  }

  body.page-home-copy #service section .read-more .button:hover:after {
    border-left-color: #fff
  }

  body.page-home-copy #service section .read-more .button:hover span:before {
    right: -47px
  }
}

body.page-home-copy #service section .read-more .button span:before {
  border-top-color: #fff
}

body.page-home-copy #information .container .information .information-container {
  position: relative;
  border: 1px solid #d9d9d9;
  background-color: #fff
}

body.page-home-copy #information .container .information .information-container>figure img {
  vertical-align: top
}

body.page-home-copy #information .container .information .information-container>span {
  display: inline-block;
  background-color: #2a93cc;
  color: #fff;
  letter-spacing: .1em;
  text-align: center
}

body.page-home-copy #information .container .information .information-container>time {
  color: #696969;
  font-style: italic
}

body.page-home-copy #information .read-more .button {
  margin: 0 20px;
  background-color: #000;
  color: #fff;
  font-family: Open Sans, sans-serif;
  font-weight: 600;
  font-style: italic;
  letter-spacing: .1em
}

body.page-home-copy #information .read-more .button:before {
  left: -20px;
  border-top-width: 11.54701px;
  border-right-width: 20px;
  border-right-color: #000
}

body.page-home-copy #information .read-more .button:after {
  right: -20px;
  border-bottom-width: 11.54701px;
  border-left-width: 20px;
  border-left-color: #000
}

body.page-home-copy #information .read-more .button span:before {
  right: -37px;
  width: 34px;
  border-top: 1px solid
}

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

  body.page-home-copy #information .read-more .button,
  body.page-home-copy #information .read-more .button:after,
  body.page-home-copy #information .read-more .button:before,
  body.page-home-copy #information .read-more .button span:before {
    transition: .3s
  }

  body.page-home-copy #information .read-more .button:hover {
    background-color: #2a93cc;
    color: #fff
  }

  body.page-home-copy #information .read-more .button:hover:before {
    border-right-color: #2a93cc
  }

  body.page-home-copy #information .read-more .button:hover:after {
    border-left-color: #2a93cc
  }

  body.page-home-copy #information .read-more .button:hover span:before {
    right: -47px
  }
}

body.page-home-copy #information .read-more .button span:before {
  border-top-color: #2a93cc
}

body.page-home-copy #sns #sb_instagram .sb_instagram_header {
  width: auto
}

@media only screen and (min-width:768px) {
  body.page-home-copy .carousel {
    margin-top: 40px
  }

  body.page-home-copy .carousel .slide {
    padding: 0 20px
  }

  body.page-home-copy .carousel .slick-list {
    overflow: visible
  }

  body.page-home-copy .carousel a img {
    transition: .3s
  }

  body.page-home-copy .carousel a:hover img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
  }

  body.page-home-copy main {
    padding-bottom: 280px
  }

  body.page-home-copy #service {
    margin-top: 180px
  }

  body.page-home-copy #service .container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 1100px;
    margin: 130px auto
  }

  body.page-home-copy #service section {
    width: 285px;
    padding: 45px 30px 140px
  }

  body.page-home-copy #service section h3 {
    font-size: .875rem
  }

  body.page-home-copy #service section h3:before {
    font-size: 2rem
  }

  body.page-home-copy #service section p {
    margin: 29.4px 0 -.4em;
    font-size: .875rem;
    line-height: 1.8;
    letter-spacing: .05em
  }

  body.page-home-copy #service section .read-more {
    position: absolute;
    left: 60px;
    right: 60px;
    bottom: 40px
  }

  body.page-home-copy #service section .read-more .button {
    padding: 23px 0;
    font-size: .875rem
  }

  body.page-home-copy #information {
    margin-top: 270px
  }

  body.page-home-copy #information .container {
    width: 1100px;
    margin: 85px auto 0
  }

  body.page-home-copy #information .container .information:nth-child(n+2) {
    margin-top: 50px
  }

  body.page-home-copy #information .container .information .information-container {
    display: flex;
    align-items: center;
    transition: .3s
  }

  body.page-home-copy #information .container .information .information-container:hover {
    background-color: #e2f1f9;
    cursor: pointer
  }

  body.page-home-copy #information .container .information .information-container>figure {
    margin: -1px 0 -1px -1px
  }

  body.page-home-copy #information .container .information .information-container>span {
    width: 85px;
    margin: 0 33px 0 43px;
    padding: 8px 0 8px .1em;
    font-size: .875rem
  }

  body.page-home-copy #information .container .information .information-container>.text {
    flex: 1;
    font-size: .875rem;
    line-height: 1.8
  }

  body.page-home-copy #information .container .information .information-container>time {
    position: absolute;
    right: 10px;
    bottom: 10px;
    font-size: .75rem
  }

  body.page-home-copy #information .read-more {
    margin-top: 115px;
    text-align: center
  }

  body.page-home-copy #information .read-more .button {
    display: inline-block;
    width: 190px;
    padding: 23px 0;
    font-size: .875rem
  }

  body.page-home-copy #sns {
    display: flex;
    justify-content: center;
    margin-top: 190px
  }

  body.page-home-copy #sns>div {
    width: 345px
  }

  body.page-home-copy #sns>div:nth-child(n+2) {
    margin-left: 32px
  }
}

@media only screen and (max-width:767px) {
  body.page-home-copy #main-visual img {
    width: 100%;
    height: auto
  }

  body.page-home-copy .carousel {
    margin-top: 10px
  }

  body.page-home-copy .carousel .slide {
    padding: 0 10px
  }

  body.page-home-copy .carousel .slide img {
    width: 135px;
    height: 135px
  }

  body.page-home-copy main {
    margin-bottom: 120px
  }

  body.page-home-copy #service {
    margin-top: 65px
  }

  body.page-home-copy #service .container {
    margin-top: 60px;
    padding: 0 15px
  }

  body.page-home-copy #service section {
    padding: 45px 30px 40px
  }

  body.page-home-copy #service section:nth-child(n+2) {
    margin-top: 45px
  }

  body.page-home-copy #service section h3 {
    font-size: .875rem
  }

  body.page-home-copy #service section h3:before {
    font-size: 1.875rem
  }

  body.page-home-copy #service section p {
    margin: 29.4px 0 -.4em;
    font-size: .875rem;
    line-height: 1.8;
    letter-spacing: .05em
  }

  body.page-home-copy #service section .read-more {
    margin-top: 40px;
    padding: 0 30px
  }

  body.page-home-copy #service section .read-more .button {
    padding: 23px 0;
    font-size: .875rem
  }

  body.page-home-copy #information {
    margin-top: 110px
  }

  body.page-home-copy #information .container {
    margin-top: 45px;
    padding: 0 15px
  }

  body.page-home-copy #information .container .information:nth-child(n+2) {
    margin-top: 20px
  }

  body.page-home-copy #information .container .information .information-container {
    padding: 15px
  }

  body.page-home-copy #information .container .information .information-container>figure {
    margin: -15px -15px 0
  }

  body.page-home-copy #information .container .information .information-container>figure img {
    width: 100%;
    height: auto
  }

  body.page-home-copy #information .container .information .information-container>span {
    width: 85px;
    margin-top: 15px;
    padding: 8px 0 8px .1em;
    font-size: .875rem
  }

  body.page-home-copy #information .container .information .information-container>.text {
    margin: 9.4px 0 -.4em;
    font-size: .875rem;
    line-height: 1.8
  }

  body.page-home-copy #information .container .information .information-container>time {
    display: block;
    margin-top: 25px;
    font-size: .75rem;
    text-align: right
  }

  body.page-home-copy #information .read-more {
    margin-top: 45px;
    padding: 0 15px
  }

  body.page-home-copy #information .read-more .button {
    padding: 23px 0;
    font-size: .875rem
  }

  body.page-home-copy #sns {
    margin-top: 95px;
    padding: 0 15px;
    overflow: hidden
  }

  body.page-home-copy #sns>div {
    width: 100%;
    max-width: 345px;
    margin: 0 auto
  }

  body.page-home-copy #sns>div:nth-child(n+2) {
    margin-top: 40px
  }

  body.page-home-copy #sns .fb_iframe_widget,
  body.page-home-copy #sns .fb_iframe_widget iframe[style],
  body.page-home-copy #sns .fb_iframe_widget span {
    width: 100% !important
  }
}




body.page-home-copy-2 #main-visual {
  background-color: #2a93cc;
  text-align: center
}

body.page-home-copy-2 #main-visual img {
  vertical-align: top;
  object-fit: cover
}

body.page-home-copy-2 #service section {
  position: relative;
  background-color: #2a93cc;
  color: #fff
}

body.page-home-copy-2 #service section h3 {
  font-weight: 400;
  text-align: center
}

body.page-home-copy-2 #service section h3:before {
  content: attr(data-label);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  display: block;
  color: #000;
  font-family: Open Sans, sans-serif;
  font-weight: 700;
  font-style: italic;
  text-align: center;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%)
}

body.page-home-copy-2 #service section p {
  text-align: justify
}

body.page-home-copy-2 #service section .read-more .button {
  margin: 0 20px;
  background-color: #000;
  color: #fff;
  font-family: Open Sans, sans-serif;
  font-weight: 600;
  font-style: italic;
  letter-spacing: .1em
}

body.page-home-copy-2 #service section .read-more .button:before {
  left: -20px;
  border-top-width: 11.54701px;
  border-right-width: 20px;
  border-right-color: #000
}

body.page-home-copy-2 #service section .read-more .button:after {
  right: -20px;
  border-bottom-width: 11.54701px;
  border-left-width: 20px;
  border-left-color: #000
}

body.page-home-copy-2 #service section .read-more .button span:before {
  right: -37px;
  width: 34px;
  border-top: 1px solid
}

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

  body.page-home-copy-2 #service section .read-more .button,
  body.page-home-copy-2 #service section .read-more .button:after,
  body.page-home-copy-2 #service section .read-more .button:before,
  body.page-home-copy-2 #service section .read-more .button span:before {
    transition: .3s
  }

  body.page-home-copy-2 #service section .read-more .button:hover {
    background-color: #fff;
    color: #2a93cc
  }

  body.page-home-copy-2 #service section .read-more .button:hover:before {
    border-right-color: #fff
  }

  body.page-home-copy-2 #service section .read-more .button:hover:after {
    border-left-color: #fff
  }

  body.page-home-copy-2 #service section .read-more .button:hover span:before {
    right: -47px
  }
}

body.page-home-copy-2 #service section .read-more .button span:before {
  border-top-color: #fff
}

body.page-home-copy-2 #information .container .information .information-container {
  position: relative;
  border: 1px solid #d9d9d9;
  background-color: #fff
}

body.page-home-copy-2 #information .container .information .information-container>figure img {
  vertical-align: top
}

body.page-home-copy-2 #information .container .information .information-container>span {
  display: inline-block;
  background-color: #2a93cc;
  color: #fff;
  letter-spacing: .1em;
  text-align: center
}

body.page-home-copy-2 #information .container .information .information-container>time {
  color: #696969;
  font-style: italic
}

body.page-home-copy-2 #information .read-more .button {
  margin: 0 20px;
  background-color: #000;
  color: #fff;
  font-family: Open Sans, sans-serif;
  font-weight: 600;
  font-style: italic;
  letter-spacing: .1em
}

body.page-home-copy-2 #information .read-more .button:before {
  left: -20px;
  border-top-width: 11.54701px;
  border-right-width: 20px;
  border-right-color: #000
}

body.page-home-copy-2 #information .read-more .button:after {
  right: -20px;
  border-bottom-width: 11.54701px;
  border-left-width: 20px;
  border-left-color: #000
}

body.page-home-copy-2 #information .read-more .button span:before {
  right: -37px;
  width: 34px;
  border-top: 1px solid
}

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

  body.page-home-copy-2 #information .read-more .button,
  body.page-home-copy-2 #information .read-more .button:after,
  body.page-home-copy-2 #information .read-more .button:before,
  body.page-home-copy-2 #information .read-more .button span:before {
    transition: .3s
  }

  body.page-home-copy-2 #information .read-more .button:hover {
    background-color: #2a93cc;
    color: #fff
  }

  body.page-home-copy-2 #information .read-more .button:hover:before {
    border-right-color: #2a93cc
  }

  body.page-home-copy-2 #information .read-more .button:hover:after {
    border-left-color: #2a93cc
  }

  body.page-home-copy-2 #information .read-more .button:hover span:before {
    right: -47px
  }
}

body.page-home-copy-2 #information .read-more .button span:before {
  border-top-color: #2a93cc
}

body.page-home-copy-2 #sns #sb_instagram .sb_instagram_header {
  width: auto
}

@media only screen and (min-width:768px) {
  body.page-home-copy-2 .carousel {
    margin-top: 40px
  }

  body.page-home-copy-2 .carousel .slide {
    padding: 0 20px
  }

  body.page-home-copy-2 .carousel .slick-list {
    overflow: visible
  }

  body.page-home-copy-2 .carousel a img {
    transition: .3s
  }

  body.page-home-copy-2 .carousel a:hover img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
  }

  body.page-home-copy-2 main {
    padding-bottom: 280px
  }

  body.page-home-copy-2 #service {
    margin-top: 180px
  }

  body.page-home-copy-2 #service .container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 1100px;
    margin: 130px auto
  }

  body.page-home-copy-2 #service section {
    width: 285px;
    padding: 45px 30px 140px
  }

  body.page-home-copy-2 #service section h3 {
    font-size: .875rem
  }

  body.page-home-copy-2 #service section h3:before {
    font-size: 2rem
  }

  body.page-home-copy-2 #service section p {
    margin: 29.4px 0 -.4em;
    font-size: .875rem;
    line-height: 1.8;
    letter-spacing: .05em
  }

  body.page-home-copy-2 #service section .read-more {
    position: absolute;
    left: 60px;
    right: 60px;
    bottom: 40px
  }

  body.page-home-copy-2 #service section .read-more .button {
    padding: 23px 0;
    font-size: .875rem
  }

  body.page-home-copy-2 #information {
    margin-top: 270px
  }

  body.page-home-copy-2 #information .container {
    width: 1100px;
    margin: 85px auto 0
  }

  body.page-home-copy-2 #information .container .information:nth-child(n+2) {
    margin-top: 50px
  }

  body.page-home-copy-2 #information .container .information .information-container {
    display: flex;
    align-items: center;
    transition: .3s
  }

  body.page-home-copy-2 #information .container .information .information-container:hover {
    background-color: #e2f1f9;
    cursor: pointer
  }

  body.page-home-copy-2 #information .container .information .information-container>figure {
    margin: -1px 0 -1px -1px
  }

  body.page-home-copy-2 #information .container .information .information-container>span {
    width: 85px;
    margin: 0 33px 0 43px;
    padding: 8px 0 8px .1em;
    font-size: .875rem
  }

  body.page-home-copy-2 #information .container .information .information-container>.text {
    flex: 1;
    font-size: .875rem;
    line-height: 1.8
  }

  body.page-home-copy-2 #information .container .information .information-container>time {
    position: absolute;
    right: 10px;
    bottom: 10px;
    font-size: .75rem
  }

  body.page-home-copy-2 #information .read-more {
    margin-top: 115px;
    text-align: center
  }

  body.page-home-copy-2 #information .read-more .button {
    display: inline-block;
    width: 190px;
    padding: 23px 0;
    font-size: .875rem
  }

  body.page-home-copy-2 #sns {
    display: flex;
    justify-content: center;
    margin-top: 190px
  }

  body.page-home-copy-2 #sns>div {
    width: 345px
  }

  body.page-home-copy-2 #sns>div:nth-child(n+2) {
    margin-left: 32px
  }
}

@media only screen and (max-width:767px) {
  body.page-home-copy-2 #main-visual img {
    width: 100%;
    height: auto
  }

  body.page-home-copy-2 .carousel {
    margin-top: 10px
  }

  body.page-home-copy-2 .carousel .slide {
    padding: 0 10px
  }

  body.page-home-copy-2 .carousel .slide img {
    width: 135px;
    height: 135px
  }

  body.page-home-copy-2 main {
    margin-bottom: 120px
  }

  body.page-home-copy-2 #service {
    margin-top: 65px
  }

  body.page-home-copy-2 #service .container {
    margin-top: 60px;
    padding: 0 15px
  }

  body.page-home-copy-2 #service section {
    padding: 45px 30px 40px
  }

  body.page-home-copy-2 #service section:nth-child(n+2) {
    margin-top: 45px
  }

  body.page-home-copy-2 #service section h3 {
    font-size: .875rem
  }

  body.page-home-copy-2 #service section h3:before {
    font-size: 1.875rem
  }

  body.page-home-copy-2 #service section p {
    margin: 29.4px 0 -.4em;
    font-size: .875rem;
    line-height: 1.8;
    letter-spacing: .05em
  }

  body.page-home-copy-2 #service section .read-more {
    margin-top: 40px;
    padding: 0 30px
  }

  body.page-home-copy-2 #service section .read-more .button {
    padding: 23px 0;
    font-size: .875rem
  }

  body.page-home-copy-2 #information {
    margin-top: 110px
  }

  body.page-home-copy-2 #information .container {
    margin-top: 45px;
    padding: 0 15px
  }

  body.page-home-copy-2 #information .container .information:nth-child(n+2) {
    margin-top: 20px
  }

  body.page-home-copy-2 #information .container .information .information-container {
    padding: 15px
  }

  body.page-home-copy-2 #information .container .information .information-container>figure {
    margin: -15px -15px 0
  }

  body.page-home-copy-2 #information .container .information .information-container>figure img {
    width: 100%;
    height: auto
  }

  body.page-home-copy-2 #information .container .information .information-container>span {
    width: 85px;
    margin-top: 15px;
    padding: 8px 0 8px .1em;
    font-size: .875rem
  }

  body.page-home-copy-2 #information .container .information .information-container>.text {
    margin: 9.4px 0 -.4em;
    font-size: .875rem;
    line-height: 1.8
  }

  body.page-home-copy-2 #information .container .information .information-container>time {
    display: block;
    margin-top: 25px;
    font-size: .75rem;
    text-align: right
  }

  body.page-home-copy-2 #information .read-more {
    margin-top: 45px;
    padding: 0 15px
  }

  body.page-home-copy-2 #information .read-more .button {
    padding: 23px 0;
    font-size: .875rem
  }

  body.page-home-copy-2 #sns {
    margin-top: 95px;
    padding: 0 15px;
    overflow: hidden
  }

  body.page-home-copy-2 #sns>div {
    width: 100%;
    max-width: 345px;
    margin: 0 auto
  }

  body.page-home-copy-2 #sns>div:nth-child(n+2) {
    margin-top: 40px
  }

  body.page-home-copy-2 #sns .fb_iframe_widget,
  body.page-home-copy-2 #sns .fb_iframe_widget iframe[style],
  body.page-home-copy-2 #sns .fb_iframe_widget span {
    width: 100% !important
  }
}