@charset "UTF-8";

a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
}

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

body {
    line-height: 1;
    width: 100%;
    font-family: Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN W3, sans-serif
}

ol,
ul {
    list-style: none;
}

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

.anchor-link:hover {
    opacity: .5;
    -webkit-opacity: .5;
    -moz-opacity: .5;
}

a {
    color: #135cbb;
}

.header-frame {
    display: block;
    width: 100%;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 4;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, .1);
    -webkit-box-shadow: 0 0 5px 0 rgba(0, 0, 0, .1);
    -moz-box-shadow: 0 0 5px 0 rgba(0, 0, 0, .1);
}

.header-inner,
.logobox-menu {
    position: relative;
    height: 84px;
}

.logobox-menu {
    width: calc(100% - 74px);
    z-index: 3;
    display: inline-block;
    z-index: 1;
}

.site-title {
    height: auto;
    padding: 20px 10px 20px 20px;
    width: 194px
}

.menubox-frame {
    width: 100%;
    background-color: #fff;
    box-sizing: border-box;
    display: inline-block;
    height: 84px;
    padding: 10px;
    position: absolute;
    top: 0;
    left: 0;
}

.menubox-menu {
    position: relative;
    top: 0;
    right: 9pt;
    cursor: pointer;
    display: block;
    z-index: 2;
}

.menubox-txt {
    width: 50px;
    position: absolute;
    font-size: 10px;
    top: 3pc;
    right: 0;
    font-weight: 700;
    text-align: center;
}

#drawer-checkbox {
    display: none;
}

#drawer-icon {
    cursor: pointer;
    display: inline-block;
    height: 50px;
    position: relative;
    width: 50px;
    float: right;
}

#drawer-icon span {
    height: 16%;
    margin: -8% 0 0 -42%;
    width: 84%;
    z-index: 7;
}

#drawer-icon span,
#drawer-icon span:after,
#drawer-icon span:before {
    background: #59bb89;
    border-radius: 4px;
    display: block;
    left: 50%;
    position: absolute;
    top: 50%;
    transition: all .3s ease-in-out;
}

#drawer-icon span:after,
#drawer-icon span:before {
    -webkit-transform: rotate(0);
    content: "";
    height: 100%;
    margin: -8% 0 0 -50%;
    transform: rotate(0);
    width: 100%;
}

#drawer-icon span:before {
    margin-top: -38%;
}

#drawer-icon span:after {
    margin-top: 19%;
}

#drawer-checkbox:checked~#drawer-icon span {
    background: rgba(51, 51, 51, 0);
}

#drawer-checkbox:checked~#drawer-icon span:after,
#drawer-checkbox:checked~#drawer-icon span:before {
    content: "";
    display: block;
    height: 100%;
    left: 50%;
    margin: -8% 0 0 -42%;
    position: absolute;
    top: 50%;
    width: 100%;
}

#drawer-checkbox:checked~#drawer-icon span:before {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

#drawer-checkbox:checked~#drawer-icon span:after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

#drawer-content {
    overflow: auto;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 6;
    width: 300px;
    max-width: 90%;
    height: 100%;
    background: #fff;
    transform: translateX(100%);
}

#drawer-checkbox:checked~#drawer-content {
    transform: translateX(0)
}

#drawer-close {
    display: none;
    position: fixed;
    z-index: 5;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0;
    transition: all .3s ease-in-out 0
}

#drawer-checkbox:checked~#drawer-close {
    display: block;
    opacity: .2
}

.menubox-nav {
    position: relative
}

.menubox-close-txt {
    position: fixed;
    width: 50px;
    right: 20px;
    top: 58px;
    text-align: center;
    font-weight: 700;
    font-size: 10px
}

.sidebar-menu {
    padding: 70px 20px 20px;
    box-sizing: border-box
}

.sidebar-menu a {
    position: relative;
    border-bottom: 1px solid #eaeaea;
    display: block;
    font-size: .937rem;
    line-height: 1;
    padding: 20px 8px;
    text-decoration: none;
    color: #000
}

.sidebar-menu a:before {
    border-top: 2px solid rgba(0, 0, 0, .4);
    border-right: 2px solid rgba(0, 0, 0, .4);
    content: "";
    display: block;
    height: 5px;
    margin-top: -2px;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: rotate(45deg);
    width: 5px;
}

.sns-box {
    padding: 20px;
    box-sizing: border-box;
    display: table;
    width: 100%;
}

.sns-box li {
    display: table-cell;
    padding: 0 5px;
}

.sns-box li a {
    display: block;
}

