/*
Theme Name : kisho-law
Theme URI :kisho-law
Description : kisho-law
Version : 1
Author : adben
Author URI :kisho-law.jp
*/


@charset "UTF-8";

abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
cite,
code,
dd,
del,
dfn,
dialog,
div,
dl,
dt,
em,
fieldset,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
main,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
sup,
time,
ul,
var,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    color: #000;
    vertical-align: baseline
}

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


li {
    list-style: none
}

ol li {
    list-style: decimal
}

img {
    border: 0;
    vertical-align: top;
    font-size: 0;
    line-height: 0
}

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

caption,
th {
    text-align: left
}

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

input,
select {
    vertical-align: middle
}

input,
textarea {
    margin: 0;
    padding: 0
}

html {
    font-size: 10px
}

body {
    font-size: 1.4rem
}

.u-wrapper-l {
    max-width: 1000px;
    margin: 0 auto
}

.u-wrapper-m {
    max-width: 800px;
    margin: 0 auto
}

.u-wrapper-s {
    max-width: 500px;
    margin: 0 auto
}

.u-device-sp {
    display: none
}

@media screen and (max-width:767px) {
    .u-device-sp {
        display: block
    }
}

@media screen and (max-width:767px) {
    .u-device-pc {
        display: none
    }
}

.m-breadcrumb {
    max-width: 1000px;
    padding: 10px 15px;
    margin: 0 auto
}

.m-breadcrumb li {
    position: relative;
    display: inline;
    font-size: 1.2rem;
    list-style: none;
    margin: 0 20px 0 0
}

.m-breadcrumb li:after {
    content: ">";
    position: absolute;
    right: -18px;
    top: 0;
    bottom: 0;
    height: 20px;
    margin: auto
}

.m-breadcrumb li:last-child:after {
    content: none
}

.m-breadcrumb a {
    display: inline-block
}

.m-pagevisual {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 200px;
    font-size: 2rem;
    font-weight: 700;
    color: #fff;
    background: #333
}

.m-pagination {
    display: flex;
    align-items: center;
    justify-content: center
}

.m-pagination__next a,
.m-pagination__prev a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid #333;
    box-sizing: border-box
}

.m-pagination__body {
    display: flex;
    margin: 0 20px
}

.m-pagination__body a,
.m-pagination__body li {
    display: flex;
    align-items: center;
    justify-content: center
}

.m-pagination__body li {
    width: 40px;
    height: 40px;
    list-style: none;
    margin: 0 5px;
    border: 1px solid #333;
    box-sizing: border-box
}

.m-pagination__body a {
    width: 100%;
    height: 100%
}

.m-pager {
    display: flex;
    align-items: center;
    justify-content: center
}

body {
    font-family: Meiryo, 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    position: relative;
    font-size: 1.4rem;
    line-height: 1.5;
    color: #000;
    overflow-x: hidden;
    word-break: break-all
}

@media screen and (max-width:767px) {
    body {
        transition: all .3s ease-in-out
    }

    body:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, .8);
        z-index: 7;
        visibility: hidden;
        opacity: 0;
        transition: all .3s ease-in-out
    }

    body.active {
        position: fixed;
        overflow: hidden;
        transform: translateX(-320px)
    }

    body.active:before {
        visibility: visible;
        opacity: 1
    }
}

main {
    display: block
}

a {
    color: #000;
    outline: 0;
    text-decoration: none;
    transition: .3s
}

a:hover {
    opacity: .7
}

img {
    width: 100%;
    height: auto
}

.l-header__hum {
    display: none
}

.l-header.-front {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 365px;
    background: url("./assets/images/front/bg-visual01.jpg") center/cover
}

.l-header.-front h1 {
    max-width: 470px;
    line-height: 1
}

.l-header.-under {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 80px;
    background: url("./assets/images/_common/bg-visual01.jpg") center/cover;
    padding: 0 50px
}

.l-header.-under h1 {
    max-width: 245px;
    line-height: 1
}