.box-item {
    height: 580px;
    overflow: hidden;
    background: #E4F2ED;
}

.box-greet {
    margin-top: 80px;
}

.ds-tb,
.member picture.ds-tb {
    display: inherit;
}

.ds-sm,
.member picture.ds-sm {
    display: none;
}

.item-sun img {
    width: 500px;
    height: auto;
}

.member .main-member picture {
    margin-bottom: 0;
}

.member picture {
    display: block;
    margin-bottom: 40px;
}

.item-member img,
.main-top {
    width: 100%
}

.main-top {
    text-align: center
}

.box-message {
    width: 45pc;
    margin: 40px auto 80px;
}

#main.main-top {
    margin-top: 84px;
}

.box-menu {
    background: #F2F5F4;
    padding: 40px 0;
}

#main.main-top,
.box-menu ul {
    overflow: hidden;
}

.box-menu ul {
    box-sizing: border-box;
    padding: 0 40px;
    margin: 40px 0 56px;
}

.box-menu ul li {
    width: 25%;
    float: left;
    padding: 8px;
    box-sizing: border-box;
    line-height: 2.0;
    border-radius: 16px;
}

.box-menu ul li a {
    text-decoration: none;
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: #000;
    background: #fff;
    width: 100%;
    padding: 24px;
    box-sizing: border-box;
    border-radius: 12px;
}

.menu-company {
    background: #9ac970;
}

.menu-service {
    background: #5bba89
}

.menu-service a {
    position: relative;
}

.menu-service a:before {
    content: '';
    display: block;
    position: absolute;
    top: 30px;
    left: 0;
    width: 100%;
    height: 50px;
    background: url(../img/building.svg) no-repeat 50% 50%;
}

.menu-company a {
    position: relative;
}

.menu-company a:before {
    content: '';
    display: block;
    position: absolute;
    top: 30px;
    left: 0;
    width: 100%;
    height: 50px;
    background: url(../img/laptop.svg) no-repeat 50% 50%;
}

.ds-sp {
    display: none;
}

.box-blog {
    padding: 60px 0;
    text-align: center;
    background: #F2F5F4;
}

.box-blog ul {
    overflow: hidden;
    padding: 0 40px;
}

.box-blog ul li {
    float: left;
    width: 50%;
    padding: 16px;
    box-sizing: border-box;
}

.box-blog ul li img {
    width: 100%;
    height: auto;
}

.box-contact {
    padding: 40px;
    box-sizing: border-box;
}

.box-contact ul {
    overflow: hidden;
}

.box-contact ul li {
    width: 50%;
    float: left;
    text-align: left;
    padding: 0 40px 24px 40px;
    box-sizing: border-box;
}

.box-contact ul li .main-title {
    text-align: left;
}

a.white {
    background: #fff;
    color: #5DB988;
}

.btn-box a.white:after {
    border-top: 2px solid #5DB988;
    border-right: 2px solid #5DB988;
}

.box-member {
    margin: 80px auto 20px;
    padding: 0 40px;
    box-sizing: border-box;
}

.box-member ul {
    overflow: hidden;
}

.box-member ul li {
    width: 50%;
    float: left;
    text-align: left;
    padding: 0 20px;
    box-sizing: border-box;
}

.box-member ul li img {
    width: 100%;
}

.top-text {
    line-height: 1.8
}

.main-common {
    max-width: 45pc;
    margin: 0 auto;
}

#main {
    display: block;
    position: relative;
    margin: 90pt auto 0;
}

.main-title {
    text-align: center;
    font-size: 2pc;
    font-weight: 700;
    padding: 40px 0 24px;
    line-height: 1.4;
}

.main-title.left {
    text-align: left;
}

#message-main {
    background: url(../img/messagepc@2x.jpg) no-repeat;
    background-color: #F2F5F4;
    background-size: contain;
}

#message-main,
.webp #message-main {
    padding-top: 25%;
    margin: 84px auto 0;
    width: 100%
}

.webp #message-main {
    background: url(../img/messagepc@2x.jpg.webp) no-repeat;
    background-color: #F2F5F4;
    background-size: contain;
}

.message-box {
    max-width: 45pc;
    width: calc(100% - 17pc);
    margin: 0 auto 30px;
    background: #fff;
    padding: 40px;
    box-sizing: border-box;
    border-radius: 4px;
}

.message-box p {
    line-height: 2;
    padding-top: 30px;
}

.sign {
    text-align: right;
}

.movie {
    width: 45pc;
    margin: 0 auto;
}

.profile-wrap {
    overflow: hidden;
    margin: 30px auto 20px;
}