@media screen and (max-width:767px) {
    .l-header__hum {
        position: absolute;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        top: 0;
        right: 0;
        width: 70px;
        height: 70px;
        cursor: pointer
    }

    .l-header__hum div {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        margin: 10px 0 5px
    }

    .l-header__hum span {
        display: inline-block;
        width: 20px;
        height: 2px;
        background: #000;
        border-radius: 1px
    }

    .l-header__hum span:nth-child(2) {
        margin: 4px 0
    }

    .l-header__hum p {
        font-size: 1rem;
        font-weight: 700
    }

    .l-header.-front {
        height: 200px;
        padding: 0;
        box-sizing: border-box
    }

    .l-header.-front h1 {
        max-width: 240px
    }

    .l-header.-under {
        height: 70px;
        padding: 0
    }

    .l-header.-under h1 {
        max-width: 180px;
        padding: 15px
    }
}

.l-footer__nav {
    display: flex;
    justify-content: center;
    margin: 0 0 20px
}

.l-footer__nav li {
    margin: 0 4px
}

.l-footer__nav a {
    display: flex;
    align-items: center;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .1rem
}

.l-footer__nav span {
    display: block;
    width: 40px;
    margin: 0 5px 0 0
}

.l-footer__content {
    display: flex;
    align-items: center;
    justify-content: center;
    background: grey;
    padding: 10px 50px
}

.l-footer__contact {
    display: flex;
    align-items: center;
    margin: 0 20px 0 0
}

.l-footer__contact__ttl {
    width: 155px;
    margin: 0 10px 0 0
}

.l-footer__contact__ttl span {
    display: none
}

.l-footer__contact__num {
    display: flex;
    align-items: center;
    flex-wrap: wrap
}

.l-footer__contact__num li {
    margin: 0 20px 0 0
}

.l-footer__contact__num li:last-child {
    margin: 0
}

.l-footer__contact__num a,
.l-footer__contact__num span {
    font-size: 3.2rem;
    font-weight: 700;
    color: #fff
}

.l-footer__time__ttl {
    width: 150px;
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
    border: 1px solid #fff;
    margin: 0 0 5px
}

.l-footer__time__num {
    font-size: 1.2rem;
    font-weight: 700;
    color: #fff
}

.l-footer__copyright {
    display: flex;
    justify-content: center;
    font-size: 1.2rem;
    padding: 15px 50px
}

@media screen and (max-width:767px) {
    .l-footer__nav {
        display: block;
        padding: 0 15px;
        margin: 0 0 20px
    }

    .l-footer__nav li {
        margin: 0 0 5px
    }

    .l-footer__nav a {
        font-size: 1.4rem
    }

    .l-footer__content {
        display: block;
        padding: 15px
    }

    .l-footer__contact {
        display: block;
        margin: 0 0 20px
    }

    .l-footer__contact__ttl {
        width: 100%;
        margin: 0 0 5px
    }

    .l-footer__contact__ttl span {
        display: block;
        color: #fff;
        font-size: 1.4rem;
        font-weight: 700;
        border: 1px solid #fff;
        padding: 5px 10px
    }

    .l-footer__contact__ttl img {
        display: none
    }

    .l-footer__contact__num {
        display: block
    }

    .l-footer__contact__num li {
        margin: 0
    }

    .l-footer__contact__num a,
    .l-footer__contact__num span {
        font-size: 2rem
    }

    .l-footer__time__ttl {
        width: 100%;
        font-size: 1.4rem;
        text-align: left;
        padding: 5px 10px;
        box-sizing: border-box
    }

    .l-footer__time__num {
        font-size: 1.6rem
    }

    .l-footer__copyright {
        padding: 15px
    }
}

.l-sidebar__head div {
    width: 65px;
    margin: 0 0 5px
}

.l-sidebar__head h2 {
    font-size: 1.2rem;
    line-height: 1.5
}

.l-sidebar__head span {
    display: block;
    font-size: 2.4rem;
    letter-spacing: .1rem
}

.l-sidebar__list {
    margin: 30px 0 0
}

.l-sidebar__list li {
    margin: 0 0 5px
}

.l-sidebar__list li:last-child {
    margin: 0
}

.l-sidebar__list li.current a,
.l-sidebar__list li.current span {
    color: #000
}

.l-sidebar__list a {
    display: block;
    font-weight: 700;
    color: #999;
    padding: 5px 0
}

.l-sidebar__list span {
    font-size: 1.2rem;
    color: #999
}

@media screen and (max-width:767px) {
    .l-sidebar__head div {
        margin: 0 auto
    }

    .l-sidebar__head h2 {
        text-align: center
    }
}