.profile-box:nth-child(odd) {
    margin-right: 4%;
}

.profile-box {
    position: relative;
    border-radius: 4px;
    width: 48%;
    float: left;
    height: 210px;
    overflow: hidden;
    margin: 2% auto;
}

.profile-image {
    position: relative;
    text-align: center;
}

.image-photo {
    position: absolute;
    top: 0;
    bottom: 0;
    right: -10%;
    margin: auto;
    text-align: center;
}

.profile-name {
    position: absolute;
    bottom: 10px;
    left: 10px;
    z-index: 3;
    padding: 10px;
}

.job {
    font-size: 14px;
    width: auto;
    padding: 8px 8px 5px;
    display: inline-block;
}

.job,
.name {
    color: #000;
    font-weight: 700;
    background: #fff;
}

.name {
    padding: 8px 15px 8px 8px;
    font-size: 24px;
}

#main.member {
    margin-top: 84px
}

.main-member {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin-bottom: 30px
}

.member-title {
    width: 45pc;
    position: absolute;
    margin: 0 auto;
    left: 0;
    right: 0;
    top: 50%;
    margin-top: -50px;
    bottom: 0
}

.detail #main .member-title p {
    margin-bottom: 25px;
    font-size: 24px
}

.member-title p span {
    background: #fff;
    padding: 20px 15px;
    line-height: 1
}

#main .main-member img {
    width: 100%;
    height: auto
}

.detail #main p.member-desc {
    margin-bottom: 10px
}

.detail #main p.member-job {
    margin-bottom: 0
}

.member-name {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 10px
}

.member-sns {
    overflow: hidden
}

.member-sns li {
    float: left
}

.member-sns li a {
    display: inline-block;
    padding: 0 15px 0 0
}

.orange {
    color: #f60
}

.table-frame {
    width: 100%;
    margin: 30px auto 0
}

.table-frame th {
    padding: 10px
}

.table-frame td,
.table-frame th {
    display: block;
    text-align: left;
    line-height: 1.6;
    font-size: 1pc
}

.table-frame td {
    padding: 25px 10px
}

.table-frame th {
    background: #F2F5F4;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px
}

.table-seminar td,
.table-seminar th {
    text-align: left;
    line-height: 1.6;
    padding-left: 10px
}

.table-seminar th {
    width: 20%;
    color: #999;
    border-top: 1px solid #cfd6dc;
    padding: 15px 0
}

.table-seminar td {
    width: 100%;
    border-top: 1px solid #cfd6dc;
    padding: 15px 0 15px 15px;
    box-sizing: border-box
}

.table-seminar {
    border-bottom: 1px solid #cfd6dc;
    width: 100%;
    margin: 30px auto
}

.external-link {
    margin-left: 5px;
    margin-right: 5px
}

.gradient {
    background: none;
    color: #000 !important;
    border: 1px solid #000 !important;
}