.l-nav {
    position: fixed;
    top: 0;
    right: -320px;
    width: 320px;
    height: 100vh;
    background: #fff;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    z-index: 1
}

.l-nav__close {
    display: flex;
    align-items: center;
    height: 70px;
    font-weight: 700;
    padding: 0 15px;
    border-bottom: 1px solid #ccc;
    box-sizing: border-box;
    cursor: pointer
}

.l-nav__list li {
    border-bottom: 1px solid #ccc
}

.l-nav__list a {
    display: flex;
    align-items: center;
    font-weight: 700;
    letter-spacing: .1rem;
    padding: 10px 15px
}

.l-nav__list span {
    width: 50px;
    margin: 0 10px 0 0
}

.l-container {
    display: flex;
    max-width: 1000px;
    padding: 50px 50px 200px;
    margin: 0 auto
}

.l-container__sidebar {
    width: 200px;
    margin: 0 30px 0 0
}

.l-container__sidebar2 {
    width: 200px;
    margin-left: 30px
}

.l-container__sidebar2 ul li {
    list-style-type: square;
}

.l-container__sidebar2 ul {
    margin-left: 1em;
}




.l-container__main {
    flex: 1
}

@media screen and (max-width:767px) {
    .l-container {
        display: block;
        padding: 30px 15px 100px
    }

    .l-container__sidebar {
        width: 100%;
        margin: 0 0 50px
    }

    .l-container__sidebar2 {
        width: 100%;
        margin: 0 0 50px
    }
}

.l-menu {
    display: flex;
    flex-direction: row-reverse;
    max-width: 980px;
    height: 480px;
    padding: 80px 50px;
    margin: 0 auto
}

.l-menu__column01 {
    width: 33.3333%
}

.l-menu__column02 {
    display: flex;
    flex-wrap: wrap;
    width: 66.6666%
}

.l-menu .menu a {
    display: flex;
    box-sizing: border-box
}

.l-menu .menu div {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column
}

.l-menu .menu i {
    display: block;
    width: 50px;
    height: 50px;
    margin: 0 0 5px
}

.l-menu .menu p {
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.2;
    letter-spacing: .1rem;
    text-indent: .1rem
}

.l-menu .menu span {
    display: block;
    font-size: 1.6rem
}

.l-menu .menu.-menu01 {
    height: 70%
}

.l-menu .menu.-menu01 a {
    justify-content: center;
    height: 100%;
    background: #ffcf10 url("./assets/images/front/img-service01.png") center bottom/cover;
    padding: 60px 15px
}

.l-menu .menu.-menu02 {
    height: 30%
}

.l-menu .menu.-menu02 a {
    align-items: center;
    justify-content: center;
    height: 100%;
    background: #14a6c9;
    padding: 15px
}

.l-menu .menu.-menu02 p {
    color: #fff
}

.l-menu .menu.-menu02 span {
    color: #fff
}

.l-menu .menu.-menu03 {
    width: 50%;
    height: 50%
}

.l-menu .menu.-menu03 a {
    align-items: center;
    width: 100%;
    height: 100%;
    background: #14a6c9 url("./assets/images/front/img-about01.png") center bottom/cover;
    padding: 30px
}

.l-menu .menu.-menu03 p {
    color: #fff
}

.l-menu .menu.-menu03 span {
    color: #fff
}

.l-menu .menu.-menu04 {
    width: 50%;
    height: 50%
}

.l-menu .menu.-menu04 a {
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    height: 100%;
    background: #a6deeb url("./assets/images/front/img-greeting01.png") center bottom/cover;
    padding: 30px
}

.l-menu .menu.-menu05 {
    width: 78%;
    height: 50%
}

.l-menu .menu.-menu05 a {
    align-items: center;
    width: 100%;
    height: 100%;
    background: #ffcf10 url("./assets/images/front/img-member01.png") center bottom/cover;
    padding: 30px
}


.l-menu .menu.-menu06 {
    width: 22%;
    height: 50%
}

.l-menu .menu.-menu06 a {
    align-items: center;
    justify-content: center;
    height: 100%;
    background: #ededed;
    padding: 15px
}

@media screen and (max-width:767px) {
    .l-menu {
        display: none
    }
}

.l-menu-mobile {
    display: none
}

@media screen and (max-width:767px) {
    .l-menu-mobile {
        display: block;
        padding: 50px 15px
    }

    .l-menu-mobile .menu {
        margin: 0 0 10px
    }

    .l-menu-mobile .menu a {
        display: flex;
        justify-content: center;
        box-sizing: border-box;
        padding: 30px 15px
    }

    .l-menu-mobile .menu div {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column
    }

    .l-menu-mobile .menu i {
        display: block;
        width: 50px;
        height: 50px;
        margin: 0 0 5px
    }

    .l-menu-mobile .menu p {
        font-size: 1rem;
        font-weight: 700;
        text-align: center;
        line-height: 1.2
    }

    .l-menu-mobile .menu span {
        display: block;
        font-size: 1.6rem
    }

    .l-menu-mobile .menu.-menu01 {
        height: 100%
    }

    .l-menu-mobile .menu.-menu01 a {
        background: #ffcf10 url("./assets/images/front/img-service01.png") no-repeat left bottom/35%
    }

    .l-menu-mobile .menu.-menu02 {
        height: 100%
    }

    .l-menu-mobile .menu.-menu02 a {
        background: #14a6c9;
        padding: 30px 15px
    }

    .l-menu-mobile .menu.-menu03 {
        width: 100%;
        height: auto
    }

    .l-menu-mobile .menu.-menu03 a {
        background: #14a6c9 url("./assets/images/front/img-about01.png") no-repeat right bottom/50%
    }

    .l-menu-mobile .menu.-menu04 {
        width: 100%;
        height: auto
    }

    .l-menu-mobile .menu.-menu04 a {
        background: #a6deeb url("./assets/images/front/img-greeting01.png") no-repeat left 10% bottom/50%
    }

    .l-menu-mobile .menu.-menu05 {
        width: 100%;
        height: auto
    }

    .l-menu-mobile .menu.-menu05 a {
        background: #ffcf10 url("./assets/images/front/img-member01.png") no-repeat right center/50%
    }

    .l-menu-mobile .menu.-menu06 {
        width: 100%;
        height: auto
    }

    .l-menu-mobile .menu.-menu06 a {
        background: #ededed
    }
}

.p-management__head {
    font-family: "ヒラギノ明朝 ProN W6", HiraMinProN-W6, "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    font-size: 2.4rem;
    letter-spacing: .1rem;
    text-indent: .1rem;
    text-align: center;
    margin: 0 0 50px
}

.p-management__head span {
    display: block;
    width: 85px;
    margin: 0 auto 10px
}

.p-management__lead {
    font-family: "ヒラギノ明朝 ProN W6", HiraMinProN-W6, "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    font-size: 3.2rem;
    text-align: center;
    letter-spacing: 1rem;
    text-indent: 1rem;
    margin: 0 0 50px
}

.p-management__list li {
    font-size: 1.8rem;
    text-align: center;
    line-height: 2;
    margin: 0 0 60px
}

.p-management__list li:last-child {
    margin: 0
}

.p-management__list span {
    font-family: "ヒラギノ明朝 ProN W6", HiraMinProN-W6, "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    background: #a6deeb;
    border-radius: 50%;
    margin: 0 auto 10px
}

@media screen and (max-width:767px) {
    .p-management__head {
        font-size: 2rem;
        margin: 0 0 30px
    }

    .p-management__head span {
        width: 50px
    }

    .p-management__lead {
        font-size: 2.5rem;
        margin: 0 0 30px
    }

    .p-management__list li {
        font-size: 1.6rem;
        margin: 0 0 30px
    }
}

.p-greeting__thumb {
    margin: 0 0 30px
}

.p-greeting__head {
    font-family: "ヒラギノ明朝 ProN W6", HiraMinProN-W6, "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    font-size: 3.2rem;
    letter-spacing: .1rem;
    margin: 0 0 20px
}

.p-greeting__body p {
    font-size: 1.4rem;
    line-height: 2;
    margin: 0 0 10px
}

.p-greeting__body p:last-child {
    font-family: "ヒラギノ明朝 ProN W6", HiraMinProN-W6, "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    font-size: 1.2rem;
    text-align: right;
    margin: 0
}

.p-greeting__body p:last-child span {
    font-size: 2.8rem;
    margin: 0 0 0 10px
}

@media screen and (max-width:767px) {
    .p-greeting__head {
        font-size: 2rem
    }
}

.p-about__head {
    margin: 0 0 20px
}