.gradient02 {
    background: #5bba89;
    background: -moz-linear-gradient(left, #5bba89 0, #5db988 50%, #9ac970 100%);
    background: -webkit-linear-gradient(left, #5bba89 0, #5db988 50%, #9ac970 100%);
    background: linear-gradient(to right, #5bba89 0, #5db988 50%, #9ac970 100%);
    color: #fff
}

.black {
    border: 1px solid #000;
    color: #000;
}

.service-wrap {
    overflow: hidden;
    margin-top: 30px
}

.service-box.left {
    margin-right: 2%
}

.service-box.left.this {
    margin-top: 60px;
}

.service-box.left.right {
    margin-top: 60px;
}

.service-box.right {
    margin-left: 2%
}

.service-box {
    width: 48%;
    margin-bottom: 20px;
    float: left;
    box-sizing: border-box
}

.service-image {
    text-align: center
}

.service-image img {
    width: auto;
    height: 59px
}

.service-title {
    font-size: 24px;
    text-align: center;
    font-weight: 700;
    padding: 20px 0
}

.service-wrap p {
    line-height: 1.8
}

.service-wrap .btn-box {
    width: 100%
}

.btn-box {
    margin: 30px auto 60px;
    width: 300px
}

.btn-box a {
    height: 56px;
    line-height: 56px;
    position: relative;
    display: block;
    margin: 0 auto;
    text-align: center;
    text-decoration: none;
    padding-right: 20px;
    border-radius: 3px;
    box-sizing: border-box
}

.btn-box a:after {
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    content: "";
    display: block;
    height: 5px;
    margin-top: -3px;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: rotate(45deg);
    width: 5px
}

.service-btn {
    width: 300px
}

.btn-float a {
    width: 100%
}

.service-btn:after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: "";
    display: block;
    height: 5px;
    margin-top: -3px;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: rotate(45deg);
    width: 5px
}

.web-ul {
    overflow: hidden;
    margin-top: 30px
}

.web-ul li {
    text-align: center;
    width: 50%;
    float: left;
    padding: 0 0 30px 20px;
    box-sizing: border-box
}

.web-ul li:nth-child(odd) {
    padding: 0 20px 30px 0
}

.web-ul img {
    width: 100%;
    height: auto
}

.web-ul a {
    display: block
}

.web-release {
    font-size: 14px
}

.web-name {
    padding: 10px 0
}

.web-list {
    list-style: none;
    padding: 30px;
    box-sizing: border-box;
    background: #f1ffe5;
    margin-bottom: 30px;
    border-radius: 4px
}

.web-list li {
    padding-left: 1em;
    text-indent: -.7em;
    line-height: 2
}

.web-list li:before {
    content: "•";
    color: #59bb89;
    padding-right: 10px
}

.web-ol {
    counter-reset: a;
    list-style: none;
    padding: 30px;
    box-sizing: border-box;
    background: #f1ffe5;
    margin-bottom: 30px;
    border-radius: 4px;
    line-height: 2
}

.web-ol li:before {
    color: #000;
    counter-increment: a;
    content: counter(a) ". "
}

.web-history td,
.web-history th {
    padding: 10px
}

.web-history {
    line-height: 1.8
}

.web-history th {
    background: #5bba89;
    color: #fff;
}

.web-history td,
.web-history th {
    text-align: left;
    border: 1px solid #cfd6dc
}

.web-history td {
    background: #fff
}

.web-history caption {
    text-align: left;
    font-weight: 700
}

.history-date {
    width: 17%
}

.history-contents {
    width: 83%
}

.service-icon {
    text-align: center;
    margin: 0 auto;
    padding-top: 30px
}

.box-shadow {
    -moz-box-shadow: 2px 9px 15px rgba(0, 0, 0, .15);
    -webkit-box-shadow: 2px 9px 15px rgba(0, 0, 0, .15);
    -o-box-shadow: 2px 9px 15px rgba(0, 0, 0, .15);
    -ms-box-shadow: 2px 9px 15px rgba(0, 0, 0, .15);
    box-shadow: 2px 9px 15px rgba(0, 0, 0, .15)
}

.web-title {
    font-size: 2pc;
    font-weight: 700;
    padding-top: 30px
}

.web-date {
    color: #999;
    padding-top: 10px
}

.detail #main p {
    line-height: 2;
    margin-bottom: 30px
}

.web-h2 {
    line-height: 30px;
    border-left: 10px solid #9ac970;
    padding-left: 10px;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 30px;
    margin-top: 60px
}

a.return-btn {
    padding-right: 0
}

a.return-btn:after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: "";
    display: block;
    height: 5px;
    margin-top: -3px;
    position: absolute;
    left: 15px;
    top: 50%;
    transform: rotate(225deg);
    width: 5px
}

.color-red {
    color: red
}

.text-description {
    font-size: 1pc;
    line-height: 2;
    margin: 0 auto 15px auto;
    text-align: left
}

.ebook-ul {
    border-top: 1px solid #cfd6dc;
    margin: 30px auto
}

.ebook-ul a {
    text-decoration: none;
    display: block
}

.ebook-li {
    padding: 20px;
    border-bottom: 1px solid #cfd6dc;
    overflow: hidden
}

.ebook-ul .left {
    width: 20%;
    float: left
}

.ebook-ul .right {
    width: 77%;
    float: right;
    padding-left: 3%
}

.ebook-release {
    font-size: 9pt;
    color: #999;
    padding-bottom: 10px;
}

.ebook-name {
    font-size: 18px;
    font-weight: 700;
    color: #000;
    line-height: 1.4;
    padding-bottom: 10px;
}

.ebook-tag {
    overflow: hidden;
    padding-bottom: 10px;
    font-size: 11px
}

.ebook-tag .gradient,
.ebook-tag .unlimited {
    float: left;
}

.ebook-tag .gradient,
.ebook-tag .unlimited {
    border: 1px solid #000;
    padding: 2px 6px;
}

.ebook-tag .unlimited {
    margin-left: 6px;
    color: #000;
}

.ebook-detail {
    font-size: 9pt;
    color: #999;
    line-height: 1.5;
    padding-bottom: 20px;
}

.ebook-price {
    color: red;
    text-align: right;
    font-weight: 700
}

.ebook-price span.free {
    font-size: 9pt;
    color: #999
}

.recruit-ul {
    border-top: 1px solid #cfd6dc;
    margin: 30px auto
}

.recruit-ul a {
    text-decoration: none;
    display: block
}

.recruit-li {
    padding: 20px;
    border-bottom: 1px solid #cfd6dc;
    overflow: hidden
}

.recruit-ul .left {
    width: 33%;
    float: left
}

.recruit-ul .right {
    width: 63%;
    float: right;
    padding-left: 3%
}

.recruit-name {
    font-size: 18px;
    font-weight: 700;
    color: #000;
    line-height: 1.4;
    padding-bottom: 10px
}

.recruit-tag {
    overflow: hidden;
    padding-bottom: 10px;
    font-size: 11px
}

.recruit-tag li:first-child {
    margin: 0
}

.recruit-tag .gradient {
    float: left;
    border: 1px solid #59bb89;
    padding: 2px 4px;
    margin-left: 3px
}

.recruit-who {
    list-style: disc;
    line-height: 1.6;
    padding-left: 5%
}

.main-common.recruit {
    margin-bottom: 80px
}

.contact-form {
    margin: 0 auto;
    width: 100%;
    text-align: left
}

.form-box label {
    display: block;
    margin: 30px 0 10px
}

.text-bar {
    font-size: 1pc;
    padding: 10px;
    box-sizing: border-box;
    width: 100%;
    height: 50px;
    border: 1px solid #cfd6dc
}

select {
    width: 100%;
    padding-right: 1em;
    cursor: pointer;
    text-indent: .01px;
    text-overflow: ellipsis;
    border: 0;
    outline: 0;
    background: 0;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none
}

select option {
    background-color: #fff;
    color: #000
}

select::-ms-expand {
    display: none
}

select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #828c9a
}

.select-box {
    position: relative
}

.select-bar {
    font-size: 1pc;
    padding: 10px;
    box-sizing: border-box;
    width: 100%;
    height: 50px;
    border: 1px solid #cfd6dc;
    background: #fff;
    border-radius: 0
}

.select-box:after {
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    content: "";
    display: block;
    height: 5px;
    margin-top: -3px;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: rotate(130deg);
    width: 5px
}

.text-box {
    font-size: 1pc;
    padding: 10px;
    box-sizing: border-box;
    width: 100%;
    height: 200px;
    border: 1px solid #cfd6dc;
    outline: 0
}

.submit-btn {
    width: 300px;
    height: 56px;
    line-height: 56px;
    font-size: 1pc;
    color: #fff;
    border: 0;
    cursor: pointer
}

.submit-box {
    margin: 30px auto;
    width: 300px;
    position: relative
}

.submit-box:after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: "";
    display: block;
    height: 5px;
    margin-top: -3px;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: rotate(45deg);
    width: 5px
}

.submit-box input[type=submit]:hover {
    opacity: .5;
    -webkit-opacity: .5;
    -moz-opacity: .5;
}

.contact-icon {
    text-align: center;
    margin: 0 auto
}

.thanks-text {
    text-align: center;
    margin: 0 auto 50px
}

.breadcrumbs-box {
    display: block;
    position: relative;
    margin: 0 auto;
    padding-bottom: 30px;
    box-sizing: border-box;
    max-width: 45pc
}

.breadcrumbs-box li {
    display: inline-block;
    position: relative;
    line-height: 1.5
}

.breadcrumbs-box li:after {
    color: #747072;
    content: "/";
    margin: 0 10px;
    font-size: .75rem
}

.breadcrumbs-box li:last-child:after {
    content: none
}

.footer-frame {
    background: #fff;
    border-top: 1px solid #EEEEEE;
}

.footer-site-info {
    padding: 20px 0 0;
    color: #fff;
    text-align: center;
    display: block;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
    width: 140px
}

.copyright {
    padding: 10px 0 20px;
    text-align: center;
    font-size: 9pt;
    color: #000;
}


/* アイキャッチ制作 */

.nayami {
    padding: 40px 20px;
    box-sizing: border-box;
    margin-bottom: 20px;
    padding-top: 60px;
    border-top: 1px solid #ededed;
}

.nayami-h2 {
    font-size: 28px;
    text-align: center;
    margin-bottom: 30px;
}

.nayami h2 {
    font-size: 28px;
    text-align: center;
    padding-bottom: 20px;
}

.nayami-box {
    margin: 30px auto 0;
    display: table;
    width: 100%;
    text-align: center;
}