.p-about__body {
    display: flex
}

.p-about__content {
    width: 50%;
    padding: 0 30px 0 0;
    box-sizing: border-box
}

.p-about__content p {
    font-size: 1.4rem;
    line-height: 1.8
}

.p-about__thumb {
    width: 50%
}

@media screen and (max-width:767px) {
    .p-about__body {
        display: block
    }

    .p-about__content {
        width: 100%;
        padding: 0 0 20px
    }

    .p-about__thumb {
        width: 100%
    }
}

.p-member__head {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    flex-direction: column;
    height: 430px;
    padding: 50px;
    margin: 0 0 50px;
    box-sizing: border-box
}

.p-member__head__pic {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    z-index: -1
}

.p-member__head__ttl {
    font-size: 3rem;
    letter-spacing: .1rem;
    margin: 0 0 30px
}

.p-member__head__content {
    width: 290px
}

.p-member__head__name {
    font-family: "ヒラギノ明朝 ProN W6", HiraMinProN-W6, "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    margin: 0 0 20px
}

.p-member__head__name span {
    display: block;
    line-height: 1.5
}

.p-member__head__name span:nth-child(1) {
    font-size: 1.3rem;
    letter-spacing: .1rem
}

.p-member__head__name span:nth-child(2) {
    font-size: 3.5rem;
    letter-spacing: .5rem
}

.p-member__head__name span:nth-child(3) {
    font-size: 1rem
}

.p-member__head__info {
    font-family: "ヒラギノ明朝 ProN W6", HiraMinProN-W6, "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif
}

.p-member__head__info dd,
.p-member__head__info dt {
    font-size: 1.2rem
}

.p-member__head__info dt {
    padding: 0 0 5px;
    margin: 0 0 5px;
    border-bottom: 1px solid #000
}

.p-member__head__info dd p:last-child {
    margin: 5px 0 0
}

.p-member__body {
    display: flex
}

.p-member__body__main {
    width: 65%;
    padding: 0 30px 0 0;
    box-sizing: border-box
}

.p-member__body__block {
    margin: 0 0 20px
}

.p-member__body__block:last-child {
    margin: 0
}

.p-member__body__content h3 {
    font-size: 2rem;
    color: #14a6c9;
    letter-spacing: .1rem;
    margin: 0 0 5px
}

.p-member__body__content p {
    font-size: 1.2rem;
    line-height: 1.8;
    letter-spacing: .1rem
}

.p-member__body__thumb {
    display: none
}

.p-member__body__pic {
    width: 35%
}

.p-member__body__pic p {
    margin: 0 0 20px
}

.p-member__body__pic p:last-child {
    margin: 0
}

@media screen and (max-width:820px) {
    .p-member__head {
        display: block;
        height: auto;
        padding: 0;
        margin: 0 0 30px
    }

    .p-member__head__pic {
        position: static;
        padding-top: 100%;
        margin: 0 0 20px
    }

    .p-member__head__ttl {
        font-size: 2rem;
        margin: 0 0 20px
    }

    .p-member__head__content {
        width: 100%
    }

    .p-member__body {
        display: block
    }

    .p-member__body__main {
        width: 100%;
        padding: 0
    }

    .p-member__body__content {
        margin: 0 0 20px
    }

    .p-member__body__thumb {
        display: block
    }

    .p-member__body__pic {
        display: none
    }
}

.p-service__tag {
    display: flex;
    margin: 0 0 -25px
}

.p-service__tag span {
    position: relative;
    display: flex;
    justify-content: center;
    width: 80px;
    height: 50px;
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    background: #fff;
    padding: 5px;
    margin: 0 -40px 0 0;
    border: 1px solid #14a6c9;
    border-radius: 10px;
    box-sizing: border-box
}

.p-service__tag span a {
    color: #fff;
}


.p-service__tag span.in01 {
    z-index: 1
}

.p-service__tag span.in02 {
    z-index: 2
}

.p-service__tag span.in03 {
    z-index: 3
}

.p-service__tag span.in04 {
    z-index: 4
}

.p-service__tag span.current {
    color: #14a6c9
}

.p-service__main {
    position: relative;
    background: #fff;
    padding: 50px;
    border: 1px solid #14a6c9;
    border-radius: 20px;
    z-index: 6
}