.nayami-box.right .left {
    background: #efefef;
    vertical-align: middle;
    padding: 15px;
    box-sizing: border-box;
    border-radius: 10px;
    position: relative;
}

.nayami-box.right .right {
    background: none;
    text-align: center;
    vertical-align: middle;
    padding-left: 24px;
}

.nayami-box .left {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    padding-right: 24px;
}

.nayami-box .right {
    display: table-cell;
    background: #efefef;
    vertical-align: middle;
    padding: 0 15px;
    box-sizing: border-box;
    border-radius: 10px;
    position: relative;
}

.nayami-box.right .left:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 100%;
    margin-top: -15px;
    border: 15px solid transparent;
    border-left: 15px solid #efefef;
}

.nayami-box .right:before {
    content: "";
    position: absolute;
    top: 50%;
    left: -30px;
    margin-top: -15px;
    border: 15px solid transparent;
    border-right: 15px solid #efefef;
}

.merit {
    margin: 0 auto 80px;
    width: 100%;
    background: #EAF8F1;
    padding: 40px 20px;
    border-radius: 10px;
    box-sizing: border-box;
}

.merit h2 {
    color: #000;
    margin-bottom: 40px;
}

.merit-box {
    display: table;
}

.detail #main .merit-box p {
    line-height: 1.4;
}

.merit-box li {
    display: table-cell;
    padding: 10px;
    text-align: center;
    font-weight: bold;
}

.merit img {
    width: 100%;
    height: auto;
    margin-bottom: 15px;
}

.zirei {
    margin: 0 auto 80px;
    width: 100%;
    background: #EAF8F1;
    padding: 40px 20px 20px;
    border-radius: 10px;
    box-sizing: border-box;
}

.zirei-ttl a {
    color: #59bb89;
    font-weight: bold;
    font-size: 24px;
    display: block;
    padding-bottom: 20px;
}

.zirei p img {
    width: 100%;
    height: auto;
}

.zirei .btn-box {
    margin: 30px auto 10px;
}

.price-box {
    margin-bottom: 40px;
    width: 100%;
}

.price-box .history-date {
    width: 40%;
}

.price-box .history-contents {
    width: 60%;
}

.price {
    margin-bottom: 60px;
}

.others {
    margin: 0 auto 80px;
    background: #efefef;
    border-radius: 10px;
    padding: 60px 20px 10px;
    box-sizing: border-box;
}

.others img {
    width: 100%;
    height: auto;
}

.zirei-wrap {
    background: #ededed;
    border-radius: 10px;
    padding: 20px;
    box-sizing: border-box;
    margin-top: 20px;
}

.zirei {
    margin: 0 auto 80px;
}

.zirei-wrap {
    background: #fff;
    border-radius: 10px;
    padding: 20px;
    box-sizing: border-box;
    margin-top: 20px;
}

.zirei-table {
    width: 100%;
}

.zirei-table th {
    line-height: 1.4;
    border: 1px solid #cfd6dc;
    padding: 10px;
    background: #EAF8F1;
    width: 35%;
}

.zirei-table td {
    line-height: 1.4;
    padding: 10px;
    border: 1px solid #cfd6dc;
    width: 75%;
}

.zirei-box {
    overflow: hidden;
}

.zirei-box .right {
    box-sizing: border-box;
    margin-top: 20px;
}

.zirei-box .left img {
    width: 100%;
    height: auto;
}

.zirei-box .img {
    width: 50%;
    float: left;
    padding: 0 5px;
    box-sizing: border-box;
}

.zirei-box .img img {
    width: 100%;
    height: auto;
}

.zirei-p {
    margin-top: 30px;
}

.detail #main .zirei-box li p {
    line-height: 1.6;
}

.flow-box {
    display: table;
    border: 10px #EAF8F1 solid;
    margin: 20px 0;
    border-radius: 10px;
    vertical-align: middle;
}

.flow-box li {
    display: table-cell;
    vertical-align: middle;
    padding: 20px;
    box-sizing: border-box;
}

.flow-box li h3 {
    margin-bottom: 15px;
    font-size: 18px;
}

.flow-box li.left {
    width: 24%;
}

.flow-box li.left img {
    width: 100%;
    height: auto;
}

.merit .web-h2 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}

@media screen and (max-width:1180px) {

    .item-member img,
    .box-item {
        height: auto;
    }

    .pc-menu {
        display: none;
    }


}

@media screen and (min-width:1180px) {
    .menubox-menu {

        display: none;
    }

    .header-frame {
        border-bottom: 1px solid #eaeaea;
    }

    .header-inner {
        width: 1180px;
        margin: 0 auto;
    }

    .pc-menu {
        position: absolute;
        right: 0;
        z-index: 2;
        top: 0;
    }

    .sidebar-menu {
        padding: 0;
        overflow: hidden;
        padding: 0 20px;
    }

    .sidebar-menu a {
        display: inline-block;
        line-height: 84px;
        padding: 0 20px;
        border: none;
    }

    .sidebar-menu li {
        float: left;
    }

    .sidebar-menu a:before {
        border: none;
    }
}

@media screen and (min-width:1280px) {
    .box-menu ul {
        margin: 40px auto 56px;
    }

    .box-menu ul,
    .box-member {
        width: 1280px;
    }

    .header-frame {
        width: 100%;
        margin: 0 auto;
        box-shadow: none;
    }

    .logobox-menu {
        width: 1280px;
        margin: 0 auto;
    }

    .box-blog ul,
    .box-contact ul {
        width: 1280px;
        margin: 0 auto;
    }

    .item-member img,
    .main-top {
        height: auto;
    }

    .box-item {
        height: auto;
    }
}

@media screen and (max-width:992px) {
    .message-box {
        width: 100%;
        padding: 20px
    }

    .btn-float a {
        width: 300px
    }

    .service-wrap {
        margin-bottom: 0;
        padding: 20px 0 0
    }

    .service-box,
    .web-ul li {
        float: none;
        height: auto;
        width: 100%
    }

    .service-box.left {
        margin: 0
    }

    .service-box.right {
        margin: 5pc 0 0
    }

    .web-ul li:nth-child(odd) {
        padding: 0 0 30px
    }

    .web-title {
        padding-top: 0
    }

    .service-wrap p {
        height: auto
    }

    .service-box {
        margin: 5pc 0 0
    }

    .responsive-img {
        width: 100%;
        height: auto
    }

    .box-menu ul li a img {
        width: 100px;
        height: 100px;
    }
}

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

    .nayami-h2 {
        line-height: 1.2;
    }

    .nayami-box {
        width: 100%;
    }

    .nayami-box.left li.left {
        width: 10%;
    }

    .nayami-box.left li.right {
        width: 10%;
    }

    .merit-box li {
        display: block;
        padding: 0;
    }

    .zirei-box .img {
        float: none;
        width: 100%;
    }

    .zirei-box .left {
        width: 100%;
        float: none;
    }

    .zirei-box .right {
        width: 100%;
        float: none;
        padding: 10px 0 0 0;
    }

    .flow-box {
        display: block;
    }

    .flow-box li {
        display: block;
    }

    .flow-box li.left {
        width: 50%;
        text-align: center;
        margin: 0 auto;
    }

    .flow-box li h3 {
        line-height: 1.4;
    }

    .detail #main .flow-box p {
        margin-bottom: 0;
    }

    .nayami-h2 {
        font-size: 24px;
    }

    .nayami-box.left li.left {
        width: 0%;
    }

    .nayami-box {
        text-align: left;
        line-height: 1.2;
    }

    .ds-sp {
        display: inherit;
    }

    .ds-pc {
        display: none;
    }

    #main {
        margin-top: 75pt;
    }

    .main-top .btn-box {
        margin: 30px auto 0;
    }

    .box-item {
        height: auto;
    }

    .item-member img {
        width: 100%;
        height: auto;
    }

    .item-sun {
        width: 70%;
    }

    .item-sun img {
        width: 100%;
    }

    #main.main-top {
        margin-top: 60px;
    }

    .top-text {
        text-align: left;
    }

    .box-menu {
        padding: 40px 16px 80px;
    }

    .box-menu ul {
        padding: 0;
    }

    .box-menu ul li {
        width: 50%;
    }

    .box-menu ul li a {
        font-size: 14px;
        line-height: 2.4;
        padding: 24px 8px;
    }

    .box-menu ul li a img {
        width: 80px;
        height: 80px;
    }

    .box-message {
        width: 100%;
    }

    .box-member {
        margin: 80px 0;
    }

    .box-member ul li {
        width: 100%;
        float: none;
        padding: 0;
    }

    .box-contact,
    .box-greet,
    .box-member,
    .box-message {
        padding: 0 16px;
        box-sizing: border-box;
    }

    .box-contact {
        margin: 30px auto 60px;
    }

    .box-blog {
        padding: 40px 0;
        box-sizing: border-box;
    }

    .box-blog ul {
        padding: 0 16px;
    }

    .box-blog ul li {
        width: 100%;
        padding: 16px 0;
    }

    .box-blog img,
    .responsive-img {
        width: 100%;
        height: auto;
    }

    .header-inner,
    .logobox-menu {
        height: 60px;
    }

    .site-title {
        width: 140px;
        padding: 17px 10px 10px;
    }

    .sidebar-menu {
        padding: 50px 20px 20px;
    }

    .menubox-frame {
        padding: 2px 10px;
        height: 60px;
    }

    #drawer-icon {
        width: 40px;
        height: 40px;
    }

    #drawer-icon span {
        margin: -8% 0 0 -42%;
    }

    .menubox-menu {
        right: 0;
    }

    .menubox-txt {
        width: 40px;
        top: 40px;
    }

    .menubox-close-txt {
        right: 0;
        top: 40px;
    }

    .main-common {
        width: 100%;
    }

    .main-title {
        font-size: 28px;
    }

    #message-main {
        background: url(../img/hiroki_matsumoto_sp.jpg) no-repeat;
        background-size: contain;
        background-color: #f1ffe5;
    }

    #message-main,
    .webp #message-main {
        padding-top: 50%;
        margin: 60px auto 0;
    }

    .webp #message-main {
        background: url(../img/hiroki_matsumoto_sp.jpg.webp) no-repeat;
        background-size: contain;
        background-color: #F2F5F4;
    }

    #message-main .btn-box {
        padding: 0 10px;
        box-sizing: border-box;
    }

    .service-title {
        font-size: 22px;
    }

    .breadcrumbs-box {
        width: 100%;
        margin: 0 auto;
        padding: 0 10px 10px;
        box-sizing: border-box;
        font-size: 14px;
    }

    .table-seminar td,
    table-seminar th {
        display: block;
    }

    .btn-box,
    .btn-box a {
        width: 100%;
    }

    .main-common {
        padding: 10px 10px 0;
        box-sizing: border-box;
    }

    .movie {
        position: relative;
        width: 100%;
        padding-top: 56.25%;
    }

    .movie iframe {
        position: absolute;
        top: 0;
        right: 0;
        width: 100% !important;
        height: 100% !important;
    }

    .youtube {
        width: 100%;
        height: auto;
        text-align: center;
    }

    .table-frame {
        margin: 0 auto;
    }

    .web-history {
        width: 100%;
    }

    .history-date {
        width: 32%;
    }

    .history-contents {
        width: 68%;
    }

    .web-list,
    .web-ol {
        padding: 20px;
    }

    #main.member {
        margin-top: 60px;
    }

    .detail #main .member-title p {
        font-size: 20px;
        margin-bottom: 5px;
    }

    .member-title p span {
        padding: 10px 15px;
    }

    .profile-name {
        bottom: 0;
        left: 0;
    }

    .profile-box {
        margin: 0 auto 4%;
    }

    .profile-box:last-child {
        margin-bottom: 0;
    }

    .profile-wrap {
        margin-bottom: 10px;
    }

    .box-contact ul {
        padding-bottom: 20px;
    }

    .box-contact ul li {
        width: 100%;
        float: none;
    }
}