.p-service__head {
    font-size: 2.2rem;
    font-weight: 700;
    color: #14a6c9;
    margin: 0 0 10px
}

.p-service .content01 p {
    font-size: 1.2rem;
    line-height: 2
}

.p-service .content01__head {
    margin: 0 0 20px
}

.p-service .content01__body {
    display: flex
}

.p-service .content01__body p {
    width: 70%;
    padding: 0 30px 0 0;
    box-sizing: border-box
}

.p-service .content01__body div {
    width: 30%;
    margin: -20px 0 0
}

.p-service .content02 {
    display: flex
}

.p-service .content02 p {
    width: 70%;
    font-size: 1.2rem;
    line-height: 2;
    padding: 0 30px 0 0;
    box-sizing: border-box
}

.p-service .content02 div {
    width: 30%
}

.p-service .content03 {
    display: flex;
    align-items: center
}

.p-service .content03 p {
    width: 65%;
    font-size: 1.2rem;
    line-height: 2;
    padding: 0 30px 0 0;
    box-sizing: border-box
}

.p-service .content03 div {
    width: 35%
}

.p-service .content04 {
    display: flex
}

.p-service .content04 p {
    width: 80%;
    font-size: 1.2rem;
    line-height: 2;
    padding: 0 30px 0 0;
    box-sizing: border-box
}

.p-service .content04 div {
    width: 20%;
    margin: -50px 0 0
}

@media screen and (max-width:767px) {
    .p-service__main {
        padding: 30px 15px
    }

    .p-service__head {
        font-size: 2rem
    }

    .p-service .content01__body {
        display: block
    }

    .p-service .content01__body p {
        width: 100%;
        padding: 0 0 20px
    }

    .p-service .content01__body div {
        width: 50%;
        margin: 0 auto
    }

    .p-service .content02 {
        display: block
    }

    .p-service .content02 p {
        width: 100%;
        padding: 0 0 20px
    }

    .p-service .content02 div {
        width: 50%;
        margin: 0 auto
    }

    .p-service .content03 {
        display: block
    }

    .p-service .content03 p {
        width: 100%;
        padding: 0 0 20px
    }

    .p-service .content03 div {
        width: 50%;
        margin: 0 auto
    }

    .p-service .content04 {
        display: block
    }

    .p-service .content04 p {
        width: 100%;
        padding: 0 0 20px
    }

    .p-service .content04 div {
        width: 50%;
        margin: 0 auto
    }
}

.p-access__lead {
    font-size: 1.7rem;
    font-weight: 700;
    margin: 0 0 20px
}

.p-access__head {
    font-size: 3.8rem;
    font-weight: 700;
    color: #14a6c9
}

.p-access__map {
    margin: 0 0 10px
}

.p-access__map iframe {
    width: 100%;
    height: 500px
}

.p-access__add {
    font-size: 1.3rem;
    font-weight: 700
}

.p-access__num {
    margin: 0 0 20px
}

.p-access__num a,
.p-access__num span {
    font-size: 2.7rem;
    font-weight: 700
}

.p-access__info dt {
    font-size: 1.6rem;
    font-weight: 700;
    background: #a6deeb;
    padding: 5px 10px;
    margin: 0 0 10px
}

.p-access__info p {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 5px
}

.p-access__info p:last-child {
    margin: 0
}

.p-access__info small {
    font-size: 1.2rem;
    font-weight: 400
}

@media screen and (max-width:767px) {
    .p-access__lead {
        font-size: 1.4rem
    }

    .p-access__head {
        font-size: 3rem
    }

    .p-access__map iframe {
        height: 300px
    }

    .p-access__add {
        margin: 0 0 10px
    }

    .p-access__num a,
    .p-access__num span {
        display: block;
        font-size: 2rem
    }

    .p-access__num .slash {
        display: none
    }
}

h2.widgettitle {
    font-size: 1.6rem;
    font-weight: 700;
    margin: 24px 0 8px
}

h2.blog_title {
    font-family: "ヒラギノ明朝 ProN W6", HiraMinProN-W6, "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    font-size: 2.4rem;
    letter-spacing: .05em;
    margin: 0 0 8px;
}


.news_wrap {
    display: flex;
    width: 100%;
    justify-content: center;
    margin-bottom: 3em;
}

.whatsnew {
    display: block;
    width: 980px;
}

.column-title {
    display: inline-block;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
}