@media screen and (max-width:720px) {
    .member-title {
        padding: 10px;
        box-sizing: border-box;
    }

    .ebook-ul li,
    .recruit-li {
        padding: 20px 0;
    }

    .ebook-ul .right,
    .recruit-ul .right {
        width: 100%;
        padding: 0;
        float: none;
    }

    .ebook-ul .left,
    .recruit-ul .left {
        width: 100%;
        padding: 0 0 20px;
    }

    .ebook-ul .left,
    .ebook-ul img,
    .recruit-ul .left,
    .recruit-ul img {
        text-align: center;
        margin: 0 auto;
    }

    .recruit-ul img {
        width: 100%;
        height: auto;
    }

    .recruit-tag .gradient {
        font-size: 10px;
        padding: 2px;
        margin: 2px;
    }

    .recruit-tag li:first-child {
        margin: 2px;
    }
}

@media screen and (max-width:560px) {
    .member picture.ds-tb {
        display: none;
    }

    .member picture.ds-sm {
        display: inherit;
    }

    .member-title {
        margin-top: 0;
        top: inherit;
        padding: 10px;
        box-sizing: border-box;
    }

    .profile-box {
        width: 100%;
        float: none;
    }

    .image-photo {
        right: 0;
    }
}

@media screen and (max-width:480px) {
    .ds-tb {
        display: none;
    }

    .ds-sm {
        display: inherit;
    }

    .box-item {
        height: auto;
        margin: 0 0 30px;
    }

    .detail #main .member-title p {
        margin-bottom: 5px;
        font-size: 10px;
    }
}