.column-title span {
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.2;
    letter-spacing: .1rem;
    text-indent: .1rem;
    margin-left: 1em;
}

.column-title::before {
    content: '';
    display: inline-block;
    line-height: 1.5;
    vertical-align: middle;
    margin-right: .8em;
    width: 50px;
    height: 50px;
    background-image: url(./assets/images/_common/ico-menu07.png);
    background-size: contain;
}



.date {
    clear: both;
    font-size: 1.2rem;
    color: #666;
    padding-top: 24px;
}

.category {
    background: #cceaf2;
    font-size: 1.2rem;
    line-height: 1;
    border: 1px solid #666;
    padding: 2px 6px;
    display: inline-block;
    margin: 0 0 12px
}

.category:hover {
    background: #14a6c9;
}


@media screen and (max-width:980px) {
    .news_wrap {
        padding: 50px 15px
    }

    .whatsnew {
        display: block;
        width: 95%;
    }
}

.entry-container {
    display: flex;
    max-width: 1000px;
    padding: 50px 50px 200px;
    margin: 0 auto
}

.entry-container__main {
    flex: 1;
}

@media screen and (max-width:767px) {
    .entry-container {
        display: block;
        padding: 30px 15px 100px
    }

}


.entry-content {
    padding: 0 0 24px;
    margin: 0 0 24px;
    border-bottom: 1px dotted #14a6c9;
    line-height: 2em;
}

.entry-content img {
    padding: 24px 0 0;
    width: auto;
    max-width: 100%;
}

.entry-content::after {
    content: "";
    clear: both;
    display: block;
    margin-bottom: 24px;
}

.entry-content h2 {
    font-size: 2rem;
    color: #14a6c9;
    letter-spacing: .1rem;
    margin: 2em 0;
    padding-left: 8px;
    border-left: 5px solid #14a6c9;
}

.entry-content h3 {
    font-size: 1.8rem;
    letter-spacing: .1rem;
    margin: 1em 0;
}

.entry-content a {
    text-decoration: underline;
    color: #14a6c9;
}

/*  page navi  */
.local-navigation {
    color: #14a6c9;
    margin: 1em auto;
    line-height: 2em;
    text-align: center;
}

a.page-numbers,
.local-navigation .current {
    color: #14a6c9;
    padding: 2px .4em;
    border: solid 1px #ccc;
    text-decoration: none;
    font-size: smaller;
}

a.page-numbers:hover {
    color: white;
    background: #14a6c9;
}

.local-navigation .current {
    color: white;
    background: #14a6c9;
    border-color: #14a6c9;
    font-weight: bold;
}



/* Images */
.alignleft {
    float: left;
    margin-right: 24px;
}

.alignright {
    float: right;
}

.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

figure.wp-caption.alignright,
img.alignright {
    margin: 5px 0 5px 20px;
}

.wp-caption.alignright {
    margin: 5px 0 5px 10px;
}

img.aligncenter {
    margin: 5px auto;
}

img.alignnone {
    margin: 5px 0;
}


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

    .alignleft,
    .alignright {
        float: none;
        display: block;
        margin-left: auto;
        margin-right: auto;
    }
}

/* form */
#search {
    border: 1px solid #ccc;
    height: 30px;
    padding: 0 10px;
    max-width: 120px;
    border-radius: 3px;
    background: #efefef;
}

#searchsubmit {
    display: inline;
    width: 50px;
    height: 30px;
    border-radius: 2px;
    background: #14a6c9;
    color: #fff;
    font-weight: bold;
    font-size: 14px;
    border: none;
}

#searchsubmit:hover {
    background: #0e7b96;
    color: #ccc;
}

/*Tag*/
.widget_tag_cloud .tagcloud a {
    background: #eee;
    border: none;
    color: #333;
    padding: 6px;
    margin: 3px;
    border-radius: 3px;
    font-size: 13px;
    border: 1px solid #ccc;
}

.widget_tag_cloud .tagcloud a:hover {
    background: #14a6c9;
    color: #fff;
}

.column_tag{
    font-size: 13px;
    margin-left:.5em
}

.column_tag a{
    text-decoration: underline;
}

.column_tag::before{
    content: '#';
}

h3.archive_title{
    margin-top: 1.8em;
    background: #cceaf2;
    padding:4px 8px;
    border-left: 6px solid #14a6c9;
}
