@charset "UTF-8";
/* CSS Document */

html {
    font-size: 16px;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;

    overflow: auto;
    height: 100%;
    background-color: #fff;
}

b, strong, .bold {
    font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    font-weight: bold;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
    display: none;
}

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

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

p {
    color: #393232;
    margin: 0;
}

a, a:hover {
    text-decoration: none;
}

*, *::after, *::before {
    box-sizing: border-box;
}

@media (min-width: 992px) {
    .display-none.min-992 {
        display: none !important;
    }
}

@media (max-width: 991px) {
    .display-none.max-991 {
        display: none !important;
    }
}

@media (min-width: 768px) {
    .display-none.min-768 {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .display-none.max-767 {
        display: none !important;
    }
}

.flex-box {
    display: flex;
}

.effect-fade {
    opacity: 0;
}

.fade-01 {
    transform: translate(0, 45px);
    transition: 0.5s;
}

.fade-02 {
    transform: translate(0, 45px);
    transition: 0.6s;
}

.fade-03 {
    transform: translate(0, 45px);
    transition: 0.7s;
}

.fade-04 {
    transform: translate(0, 45px);
    transition: 0.8s;
}

.fade-05 {
    transform: translate(0, 45px);
    transition: 0.9s;
}

.fade-06 {
    transform: translate(0, 45px);
    transition: 1.0s;
}

.fade-07 {
    transform: translate(0, 45px);
    transition: 1.1s;
}

.fade-08 {
    transform: translate(0, 45px);
    transition: 1.2s;
}

.fade-09 {
    transform: translate(0, 45px);
    transition: 1.3s;
}

.fade-10 {
    transform: translate(0, 45px);
    transition: 1.4s;
}

.fade-11 {
    transform: translate(0, 45px);
    transition: 1.5s;
}

.fade-12 {
    transform: translate(0, 45px);
    transition: 1.6s;
}

.fade-13 {
    transform: translate(0, 45px);
    transition: 1.7s;
}

.fade-14 {
    transform: translate(0, 45px);
    transition: 1.8s;
}

.fade-15 {
    transform: translate(0, 45px);
    transition: 1.9s;
}

.fade-16 {
    transform: translate(0, 45px);
    transition: 2.0s;
}

.effect-fade.effect-scroll {
    opacity: 1;
    transform: translate(0, 0);
}

/*------------------------------------------*/
/*------------------------------------------管理画面用_マージン------------------------------------------*/
@media (min-width: 783px) {
    .margin-top-32 {
        margin-top: 32px;
    }
}

@media (max-width: 782px) {
    .margin-top-46 {
        margin-top: 46px;
    }
}

/*------------------ヘッダー------------------*/
header {
    background-color: #fff;
    position: fixed;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 1000;
    transition: .5s;
}

header:hover {
    background-color: #fff;
}

header:hover .modal-btn {
    background-color: #32C0AA;
}

@media (max-width: 991px) {
    header:hover .modal-btn {
        background-color: transparent;
    }
}

.hidden {
    background: none;
    transition: all 0.5s ease;
}

@media (max-width: 991px) {
    .hidden {
        background: transparent;
    }
}

header .container-fluid {
    width: 100%;
    padding-right: 0;
    padding-left: 0;
    margin-right: auto;
    margin-left: auto;
}

.header-inner {
    display: flex;
    justify-content: space-between;
    padding: 0;
}

.header-inner-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    width: 100%;
    height: 80px;
}

@media (max-width: 991px) {
    .header-inner-inner {
        width: calc(100% - 50px);
        height: 50px;
    }
}

.main-logo {
    height: auto;
    text-align: left;
    padding: 15px 0;
    padding-left: 15px;
    width: auto;
    float: left;
}

@media (max-width: 991px) {
    .main-logo {
        padding: 10px 0;
        padding-left: 10px;
    }
}

.main-logo.modal-logo-header {
    display: none;
}

.modal-open .main-logo.modal-logo-header {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1111;
    height: 65px;
    width: 100%;
    background-color: transparent;
}

@media (max-width: 991px) {
    .modal-open .main-logo.modal-logo-header {
        height: 50px;
        background-color: rgba(88, 197, 217, 0.7);
    }
}

.main-logo a {
    display: block;
}

.main-logo a img {
    width: auto;
    height: 35px;
}

@media (max-width: 991px) {
    .main-logo a img {
        width: auto;
        height: 30px;
    }
}

.hidden .main-logo a img.visible-img {
    display: none;
}

.visible .main-logo a img.hidden-img {
    display: none;
}

@media (max-width: 991px) {
    .hidden .main-logo a img.hidden-img {
        display: block;
    }

    .hidden .main-logo a img.visible-img {
        display: none;
    }
}

header:hover .main-logo a img.visible-img {
    display: block;
}

header:hover .main-logo a img.hidden-img {
    display: none;
}

header nav {
    width: 100%;
    /*float: left;
    margin: 0 4%;*/
}

.header-inner-inner-right {
    width: 80%;
}

header ul.main-menu {
    display: flex;
    justify-content: flex-end;
}

header ul.main-menu li {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: 80px;
    line-height: 80px;
    text-align: center;
    padding-right: 50px;
    transition: .3s;
}

header ul.main-menu li:last-of-type {
    padding-right: 15px;
}

@media screen and (max-width: 1199px) {
    header ul.main-menu li {
        padding-right: 30px;
    }
}

@media screen and (max-width: 1099px) {
    header ul.main-menu li {
        padding-right: 25px;
    }
}

header ul.main-menu li a {
    display: block;
    color: #000;
    /*font-weight: normal;*/
    font-size: 10px;
    line-height: 1;
    transition: .3s;
    position: relative;
}

header ul.main-menu li a:hover {
    /*opacity: 0.6;*/
}

header ul.main-menu li p {
    display: block;
    color: #000;
    /*font-weight: normal;*/
    font-size: 10px;
    line-height: 1;
    transition: .3s;
    position: relative;
}

header ul.main-menu li a span {
    display: block;
    letter-spacing: 0.03rem;
    margin-bottom: 5px;
    font-weight: bold;
    font-size: 12px;
}

header ul.main-menu li p span {
    display: block;
    letter-spacing: 0.03rem;
    margin-bottom: 5px;
    font-weight: bold;
    font-size: 12px;
}

header.hidden ul.main-menu li a {
    color: #FFF;
}

header.hidden ul.main-menu li p {
    color: #FFF;
}

header:hover ul.main-menu li a {
    color: #000;
}

header:hover ul.main-menu li a:hover {
    color: #58C5D9;
}

header:hover ul.main-menu li .first-p {
    color: #000;
    padding: 0;
}

header:hover ul.main-menu li .first-p:hover {
    color: #58C5D9;
}

header:hover ul.main-menu li.multi-menu:hover .first-p {
    color: #58C5D9;
}

header ul.main-menu li.contact-button .dropdown__btn {
    display: block;
    width: 100%;
    background-color: #58C5D9;
    border: 2px solid #58C5D9;
    color: #FFF;
    padding: 11px 30px;
    border-radius: 5px;
    font-weight: bold;
    font-size: 14px;
    line-height: 1;
    transition: .3s;
    position: relative;
}

header.visible ul.main-menu li.contact-button .dropdown__btn {
    display: block;
    width: 100%;
    background-color: #58C5D9;
    border: 2px solid #58C5D9;
}

header:hover ul.main-menu li.contact-button .dropdown__btn {
    background-color: #58C5D9;
}


.menu-mege {
    /*position: relative;*/
    width: 100%;
    height: 80px;
    /*max-width: 1000px;*/
    margin: 0 auto;
}

.menu-mege>li {
    float: left;
    width: 16.66%;
    /* グローバルナビ4つの場合 */
    height: 80px;
    line-height: 80px;
    /*background: #fff;*/
    text-align: center;
}

.menu-mege>li a {
    display: block;
    color: #444;
    font-weight: bold;
    font-size: 12px;
    transition: .3s;
    position: relative;
}

.hidden .menu-mege>li a {
    color: #fff;
}

header:hover .menu-mege>li a {
    /*color: #444;*/
}

.menu-mege>li a::after {
    /*position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 5px;
  background: -moz-linear-gradient(left, #32C0AA, #00BBE2);
  background: -webkit-linear-gradient(left, #32C0AA, #00BBE2);
  background: linear-gradient(to right, #32C0AA, #00BBE2);
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .3s;*/
}

.menu-mege>li a:hover::after {
    /*transform-origin: left top;
  transform: scale(1, 1);*/
}

@media (min-width: 992px) {
    .menu-mege>li a {
        font-size: calc(0.625rem + ((1vw - 9.92px) * 0.9615));
    }
}

@media (min-width: 1200px) {
    .menu-mege>li a {
        font-size: 12px;
    }
}

.menu-mege .menu__second-level:before {
    /*content: '';
    display: inline-block;
    width: 13px;
    height: 13px;
    position: absolute;
    top: -6.5px;
    left: calc(50% - 6.5px);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    transition: .5s;*/
}

.menu-mege .menu__second-level>li {
    /*height: 50px;
    line-height: 50px;*/
    height: auto;
    /*line-height: 1;*/
    /*padding: 0 15px;*/
    width: 50%;
    padding: 5px;
    padding-top: 0;
}

header:hover .menu-mege .menu__second-level>li a {
    color: #444;
    /*font-weight: bold;*/
    font-size: 12px;
    transition: .3s;

    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

@media (min-width: 992px) {
    .menu-mege .menu__second-level>li a {
        font-size: calc(0.625rem + ((1vw - 9.92px) * 0.9615));
    }
}

@media (min-width: 1200px) {
    .menu-mege .menu__second-level>li a {
        font-size: 12px;
        padding-bottom: 0;
    }
}

header:hover .menu-mege .menu__second-level>li a.kagawa {
    background-color: #589dd9;
    transition: .3s;
}

header:hover .menu-mege .menu__second-level>li a.kagawa:hover {
    background-color: #457dae;
}

header:hover .menu-mege .menu__second-level>li a.osaka {
    background-color: #fe6c39;
    transition: .3s;
}

header:hover .menu-mege .menu__second-level>li a.osaka:hover {
    background-color: #d24e20;
}

header:hover .menu-mege .menu__second-level>li a.tokyo {
    background-color: #4abe88;
    transition: .3s;
}

header:hover .menu-mege .menu__second-level>li a.tokyo:hover {
    background-color: #399168;
}

header:hover .menu-mege .menu__second-level>li a p {
    color: #FFF;
    font-size: 14px;
    letter-spacing: 0.05rem;
    padding-bottom: 0;
}

.menu-mege .menu__second-level>li a .thumbnail {
    width: 120px;
    height: 80px;
    position: relative;
    overflow: hidden;
    margin-bottom: 10px;
    background-color: #aaa;
    transition: .3s;
}

.menu-mege .menu__second-level>li a:hover .thumbnail {
    opacity: 0.5;
}

.menu-mege .menu__second-level>li a .thumbnail-wrap {
    transition: .3s;
}

.menu-mege .menu__second-level>li a:hover .thumbnail-wrap {
    background-color: #32C0AA;
}

.menu-mege .menu__second-level>li a p {
    line-height: 1;
    padding-bottom: 15px;
}

.menu-mege>li a:hover {
    color: #58c5d9;
}

ul.menu__second-level {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
}

ul.menu__third-level {
    visibility: hidden;
    opacity: 0;
}

ul.menu__fourth-level {
    visibility: hidden;
    opacity: 0;
}

.menu-mege>li:hover {
    background: transparent;
    -webkit-transition: all .3s;
    transition: all .3s;
}

.menu__second-level li {
    /*border-top: 1px solid #111;*/
}

.menu__third-level li {
    /*border-top: 1px solid #111;*/
}

.menu__second-level li a:hover {
    background: transparent;
}

.menu__third-level li a:hover {
    background: #2a1f1f;
}

.menu__fourth-level li a:hover {
    background: #1d0f0f;
}

/* 下矢印 */
/*.init-bottom:after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 0 0 15px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}*/

/* floatクリア */
.menu-mege:before,
.menu-mege:after {
    content: " ";
    display: table;
}

.menu-mege:after {
    clear: both;
}

.menu-mege {
    *zoom: 1;
}

.menu>li.menu__single {
    position: relative;
}

li.menu__single ul.menu__second-level {
    position: absolute;
    top: 80px;
    left: 0;
    width: 100%;
    background: #f8f8f8;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;

    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

li.menu__single:hover ul.menu__second-level {
    top: 80px;
    left: 0;
    visibility: visible;
    opacity: 1;
    padding: 5px;
    padding-top: 0;
}

/*---------------------*/
/*------------------ヘッダー------------------*/
/*------------------ヒーローイメージ_トップページ------------------*/
.hero-wrap {
    position: relative;
    width: 100%;
    top: 0;
    padding-top: 0;
    z-index: 1;
}

#owl-example .item {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    /* height: 100vh; */
    min-height: 100vh;
    display: table;
    text-align: left;
}

@media (min-width: 992px) {
    #owl-example .item {
        height: 100vh;
        min-height: 100vh;
    }
}

@media (max-width: 991px) {
    #owl-example .item {
        height: 80vh;
        min-height: 80vh;
    }
}

@media (max-width: 767px) {
    #owl-example .item {
        height: 60vh;
        min-height: 60vh;
    }
}

#owl-example .item-box {
    display: table-cell;
    vertical-align: bottom;
    padding: 0 50px;
    padding-bottom: 50px;
    /*background-color: rgba(0, 0, 0, 0.1);*/
}

@media (max-width: 767px) {
    #owl-example .item-box {
        display: table-cell;
        position: relative;
        padding: 0;
    }
}

#owl-example .item-box p {
    font-size: 16px;
    color: #fff;
    text-align: left;
    margin-top: 15px;
}

@media (max-width: 991px) {
    #owl-example .item-box p {
        font-size: 14px;
        color: #fff;
        text-align: center;
        margin-top: 15px;
    }
}

@media (max-width: 767px) {
    #owl-example .item-box p {
        font-size: 12px;
        color: #fff;
        text-align: center;
        margin-top: 15px;
    }
}

#owl-example .item-box img {
    margin: 0;
    height: auto;
    width: auto;
}

@media (max-width: 991px) {
    #owl-example .item-box img {
        margin: 10px auto;
        height: 150px;
        width: auto;
    }
}

@media (max-width: 767px) {
    #owl-example .item-box img {
        /*margin: 10px auto 10px 15px;*/
        /* margin-top: 150px; */
        height: auto;
        width: 70%;
        /*position: absolute;
    top: 100px;
    left: calc(50% - 155px);
    right: calc(50% - 155px);*/
    }
}

/*.top-image-01 {
    background-image: url("../images/slide/01.jpg");
}
.top-image-02 {
    background-image: url("../images/slide/02.jpg");
}
.top-image-03 {
    background-image: url("../images/slide/03.jpg");
}*/
/*#owl-example .item-box .bosyu p {
    background-color: #FFF;
	color: #589DD9;
	display: inline-block;
    border-radius: 7px;
}
#owl-example .item-box .bosyu a {
	display: inline-block;
	padding: 15px 20px;
    border-radius: 7px;
}*/
#owl-example .item-box .bosyu p.kagawa {
    /*margin-right: 15px;*/
}

#owl-example .item-box .bosyu p.kagawa a {
    color: #589DD9;
}

#owl-example .item-box .bosyu p.kagawa a:after {
    content: '';
    /*何も入れない*/
    display: inline-block;
    /*忘れずに！*/
    width: 12px;
    /*画像の幅*/
    height: 12px;
    /*画像の高さ*/
    background-image: url("../images/yajirushi-blue.svg");
    background-size: contain;
    vertical-align: middle;
    margin-left: 5px;
    margin-top: -3px;
}

#owl-example .item-box .bosyu p.tokyo {
    /*color: #4ABE88;*/
}

#owl-example .item-box .bosyu p.tokyo a {
    color: #4ABE88;
}

#owl-example .item-box .bosyu p.tokyo a:after {
    content: '';
    /*何も入れない*/
    display: inline-block;
    /*忘れずに！*/
    width: 12px;
    /*画像の幅*/
    height: 12px;
    /*画像の高さ*/
    background-image: url("../images/yajirushi-green.svg");
    background-size: contain;
    vertical-align: middle;
    margin-left: 5px;
    margin-top: -3px;
}

/*------------------ヒーローニュース_トップページ------------------*/
.hero-news {
    /*position: absolute;*/
    position: relative;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%;
}

.hero-news .container-fluid {
    padding: 0;
}

.hero-news .container-fluid>div.hero-news-bar {
    position: relative;
    width: 100%;
    /*padding: 15px 0 15px 0;*/
    color: #fff;
    background-color: #fff;
    margin: 0;
}

.hero-news .hero-news-bar .w-news-tag li, .hero-news .hero-news-bar .w-news-tag p {
    line-height: 1;
}

.hero-news .hero-news-bar .left-bar {
    width: 50%;
    background-color: rgba(51, 94, 131, 0.9);
    position: absolute;
    left: 0;
    bottom: 0;
    height: 70px;
}

.hero-news .hero-news-bar .left-bar p.area {
    padding: 0 10px;
    color: #fff;
    height: 20px;
    line-height: 20px;
    position: absolute;
    top: 15px;
    left: 15px;
    background-color: #589DD9;
    font-family: 'Lato', sans-serif;
}

.hero-news .hero-news-bar .left-tag {
    background-color: transparent;
    /*padding: 15px 0;*/
    position: absolute;
    left: 0;
    bottom: 0;
    padding: 0 15px;
    text-align: center;
    width: 100%;
    height: 35px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@media (max-width: 991px) {
    .hero-news .hero-news-bar .left-tag {
        display: block;
        padding: 10px 30px;
        height: auto;
        /*background-color: #4E9AA0;*/
    }
}

.hero-news .hero-news-bar .left-tag p {
    color: #fff;
    font-size: 11px;
    font-weight: bold;
}

@media (min-width: 992px) {
    .hero-news .hero-news-bar .left-tag p {
        font-size: calc(0.625rem + ((1vw - 9.92px) * 0.9615));
    }
}

@media (min-width: 1200px) {
    .hero-news .hero-news-bar .left-tag p {
        font-size: 11px;
    }
}

.hero-news .hero-news-bar .left-tag a.ichiran {
    color: #fff;
    font-size: 11px;
    transition: .3s;
    width: auto;
    display: flex;
    align-items: center;
}

.hero-news .hero-news-bar .left-tag a.ichiran:after {
    content: '';
    /*何も入れない*/
    display: inline-block;
    /*忘れずに！*/
    width: 12px;
    /*画像の幅*/
    height: 12px;
    /*画像の高さ*/
    background-image: url("../images/yajirushi.svg");
    background-size: contain;
    vertical-align: middle;
    margin-left: 5px;
}

.hero-news .hero-news-bar .right-bar {
    width: 50%;
    background-color: rgba(47, 118, 85, 0.9);
    position: absolute;
    left: 50%;
    bottom: 0;
    height: 70px;
}

.hero-news .hero-news-bar .right-bar p.area {
    padding: 0 10px;
    color: #fff;
    height: 20px;
    line-height: 20px;
    position: absolute;
    top: 15px;
    left: 15px;
    background-color: #4ABE88;
    font-family: 'Lato', sans-serif;
}

.hero-news .hero-news-bar .right-tag {
    background-color: transparent;
    /*padding: 15px 0;*/
    position: absolute;
    left: 0;
    bottom: 0;
    padding: 0 15px;
    text-align: center;
    width: 100%;
    height: 35px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@media (max-width: 991px) {
    .hero-news .hero-news-bar .right-tag {
        display: block;
        padding: 10px 30px;
        height: auto;
        /*background-color: #4E9AA0;*/
    }
}

.hero-news .hero-news-bar .right-tag p {
    color: #fff;
    font-size: 11px;
    font-weight: bold;
}

@media (min-width: 992px) {
    .hero-news .hero-news-bar .right-tag p {
        font-size: calc(0.625rem + ((1vw - 9.92px) * 0.9615));
    }
}

@media (min-width: 1200px) {
    .hero-news .hero-news-bar .right-tag p {
        font-size: 11px;
    }
}

.hero-news .hero-news-bar .right-tag a.ichiran {
    color: #fff;
    font-size: 11px;
    transition: .3s;
    width: auto;
    display: flex;
    align-items: center;
}

.hero-news .hero-news-bar .right-tag a.ichiran:after {
    content: '';
    /*何も入れない*/
    display: inline-block;
    /*忘れずに！*/
    width: 12px;
    /*画像の幅*/
    height: 12px;
    /*画像の高さ*/
    background-image: url("../images/yajirushi.svg");
    background-size: contain;
    vertical-align: middle;
    margin-left: 5px;
}

.w-news-tag {
    display: flex;
    align-items: center;
    width: 70%;
}

@media (max-width: 991px) {
    .hero-news .w-news-tag:first-of-type {
        margin-bottom: 10px;
    }
}

.w-news-tag-line {
    margin: 0 30px;
    width: 1px;
    height: 30px;
    background-color: white;
}

@media (max-width: 991px) {
    .w-news-tag-line {
        height: 10px;
    }
}

.hero-news .hero-news-bar p {
    font-size: 12px;
}

.hero-news time, .hero-news p, .hero-news a {
    display: inline-block;
    margin: 0;
    font-size: 12px;
    font-weight: bold;
}

@media (min-width: 992px) {
    .hero-news time, .hero-news p, .hero-news a {
        font-size: calc(0.625rem + ((1vw - 9.92px) * 0.9615));
    }
}

@media (min-width: 1200px) {
    .hero-news time, .hero-news p, .hero-news a {
        font-size: 12px;
    }
}

.hero-news .hero-news-bar time {
    color: #fff;
    margin-right: 15px;
}

@media (max-width: 767px) {
    .hero-news .hero-news-bar time {
        font-size: 10px;
    }
}

.hero-news .category {
    background-color: transparent;
    border: 1px solid #fff;
    padding: 5px 10px;
    font-size: 10px;
    color: #fff;
    margin: 0;
    margin-right: 15px;
    line-height: 1;
    white-space: nowrap;
}

.ticker {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    text-align: left;
    border: none;
    position: relative;
    overflow: hidden;
    background-color: transparent;
    height: 20px !important;
}

/*------------------ヒーローニュース_トップページ------------------*/
/*------------------ヒーローイメージ_トップページ------------------*/

.dropdown {
    margin: 0 0 0 auto;
    position: relative;
    /* 絶対配置の基準を設定 */
}

.dropdown__btn {
    display: block;
    width: 1.5em;
    padding: 0.2em;
    background: none;
    /* デフォルトスタイル リセット */
    border: 0;
    /* デフォルトスタイル リセット */
}

.dropdown__body {
    width: 100%;
    background: #fff;
    /*box-shadow: 0 2px 6px 2px rgba(60,64,67,0.149), 0 1px 2px 0 rgba(60,64,67,0.302);*/
    border-radius: 0;
    overflow: hidden;
    position: absolute;
    /* メニュー部分は絶対配置させます */
    top: 65px;
    left: 0;
}

.dropdown__list {
    /* デフォルトスタイル リセット */
    margin: 0;
    padding: 0;
}

header ul.main-menu li.dropdown__item {
    display: block;
    align-items: center;
    justify-content: center;
    width: 20%;
    height: 65px;
    line-height: 65px;
    text-align: center;
}

header.hidden ul.main-menu li a.dropdown__item-link {
    display: block;
    padding: 1em 1.2em;
    font-size: 0.95em;
    text-decoration: none;
    color: #444;
}

.dropdown__item-link:hover {
    background: #fbfbfb;
}

.dropdown__body {
    display: none;
}

.dropdown__btn.is-open+.dropdown__body {
    display: block;
    z-index: 4;
}

.dropdown__btn.is-open::after {
    content: "";
    width: 100%;
    height: 100%;
    cursor: default;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
}

/*------------------フッター------------------*/
/*------------------footer-header------------------*/
footer .footer-header {
    background-image: url("../images/footer/footer-header-bg.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
    padding: 100px 0;
    height: auto;
}

footer .footer-header .title-wrap {
    margin: 0 auto;
    text-align: center;
    width: 100%;
    margin-bottom: 30px;
}

footer .footer-header .title-wrap img {
    height: 70px;
}

footer .footer-header .title-wrap p.title {
    font-size: 22px;
    color: #fff;
    font-weight: bold;
    margin-top: 15px;
}

footer .footer-header .title-wrap p.description {
    font-size: 16px;
    color: #fff;
    font-weight: normal;
    margin-top: 20px;
}

footer .footer-header .button-wrap {
    margin: 0 auto;
    width: 100%;
}

footer .footer-header .button-wrap .button {}

footer .footer-header .button-wrap .bosyu, footer .footer-header .button-wrap .entry {
    text-align: center;
}

footer .footer-header .button-wrap .bosyu {
    margin-bottom: 20px;
}

footer .footer-header .button-wrap .bosyu a {
    padding: 30px 15px;
    display: block;
}

footer .footer-header .button-wrap .bosyu.kagawa a {
    background-color: #387CAB;
    transition: .3s;
}

footer .footer-header .button-wrap .bosyu.tokyo a {
    background-color: #2E7956;
    transition: .3s;
}

footer .footer-header .button-wrap .bosyu.kagawa a:hover {
    background-color: #306991;
}

footer .footer-header .button-wrap .bosyu.tokyo a:hover {
    background-color: #27684a;
}

/*footer .footer-header .button-wrap .bosyu.kagawa {
	background-color: #387CAB;
}
footer .footer-header .button-wrap .bosyu.tokyo {
	background-color: #2E7956;
}*/
footer .footer-header .button-wrap .bosyu p, footer .footer-header .button-wrap .entry p {
    color: #fff;
}

footer .footer-header .button-wrap .bosyu .header-text, footer .footer-header .button-wrap .entry .footer-text {
    font-size: 14px;
}

footer .footer-header .button-wrap .bosyu .footer-text, footer .footer-header .button-wrap .entry .header-text {
    font-size: 18px;
    /*font-weight: 700;*/
}

footer .footer-header .button-wrap .entry a {
    padding: 30px 15px;
}

footer .footer-header .button-wrap .entry.kagawa a {
    display: block;
    background-color: #589DD9;
    transition: .3s;
}

footer .footer-header .button-wrap .entry.kagawa a:hover {
    display: block;
    background-color: #457dae;
    transition: .3s;
}

footer .footer-header .button-wrap .entry.tokyo a {
    display: block;
    background-color: #4ABE88;
    transition: .3s;
}

footer .footer-header .button-wrap .entry.tokyo a:hover {
    display: block;
    background-color: #399168;
    transition: .3s;
}

/*footer .footer-header .button-wrap .entry.kagawa {
	background-color: #589DD9;
}
footer .footer-header .button-wrap .entry.tokyo {
	background-color: #4ABE88;
}*/
/*------------------footer-footer------------------*/
footer .footer-footer {
    background-color: #2C2C2C;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
    padding: 50px 0 30px 0;
    height: auto;
}

footer .footer-footer .footer-col {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
    padding: 0 5px;
    text-align: center;
}

footer .footer-footer .footer-col li a.main {
    color: #fff;
    text-align: center;
    display: inline-block;
    /*font-weight: bold;*/
    font-size: 14px;
    transition: .3s;
}

footer .footer-footer .footer-col li a.main:hover {
    color: #939393;
}

footer .footer-footer .footer-col li p.main {
    color: #fff;
    text-align: center;
    display: inline-block;
    /*font-weight: bold;*/
    font-size: 14px;
}

footer .footer-footer .footer-col li a.main span {
    display: block;
    color: #58C5D9;
    font-size: 12px;
    font-weight: bold;
}

footer .footer-footer .footer-col li a.main:hover span {
    color: #4aa3b4;
}

footer .footer-footer .footer-col li p.main span {
    display: block;
    color: #58C5D9;
    font-size: 12px;
    font-weight: bold;
}

footer .footer-footer .footer-col ul.second {
    /*margin-top: 15px;*/
}

footer .footer-footer .footer-col ul.second a {
    font-size: 12px;
    color: #fff;
    transition: .3s;
}

footer .footer-footer .footer-col ul.second a:hover {
    color: #939393;
}

footer .footer-footer .footer-col ul.second a:before {
    content: "\025a0";
    margin-right: 5px;
}

footer .footer-footer .footer-col ul.second a.kagawa:before {
    color: #589DD9;
}

footer .footer-footer .footer-col ul.second a.osaka:before {
    color: #fe6c39;
}

footer .footer-footer .footer-col ul.second a.tokyo:before {
    color: #4ABE88;
}

footer .footer-footer .footer-col ul.second a:hover.kagawa:before {
    color: #457dae;
}

footer .footer-footer .footer-col ul.second a:hover.osaka:before {
    color: #d24e20;
}

footer .footer-footer .footer-col ul.second a:hover.tokyo:before {
    color: #399168;
}

footer .footer-footer .footer-logo-wrap, footer .footer-footer .footer-address-wrap {
    text-align: left;
    margin-top: 50px;
}

footer .footer-footer .footer-logo-wrap img {
    width: auto;
    height: 40px;
}

footer .footer-footer .footer-address-wrap {
    display: flex;
    justify-content: center;
}

footer .footer-footer .footer-address-wrap p {
    color: #fff;
    font-size: 11px;
    display: inline-block;
    border: 1px solid #fff;
    padding: 3px 9px;
    border-radius: 5px;
    margin: 0 5px;
    width: 33.33%;
}

footer .footer-footer .copyright-wrap {
    margin-top: 50px;
    padding-right: 30px;
    padding-left: 30px;
}

footer .footer-footer .copyright-wrap>.row {
    margin: 0;
    justify-content: space-between;
}

footer .footer-footer .copyright-wrap p, footer .footer-footer .copyright-wrap li {
    color: #fff;
    font-size: 10px;
}

footer .footer-footer .copyright-wrap li a {
    color: #fff;
    transition: .3s;
}

footer .footer-footer .copyright-wrap li a:hover {
    color: #939393;
}

footer .footer-footer .copyright-wrap>.row ul {
    display: flex;
    justify-content: flex-end;
}

footer .footer-footer .copyright-wrap li:last-child:before {
    content: "|";
    margin-left: 15px;
    margin-right: 15px;
}

/*------------------フッター------------------*/

/*.other-page-hero {
	background-image: url("../images/services/hero.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: auto;
    width: 100%;
    height: 100%;
	padding: 205px 0;
}
@media (max-width: 991px) {
.other-page-hero {
    background-size: contain;
	padding: 100px 0;
}
}
@media (max-width: 767px) {
.other-page-hero {
	background-image: none;
	background-size: auto;
    width: 100%;
    height: 100%;
	padding: 50px 0;
	padding-bottom: 0;
}
}
@media (max-width: 767px) {
.other-page-hero .text-area-inner {
    position: relative;
    top: 0;
    overflow: hidden;
    margin-top: -100px !important;
}
}
.other-page-hero .text-area p.title span, .other-page-hero .text-area p.description span {
    background-color: #F5EDE2;
	display: inline-block;
	margin-bottom: 10px;
	padding: 0 10px;
}
@media (max-width: 991px) {
.other-page-hero .text-area p.description span {
    background-color: rgba(245, 237, 226, 1);
	display: inline;
	margin-bottom: 0;
	padding: 0;
}	
}
@media (max-width: 767px) {
.other-page-hero .text-area p.title span {
    background-color: rgba(245, 237, 226, 0.7);
}	
}
.other-page-hero .sec-con-inner {
	position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.other-page-hero .img-area {
	overflow: hidden;
}
.other-page-hero .img-area img {
	width: 120%;
    margin: 0 auto;
    margin-left: -10%;
}*/

/*----個別＿ヒーローイメージ--------------------------*/
.page-hero-wrap {
    margin-top: 80px;
    height: 300px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    position: relative;
    overflow: hidden;
    display: flex;
}

.page-hero-wrap.news {
    height: 220px;
}

.page-hero-wrap.services {
    /*background-image: url("../images/services/hero.jpg");*/
}

.page-hero-wrap.company {
    background-image: url("../images/company/01.jpg");
}

.page-hero-wrap.works {
    background-image: url("../images/works/01.jpg");
}

.page-hero-wrap.occupation {
    background-image: url("../images/occupation/01.jpg");
}

.page-hero-wrap.job-list {
    background-image: url("../images/job_list/01.jpg");
}

.page-hero-wrap.access {
    background-image: url("../images/access/01.jpg");
    background-position: center 40%;
}

.page-hero-wrap.recruit {
    background-image: url("../images/recruit/top/01.jpg");
}

.page-hero-wrap.single {
    /*background-image: url("../images/single/01.jpg");*/
}

.page-hero-wrap.interview-top {
    background-image: url("../images/interview/01.jpg");
}

.page-hero-wrap.interview-01 {
    background-image: url("../images/recruit/1/01.jpg");
}

.page-hero-wrap.interview-02 {
    background-image: url("../images/recruit/2/01.jpg");
}

.page-hero-wrap.interview-03 {
    background-image: url("../images/recruit/3/01.jpg");
}

.page-hero-wrap.interview-04 {
    background-image: url("../images/recruit/4/01.jpg");
}

@media (max-width: 991px) {
    .page-hero-wrap {
        margin-top: 50px;
        height: 400px;
    }
}

@media (max-width: 767px) {
    .page-hero-wrap {
        margin-top: 50px;
        height: 250px;
    }
}

@media (max-width: 413px) {
    .page-hero-wrap {
        margin-top: 50px;
        height: 200px;
    }
}

/*.page-hero-wrap .img-liquid {
	width: 100%;
	height: 500px;
}*/
.page-title-box {
    position: relative;
    margin-left: 0;
    width: 40%;
    height: 101%;
    background: rgba(255, 255, 255, 1);
    display: table;
    z-index: 2;
}

@media (max-width: 767px) {
    .page-title-box {
        position: relative;
        margin-left: 0;
        width: 100%;
        height: 100%;
        background: rgba(255, 255, 255, 1);
        display: table;
    }
}

.page-title-box:after {
    content: "";
    position: absolute;
    top: 0;
    left: 99%;
    width: 0;
    height: 100%;
    border-right: 150px solid transparent;
    border-top: 320px solid rgba(255, 255, 255, 1);
}

/*.page-title-box-inner {
	display: table-cell;
    vertical-align: middle;
    padding: 0;
	padding-left: 10%;
	position: relative;
	top: -50px;
    z-index: 1;
}
@media (max-width: 767px) {
.page-title-box-inner {
    display: table-cell;
    vertical-align: middle;
    padding: 0;
    padding-left: 15px;
}
}*/
.page-title-box-inner {
    /* display: table-cell; */
    /* vertical-align: middle; */
    width: 100%;
    padding: 0;
    /* padding-left: 10%; */
    position: absolute;
    top: 50px;
    left: 0;
    z-index: 10;
}

.page-title-box-inner .container {
    padding-right: 30px;
    padding-left: 30px;
}

.page-title-box-inner .row {
    display: block;
}

.page-title-box-inner img {
    display: block;
}

.page-title-box-inner img.page-top {
    width: auto;
    height: 100px;
    margin-top: 50px;
}

@media (min-width: 992px) and (max-width: 1199px) {
    .page-title-box-inner img.page-top {
        width: auto;
        height: 80px;
        margin-top: 50px;
    }
}

@media (max-width: 991px) {
    .page-title-box-inner img.page-top {
        width: auto;
        height: 50px;
        margin-top: 30px;
    }
}

@media (max-width: 767px) {
    .page-title-box-inner img.page-top {
        width: auto;
        height: 40px;
        margin-top: 20px;
    }
}

.page-title-box-inner img.page-top-line {
    width: auto;
    height: 10px;
}

.page-title-box-inner .title {
    color: #000;
    font-size: 20px;
    margin-top: 30px;
}

@media (max-width: 991px) {
    .page-title-box-inner .title {
        color: #fff;
        font-size: 18px;
        margin-top: 30px;
    }
}

@media (max-width: 767px) {
    .page-title-box-inner .title {
        color: #fff;
        font-size: 16px;
        font-weight: bold;
        margin-top: 20px;
    }
}

.page-title-box-inner .description {
    color: #000;
    font-size: 14px;
    margin-top: 20px;
}

.scroll-down {
    position: relative;
    margin-top: -20px;
    float: right;
    margin-right: 30px;
}

@media (max-width: 991px) {
    .scroll-down {
        display: none;
    }
}

.page-hero-box {
    position: relative;
    margin-left: 0;
    z-index: 1;
    width: 60%;
    height: 100%;
}

.page-hero-box .img-liquid {
    height: 300px;
}

.page-hero-box.news .img-liquid {
    height: 220px;
}

.page-hero-wrap .en-title {
    font-family: 'Lato', sans-serif;
    font-size: 80px;
    line-height: 1;
    color: #000;
    transform: skewX(-5deg);
}

@media screen and (min-width: 992px) {
    .page-hero-wrap .en-title {
        margin-top: 30px;
    }
}

/*----個別＿ヒーローイメージ--------------------------*/
section#department {
    padding: 50px 0;
    padding-top: 0;
}

.department-col .img-liquid {
    height: 300px;
}

.department-col {
    margin-bottom: 80px;
}

.department-col:nth-child(odd) {
    padding-right: 30px;
}

.department-col:nth-child(even) {
    padding-left: 30px;
}

.department-col .text-box {
    padding: 0 30px;
    background-color: transparent;
    position: relative;
    margin-top: -50px;
}

.department-col .text-box-inner {
    height: auto;
    padding: 20px 0;
    /*background-color: #fff;
	-webkit-box-shadow: 0 5px 30px -12px rgba(50,50,93,.25), 0 18px 36px -18px rgba(0,0,0,.3), 0 -12px 36px -8px rgba(0,0,0,.025);
    box-shadow: 0 5px 30px -12px rgba(50,50,93,.25), 0 18px 36px -18px rgba(0,0,0,.3), 0 -12px 36px -8px rgba(0,0,0,.025);*/
}

#department .department-col .text-box-inner {
    height: auto;
}

@media screen and (min-width: 992px) {
    #department .department-col .text-box-inner {
        padding: 15px;
        background-color: #fff;
        -webkit-box-shadow: 0 5px 30px -12px rgba(50, 50, 93, .25), 0 18px 36px -18px rgba(0, 0, 0, .3), 0 -12px 36px -8px rgba(0, 0, 0, .025);
        box-shadow: 0 5px 30px -12px rgba(50, 50, 93, .25), 0 18px 36px -18px rgba(0, 0, 0, .3), 0 -12px 36px -8px rgba(0, 0, 0, .025);
        border-radius: 5px;
    }
}

@media screen and (max-width: 767px) {
    .department-col .text-box-inner {
        padding-top: 10px;
    }
}

.department-col .text-box .title {
    font-size: 26px;
    font-weight: 400;
}

@media screen and (max-width: 767px) {
    .department-col .text-box .title {
        font-size: 22px;
        font-weight: 600;
    }
}

.department-col .text-box .en-title {
    font-size: 12px;
    color: #58C5D9;
}

.department-col .text-box .copy {
    font-size: 20px;
    margin-top: 15px;
}

@media screen and (max-width: 767px) {
    .department-col .text-box .copy {
        font-size: 18px;
        margin-top: 10px;
    }
}

.department-col .text-box .description {
    font-size: 16px;
    margin-top: 5px;
    line-height: 1.8;
    margin-bottom: 15px;
    color: #666;
}

@media screen and (max-width: 767px) {
    .department-col .text-box .description {
        font-size: 15px;
        margin-top: 10px;
        line-height: 1.8;
        color: #666;
    }
}

.section-title-box {
    text-align: left;
}

.section-title-box .icon-box {
    display: inline-block;
}

.section-title-box .icon-box img {
    width: auto;
    height: 50px;
}

.section-title-box .title {
    margin-top: 50px;
    font-size: 40px;
}

.section-title-box .title.line {
    margin-top: 0;
    padding-top: 50px;
    font-size: 40px;
    border-top: 1px solid #d9d9d9;
}

.section-title-box .en-title {
    font-size: 14px;
    color: #58C5D9;
    margin-bottom: 30px;
    font-family: 'Lato', sans-serif;
}

.section-title-box .en-title.kagawa {
    color: #589DD9;
}

.section-title-box .en-title.tokyo {
    color: #4ABE88;
}

/*-------------------*/
section#company-profile {
    padding-bottom: 100px;
}

.section-box table.col-table.top-table {
    width: 100%;
    margin: 0 auto;
}

section#recruitment table.col-table.top-table tr.midashi td.left-cell {
    width: 100%;
    padding: 30px 0;
    /*line-height: 1.8;*/
    line-height: 1.6;
}

.section-box table.col-table {
    width: 100%;
    margin: 0 auto;
}

.section-box table.col-table tr {
    margin-bottom: 20px;
    border-bottom: 1px solid #d7d7d7;
}

.section-box table.col-table tr:last-of-type {
    border-bottom: none;
}

section#recruitment table.col-table.midway-table tr:last-of-type {
    border-bottom: none;
}

.section-box table.col-table tr.bb-none {
    border-bottom: none;
}

.section-box table.col-table tr.midashi {
    border: none;
}

.section-box table.col-table tr.sub-midashi {
    margin-bottom: 0;
    border-bottom: none;
}

@media (max-width: 767px) {
    .section-box table.col-table tr {
        width: 100%;
        border-top: 1px solid #eeeeee;
    }

    .section-box table.col-table tr.no-line {
        border-top: none;
    }

    .section-box table.col-table tr:last-child {
        /*border-bottom: none;*/
    }
}

.section-box table.col-table tr.midashi td.left-cell img {
    height: 100px;
    width: auto;
}

.section-box table.col-table tr.midashi td.left-cell span {
    color: #01AAEB;
}

.section-box table.col-table td {
    width: auto;
    padding: 20px 0;
    /*padding-bottom: 30px;*/
    vertical-align: middle;
    text-align: left;
    font-size: 14px;
    /*line-height: 2;*/
    line-height: 1.6;
}

.section-box table.col-table td.left-cell {
    width: 180px;
    /*padding-right: 70px;*/
    padding-right: 0;
    padding-left: 20px;
    font-weight: bold;
    font-family: sans-serif;
}

@media (max-width: 767px) {
    .section-box table.col-table td.left-cell {
        width: auto;
        padding-top: 10px;
        padding-bottom: 10px;
        font-weight: bold;
    }
}

.section-box table.col-table td.right-cell {
    width: 500px;
    font-family: sans-serif;
}

.section-box table.col-table.iso td.right-cell {
    width: auto;
}

@media (max-width: 767px) {
    .section-box table.col-table td.right-cell {
        width: auto;
    }
}

.section-box table.col-table td.right-cell.space {
    /*text-indent: -1em;
	padding-left: 1em;*/
}

.section-box table.col-table td.left-cell.no-space {
    padding: 0;
}

.section-box table.col-table td.right-cell span.space {
    /*text-indent: -1em;
	padding-left: 1em;*/
}

.section-box table.col-table td.right-cell span {
    text-indent: -1em;
    padding-left: 1em;
    display: inline-block;
}

.section-box table.col-table td.right-cell.officer {
    display: flex;
    justify-content: space-between;
    width: 300px;
}

@media only screen and (max-width: 767px) {
    table tbody th, table tbody td {
        width: 100%;
        display: list-item;
        list-style: none;
    }
}

/*------------------------------------*/
.corporate-banner {
    background-color: #58C5D9;
    padding: 80px 0;
}

.corporate-banner .row {
    margin: 0;
    justify-content: space-between;
    align-items: center;
}

.corporate-banner .left-col {
    width: 55%;
}

.corporate-banner .right-col {
    width: 30%;
}

/*------------------------------------*/
section#interview {
    padding: 50px 0;
    padding-top: 0;
}

.interview-all-col {
    margin-bottom: 80px;
    position: relative;
    overflow: hidden;
}

.interview-all-col .mask {
    width: 100%;
    height: 100%;
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
    display: table;
    text-align: center;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    transition: all 0.3s linear;
    -ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    opacity: 0;
}

@media screen and (max-width: 767px) {
    .interview-all-col .mask {
        display: none;
    }
}

.interview-all-col .mask.kagawa {
    background-color: rgba(88, 157, 217, 0.7);
}

.interview-all-col .mask.tokyo {
    background-color: rgba(74, 190, 135, 0.7);
}

.interview-all-col:hover .mask {
    -ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=100)";
    filter: alpha(opacity=100);
    opacity: 1;
    height: 100%;
}

.interview-all-col .mask p {
    display: table-cell;
    vertical-align: middle;
    height: 100%;

    /*font-family: lato;
    font-size: 40px;
    font-style: italic;
    color: rgb(73, 70, 237);
    transform: rotate(-14deg);
    mix-blend-mode: difference;
    line-height: 1;*/
}

.interview-all-col .mask p img {
    height: 70px;
}

@media screen and (max-width: 767px) {
    .interview-all-col .mask p img {
        height: 55px;
    }
}

.interview-all-col .img-liquid-wrap {
    overflow: hidden;
    position: relative;
}

.interview-all-col .img-liquid {
    height: 400px;
    position: relative;

    -webkit-transform: scaleY(1);
    -moz-transform: scaleY(1);
    -o-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.interview-all-col:hover .img-liquid {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
    -ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    opacity: 1;
}

.interview-all-col .text-box {
    padding: 0;
    background-color: transparent;
    position: relative;
    margin-top: 0;
}

.interview-all-col .text-box-inner {
    height: auto;
    padding: 20px 0;
    padding-bottom: 0;
    background-color: #fff;
    position: relative;
}

.interview-all-col .text-box .title {
    font-size: 20px;
}

.interview-all-col .text-box .en-title {
    font-size: 12px;
}

.interview-all-col .text-box .en-title.kagawa {
    color: #589DD9;
}

.interview-all-col .text-box .en-title.tokyo {
    color: #4abe88;
}

.interview-all-col .text-box .position {
    font-size: 14px;
    margin-top: 10px;
}

.interview-all-col .text-box .joining {
    font-size: 14px;
    margin-top: 5px;
}

.interview-all-col .text-box .plus {
    position: relative;
    right: 0;
    bottom: 0;
    display: block;
    width: 30px;
    height: 30px;
    background: #4abe87;
    transition: .3s;
    margin-top: 5px;
    margin-right: 0;
    margin-left: auto;
}

.interview-all-col:hover .text-box .plus {
    opacity: 0.7;
}

.interview-all-col .text-box .plus img {
    height: 30px;
    width: 30px;
}

/*------------------------------------*/
section#works {
    padding: 150px 0;
    padding-top: 0;
}

section#works .row.double {
    position: relative;
    overflow: hidden;
    padding-bottom: 500px;
}

section#works .works-col.work-04 {
    position: absolute;
    right: 0;
    top: 500px;
}

.works-col .title.big {
    margin-top: 80px;
}

.works-col.work-04 .title.big {
    margin-left: 60%;
}

.works-col.work-04 .en-title {
    margin-left: 60%;
}

.works-content {
    position: relative;
}

.works-col .img-liquid {
    width: 65%;
    height: 500px;
}

/*---------------*/
.works-col.work-02 .img-liquid {
    width: 65%;
    height: 500px;
    margin-left: 35%;
}

.works-col.work-03 .img-liquid {
    width: 40%;
    height: 650px;
    margin-left: 0;
}

.works-col.work-04 .img-liquid {
    width: 40%;
    height: 650px;
    margin-left: 60%;
}

.works-col.work-05 .img-liquid {
    width: 65%;
    height: 500px;
    margin-left: 0;
}

.works-col.work-06 .img-liquid {
    width: 65%;
    height: 500px;
    margin-left: 35%;
}

/*---------------*/
.works-col .text-box {
    position: absolute;
    right: 0;
    top: 100px;
    width: 30%;
    height: auto;
}

/*---------------*/
.works-col.work-02 .text-box {
    position: absolute;
    left: 0;
    top: 100px;
    width: 30%;
    height: auto;
}

.works-col.work-03 .text-box {
    position: absolute;
    right: 0;
    top: 50px;
    width: 50%;
    height: auto;
}

.works-col.work-04 .text-box {
    position: absolute;
    left: 20%;
    top: 300px;
    width: 50%;
    height: auto;
}

.works-col.work-05 .text-box {
    position: absolute;
    right: 0;
    top: 100px;
    width: 30%;
    height: auto;
}

.works-col.work-06 .text-box {
    position: absolute;
    left: 0;
    top: 100px;
    width: 30%;
    height: auto;
}

/*---------------*/
.works-col .text-box .en-title {
    font-size: 16px;
    color: #58C5D9;
    margin-bottom: 0;
    font-family: 'Lato', sans-serif;
    position: relative;
    z-index: 2;
}

.works-col.work-04 .text-box .en-title {
    margin-left: 0;
}

.works-col .text-box .number {
    font-size: 250px;
    color: rgba(88, 197, 217, 0.2);
    margin-bottom: 0;
    font-family: 'Teko', sans-serif;
    position: absolute;
    z-index: 1;
    top: -15px;
    left: 120px;
    line-height: 1;
}

.works-col .text-box .title {
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 30px;
    position: relative;
    z-index: 2;
}

.works-col .text-box .description {
    font-size: 14px;
    position: relative;
    z-index: 2;
}

.works-col.work-01 .text-box .button-box {
    position: relative;
    top: 100px;
    left: -100px;
}

.works-col.work-02 .text-box .button-box {
    position: relative;
    top: 100px;
    left: 150px;
}

.works-col.work-03 .text-box .button-box {
    position: relative;
    top: 100px;
    left: -150px;
}

.works-col.work-04 .text-box .button-box {
    position: relative;
    top: 100px;
    left: 200px;
}

.works-col.work-05 .text-box .button-box {
    position: relative;
    top: 100px;
    left: -100px;
}

.works-col.work-06 .text-box .button-box {
    position: relative;
    top: 100px;
    left: 150px;
}

.works-col .text-box .button-box-inner {
    /*background-color: #58c5d9;
    padding: 20px 30px;*/
    text-align: center;
    width: auto;
    display: inline-block;
}

.works-col .text-box .button-box-inner p {
    margin: 0;
    color: #fff;
    font-size: 16px;
}

.works-col .text-box .button-box-inner a {
    padding: 20px 30px;
    background-color: #58c5d9;
    color: #fff;
    transition: .3s;
}

.works-col .text-box .button-box-inner a:hover {
    background-color: #4899a8;
}

/*---------------*/
section#recruitment {
    padding: 70px 0;
}

section#recruitment table.col-table td.right-cell span.single {
    text-indent: 0;
    padding-left: 1em;
    display: inline-block;
}

section#recruitment table.col-table td.right-cell span.double {
    text-indent: 0;
    padding-left: 2em;
    display: inline-block;
}

section#recruitment table.col-table td.right-cell img.mynavi {
    width: auto;
    height: 40px;
}

section#recruitment .content_area .otoiawase {
    padding-top: 20px;
}

section#recruitment .content_area .otoiawase .main-midashi {
    /*border-bottom: none;*/
}

section#recruitment .content_area .otoiawase .main-midashi p {
    color: #fff;
    padding: 10px 20px;
    border-radius: 3px;
    font-size: 14px;
    line-height: 1;
}

section#recruitment .content_area .otoiawase .main-midashi p.kagawa {
    background-color: #589DD9;
}

section#recruitment .content_area .otoiawase .main-midashi p.tokyo {
    background-color: #4ABE88;
}

section#recruitment .content_area .otoiawase .main-midashi p.osaka {
    background-color: #fe6c39;
}

section#recruitment table.col-table tr.sub-midashi td.left-cell {
    /*padding-top: 0;*/
    padding-bottom: 0;
    padding-left: 0;
    line-height: 1;
    padding-top: 20px;
}

section#recruitment table.col-table tr.sub-midashi.saiyo-flow td.left-cell {
    padding-top: 20px;
}

section#recruitment table.col-table tr.sub-midashi td.left-cell span {
    background-color: #266092;
    color: #fff;
    /*padding: 15px 20px;
    border-radius: 7px;*/
    padding: 10px 20px;
    border-radius: 3px;
    font-size: 14px;
    display: inline-block;
    width: 100%;
}

/*---------------*/
.tab_area {
    overflow: hidden;
    display: table;
    margin: 0;
    position: relative;
    width: 100%;
}

.tab_area li {
    width: auto;
    height: auto;
    padding: 5px 10px;
    text-align: center;
    cursor: pointer;
    vertical-align: middle;
    display: table-cell;
    /*color: #555;*/
    color: #a7a4a4;
    background-color: #EBEBEB;
    font-weight: normal;
}

.tab_area li span.company {
    font-size: 11px;
    font-weight: normal;
}

.tab_area li span.text-en {
    font-family: 'Lato', sans-serif;
    font-size: 10px;
    font-weight: normal;
}

.all_area {
    /*background:#efefef; 
	padding:10px; */
    overflow: hidden;
}

.all_area div.content_area {
    /*Tabの内容を表示するエリアの装飾*/
    background: #ffffff;
    padding: 10px 10px 10px 2px;
    border-top: 1px dotted #bbbbbb;
}

.tab_area li.select {
    /*アクティブタブの装飾*/
    /*background-color:#ffffff; 
	background-image:none; 
	color:#333333;
	border-top:2px solid #e94545;*/
}

.tab_area::after {
    /*content: '';
    border-bottom:1px solid #f00;
	width: 100%;
    height: 10px;
    position: absolute;
    left: 0;
    bottom: 0;*/
}

.tab_area li.kagawa.select {
    background-color: #589DD9;
    background-image: none;
    color: #FFF;
}

.tab_area li.tokyo.select {
    background-color: #4ABE88;
    background-image: none;
    color: #FFF;
}

.tab_area li.osaka.select {
    background-color: #fe6c39;
    background-image: none;
    color: #FFF;
}

.all_area div.content_area.kagawa {
    border-top: 2px solid #589DD9;
}

.all_area div.content_area.tokyo {
    border-top: 2px solid #4ABE88;
}

.all_area div.content_area.osaka {
    border-top: 2px solid #fe6c39;
}

.hide {
    display: none;
}

/*----個別＿ヒーローイメージ--------------------------*/
.interview-hero-wrap {
    margin-top: 0;
    height: 700px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    position: relative;
    /*overflow: hidden;*/
}

.interview-hero-wrap.kagawa-01 {
    background-image: url("../images/interview/kagawa/01/hero.jpg");
}

.interview-hero-wrap.kagawa-02 {
    background-image: url("../images/interview/kagawa/02/hero.jpg");
}

.interview-hero-wrap.kagawa-03 {
    background-image: url("../images/interview/kagawa/03/hero.jpg");
}

.interview-hero-wrap.kagawa-04 {
    background-image: url("../images/interview/kagawa/04/hero.jpg");
}

.interview-hero-wrap.kagawa-05 {
    background-image: url("../images/interview/kagawa/05/hero.jpg");
}

.interview-hero-wrap.kagawa-06 {
    background-image: url("../images/interview/kagawa/06/hero.jpg");
}

.interview-hero-wrap.kagawa-07 {
    background-image: url("../images/interview/kagawa/07/hero.jpg");
}

.interview-hero-wrap.kagawa-08 {
    background-image: url("../images/interview/kagawa/08/hero.jpg");
}

.interview-hero-wrap.kagawa-09 {
    background-image: url("../images/interview/kagawa/09/hero.jpg");
}

.interview-hero-wrap.kagawa-10 {
    background-image: url("../images/interview/kagawa/10/hero.jpg");
}

.interview-hero-wrap.kagawa-11 {
    background-image: url("../images/interview/kagawa/11/hero.jpg");
}

.interview-hero-wrap.tokyo-01 {
    background-image: url("../images/interview/tokyo/01/hero.jpg");
}

.interview-hero-wrap.tokyo-02 {
    background-image: url("../images/interview/tokyo/02/hero.jpg");
}

.interview-hero-wrap.tokyo-03 {
    background-image: url("../images/interview/tokyo/03/hero.jpg");
}

.interview-hero-wrap.tokyo-04 {
    background-image: url("../images/interview/tokyo/04/hero.jpg");
}

.interview-hero-wrap.tokyo-05 {
    background-image: url("../images/interview/tokyo/05/hero.jpg");
}

.interview-hero-wrap.tokyo-06 {
    background-image: url("../images/interview/tokyo/06/hero.jpg");
}

.interview-hero-wrap.tokyo-07 {
    background-image: url("../images/interview/tokyo/07/hero.jpg");
}

.interview-hero-wrap.tokyo-08 {
    background-image: url("../images/interview/tokyo/08/hero.jpg");
}

.interview-hero-wrap.tokyo-09 {
    background-image: url("../images/interview/tokyo/09/hero.jpg");
}

.interview-hero-wrap.tokyo-10 {
    background-image: url("../images/interview/tokyo/10/hero.jpg");
}

.interview-hero-wrap.tokyo-11 {
    background-image: url("../images/interview/tokyo/11/hero.jpg");
}

.interview-hero-wrap.tokyo-12 {
    background-image: url("../images/interview/tokyo/12/hero.jpg");
}

@media (max-width: 991px) {
    .interview-hero-wrap {
        margin-top: 50px;
        height: 400px;
    }
}

@media (max-width: 767px) {
    .interview-hero-wrap {
        margin-top: 50px;
        height: 250px;
    }
}

@media (max-width: 413px) {
    .interview-hero-wrap {
        margin-top: 50px;
        height: 200px;
    }
}

.interview-hero-box {
    /*width: 100%;
     height: 700px; 
    min-height: 700px;
    display: table;
    text-align: left;*/
    width: 100%;
    height: 700px;
    min-height: 700px;
    display: flex;
    text-align: left;
    justify-content: flex-start;
    align-items: flex-end;
}

.kagawa .interview-hero-box {
    /*background-color: rgba(32, 59, 81, 0.1);*/
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 60%, rgb(8 49 89 / 80%));
}

.tokyo .interview-hero-box {
    /*background-color: rgba(38, 96, 69, 0.1);*/
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 60%, rgb(8 49 89 / 80%));
}

@media (max-width: 767px) {
    .interview-hero-box {
        /*position: relative;
    margin-left: 0;
    width: 100%;
    height: 100%;
    background: rgba(186, 19, 26, 0.8);
    display: table;*/
    }
}

.interview-hero-box:after {
    /*content: "";
    position: absolute;
    top: 0;
    left: 100%;
    width: 0;
    height: 100%;
    border-right: 100px solid transparent;
    border-top: 70vh solid rgba(186, 19, 26, 0.8);*/
}

@media (max-width: 767px) {
    .interview-hero-box:after {
        display: none;
    }
}

.interview-hero-box-inner {
    /*display: table-cell;
    vertical-align: middle;
	padding: 0 10%;
	position: relative;
    z-index: 1;*/
    width: 100%;
    /*padding: 0 5%;*/
    position: relative;
    z-index: 1;
    margin-bottom: -67.5px;
}

@media (max-width: 767px) {
    .interview-hero-box-inner {
        /*display: table-cell;
    vertical-align: middle;
    padding: 0;
    padding-left: 15px;*/
    }
}

.interview-hero-box-inner .tag p {
    background-color: #fff;
    display: inline-block;
    padding: 5px 10px;
    font-family: 'Lato', sans-serif;
}

.kagawa .interview-hero-box-inner .tag p {
    color: #589DD9;
}

.tokyo .interview-hero-box-inner .tag p {
    color: #4ABE88;
}

/*.interview-hero-box-inner img {
	display: block;
}
.interview-hero-box-inner img.page-top {
	width: auto;
    height: 100px;
	margin-top: 50px;
}
@media (min-width: 992px) and (max-width: 1199px) {
.interview-hero-box-inner img.page-top {
	width: auto;
    height: 80px;
	margin-top: 50px;
}	
}
@media (max-width: 991px) {
.interview-hero-box-inner img.page-top {
	width: auto;
    height: 50px;
	margin-top: 30px;
}
}
@media (max-width: 767px) {
.interview-hero-box-inner img.page-top {
    width: auto;
    height: 40px;
    margin-top: 20px;
}
}
.interview-hero-box-inner img.page-top-line {
	width: auto;
    height: 10px;
}*/
.interview-hero-box-inner .copy {
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    margin-top: 10px;
    /*text-shadow: 1px 1px 1px #34518e;*/
}

.interview-hero-box-inner .profile-box {
    display: inline-block;
    padding: 20px;
    margin-top: 15px;
}

.kagawa .interview-hero-box-inner .profile-box {
    background-color: #589DD9;
}

.tokyo .interview-hero-box-inner .profile-box {
    background-color: #4ABE88;
}

.interview-hero-box-inner .profile-box .en-title {
    color: #fff;
    font-size: 12px;
    margin-bottom: 0;
    font-family: 'Lato', sans-serif;
    font-weight: bold;
}

.interview-hero-box-inner .profile-box .title {
    color: #fff;
    font-size: 20px;
    margin-bottom: 5px;
}

.interview-hero-box-inner .profile-box .title span {
    color: #fff;
    font-size: 14px;
}

.interview-hero-box-inner .profile-box .position {
    color: #fff;
    font-size: 14px;
}

.interview-hero-box-inner .profile-box .joining {
    color: #fff;
    font-size: 14px;
}

/*@media (max-width: 991px) {
.interview-hero-box-inner .title {
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	margin-top:30px;
}
}
@media (max-width: 767px) {
.interview-hero-box-inner .title {
	color: #fff;
    font-size: 16px;
    font-weight: bold;
    margin-top: 20px;
}
}*/
.scroll-down {
    position: relative;
    margin-top: -20px;
    float: right;
    margin-right: 30px;
}

@media (max-width: 991px) {
    .scroll-down {
        display: none;
    }
}

/*----個別＿ヒーローイメージ--------------------------*/
.interview-content-box {
    background-color: #fff;
    padding: 0;
    padding-top: 130px;
}

.interview-content-row {
    margin-bottom: 100px;
    position: relative;
}

.interview-content-row:last-of-type {
    margin-bottom: 100px;
}

@media (min-width: 992px) {
    .interview-content-box .interview-bar img {
        height: 300px;
        opacity: 0.4;
    }
}

.interview-content-box .interview-01-bar {
    width: 5%
}

.interview-content-box .interview-01-sec {
    width: 95%;
    padding-left: 5%;
    position: relative;
}

@media screen and (max-width: 767px) {
    .interview-content-box .interview-01-sec {
        width: 100%;
        padding-left: 15px;
        padding-right: 15px;
    }
}

.interview-content-box .interview-02-bar {
    width: 5%;
    position: absolute;
    right: 0;
}

@media screen and (max-width: 767px) {
    .interview-content-box .interview-02-bar {
        position: relative;
        left: 0;
    }
}

.interview-content-box .interview-02-sec {
    width: 90%;
    margin-left: 0;
    position: relative;
}

@media screen and (max-width: 767px) {
    .interview-content-box .interview-02-sec {
        width: 100%;
        padding-left: 15px;
        padding-right: 15px;
    }
}

.interview-content-box .interview-03-bar {
    width: 5%
}

.interview-content-box .interview-03-sec {
    width: 95%;
    padding-left: 5%;
    position: relative;
}

@media screen and (max-width: 767px) {
    .interview-content-box .interview-03-sec {
        width: 100%;
        padding-left: 15px;
        padding-right: 15px;
        position: relative;
    }
}

@media screen and (max-width: 767px) {
    .interview-content-box .interview-bar {
        width: 80%;
        padding: 0 25px;
        margin-top: 30px;
        margin-bottom: 20px;
    }

    .interview-content-box .interview-bar img {
        opacity: 0.2;
    }
}

.interview-content-box .interview-sec .copy {
    font-size: 28px;
    margin-bottom: 15px;
}

.interview-content-box.kagawa .interview-sec .copy {
    color: #589DD9;
}

.interview-content-box.tokyo .interview-sec .copy {
    color: #4ABE88;
}

.interview-content-box .interview-02-sec .copy {
    width: 90%;
    margin-left: 10%;
    padding-left: 10px;
}

@media screen and (max-width: 767px) {
    .interview-content-box .interview-02-sec .copy {
        width: 100%;
        margin-left: 0;
        padding-left: 0;
    }
}

.interview-content-box .interview-sec .text {
    color: #333;
    font-size: 16px;
    line-height: 2;
    width: 90%;
    margin-bottom: 30px;
    text-align: justify;
}

.interview-content-box .interview-02-sec .text {
    margin-left: 10%;
    padding-left: 10px;
}

.interview-content-box .interview-sec .img-liquid {
    height: 500px;
}

.interview-content-box .message-box {
    margin-top: 0;
}

.interview-content-box.kagawa .message-box {
    background-color: #589DD9;
}

.interview-content-box.tokyo .message-box {
    background-color: #4ABE88;
}

.interview-content-box .message-box .row {
    justify-content: space-between;
    align-items: center;
}

.interview-content-box .message-img {
    width: 30%;
    /*padding-left: 2%;*/
}

.interview-content-box .message-text {
    width: 70%;
    padding: 0 8%;
    /*padding-right: 2%;*/
}

.interview-content-box .message-text p {
    color: #fff;
    line-height: 1.8;
}

.interview-content-box .message-text p.title {
    font-size: 16px;
    padding-bottom: 10px;
    line-height: 1;
}

.interview-content-box .message-text p.title:after {
    content: '';
    width: 80px;
    border-bottom: solid 2px white;
    display: block;
    padding-top: 10px;
}

.interview-content-box .message-text p.description {
    font-size: 16px;
}

@media screen and (max-width: 767px) {
    .interview-content-box .message-text p.title {
        font-size: 20px;
        padding-bottom: 10px;
        line-height: 1.6;
        font-weight: 600;
    }

    .interview-content-box .message-text p.description {
        font-size: 16px;
        line-height: 1.6;
    }
}

/*----お知らせ一覧--------------------------*/
.section-box#news {
    padding: 70px 0;
}

#news .news-main-col>ul {
    width: auto;
    text-align: left;
    margin: 0 auto;
    margin-bottom: 30px;
    padding-top: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

@media (min-width: 992px) {
    #news .news-main-col>ul {
        padding-right: 30px;
    }
}

@media (max-width: 991px) {
    #news .news-main-col>ul {
        margin-bottom: 100px;
    }
}

n#news .news-main-col {
    padding-top: 0;
}

#news .news-main-col .single {
    padding-top: 30px;
}

@media (max-width: 991px) {
    #news .news-main-col {
        padding-bottom: 0;
    }
}

#news .news-main-col li {
    /*margin-bottom: 20px;*/
}

@media (max-width: 413px) {
    #news .news-main-col li {
        margin-bottom: 10px;
        padding: 10px 10px;
    }
}

#news .news-main-col li time {
    /*float: left;*/
}

@media (max-width: 991px) {
    #news .news-main-col li time {
        float: none;
    }
}

#news .news-main-col .category {
    /*float: left;
	margin-top: -4px;*/
}

@media (max-width: 991px) {
    #news .news-main-col .category {
        /*float: none;
	margin-top: 0;*/
    }
}

#news .news-main-col li p.title {
    display: block;
    margin-bottom: 0;
}

#news .news-aside-col {
    margin-bottom: 50px;
}

#news .news-aside-col.single {
    padding-top: 80px;
}

#news .news-aside-col .menu {
    margin-bottom: 50px;
}

#news .news-aside-col .menu:last-of-type {
    margin-bottom: 0;
}

#news .news-aside-col .menu a {
    display: block;
    padding: 15px;
    text-decoration: none;
    color: #393232;
    font-size: 14px;
}

#news .news-aside-col label {
    display: block;
    margin: 0 0 4px 0;
    padding: 15px;
    line-height: 1;
    color: #393232;
    font-size: 14px;
    font-weight: bold;
    background: #E8E1D6;
    cursor: pointer;
}

#news .news-aside-col input {
    display: none;
}

#news .news-aside-col .menu ul {
    /*margin: 0;
    padding: 0;
    background :#f4f4f4;
    list-style: none;*/
}

#news .news-aside-col .menu li {
    text-align: left;
    margin-bottom: 10px;
}

#news .news-aside-col .menu li a {
    display: block;
    color: #444;
    padding: 5px 0;
    padding-left: 30px;
    /*background: #fff;*/
    text-decoration: none;
    position: relative;
    font-size: 14px;
    line-height: 1;
}

#news .news-aside-col .menu li a:before {
    position: absolute;
    left: 3px;
    content: '';
    display: inline-block;
    width: 9px;
    height: 14px;
    background-image: url("../images/arrow.svg");
    background-size: contain;
    vertical-align: middle;
}


#menu_bar01:checked~#links01 li,
#menu_bar02:checked~#links02 li {
    /*height: 54px;
    opacity: 1;*/
}

#news .news-main-col .single .article-header {
    text-align: left;
}

#news .news-main-col .single .category {
    float: none;
    margin-top: 0;
    display: inline-block;
    background-color: #f99d1c;
    color: #fff;
    padding: 3px 7px;
    border-radius: 15px;
    font-size: 12px;
    margin-right: 0;
    width: auto;
    text-align: center;
}

#news .news-main-col .single .title {
    display: block;
    font-size: 14px;
    margin-top: 10px;
    margin-bottom: 20px;
}

#news .news-main-col .single .category p {
    color: #fff;
}

.page-hero-wrap.single .page-title-box-inner img.page-top {
    width: auto;
    height: 60px;
    margin-top: 50px;
}

#news.single .title p {
    font-size: 22px;
    font-weight: bold;
}

#news.single .article-text-wrap {
    margin-top: 50px;
    text-align: justify;
}

#news.single .article-text-wrap p {
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 20px;
}

@media (max-width: 991px) {
    #news.single .article-text-wrap {
        margin-top: 20px;
        text-align: justify;
    }
}

@media (max-width: 767px) {
    .page-hero-wrap.single .page-title-box {
        background: transparent;
    }

    .page-hero-wrap.single .page-title-box-inner {
        display: table-cell;
        vertical-align: bottom;
        position: relative;
        bottom: 10px;
        padding: 0;
        padding-left: 15px;
        padding-right: 15px;
    }

    .page-hero-wrap.single .page-title-box-inner img.page-top-line {
        display: none;
    }

    .page-hero-wrap.single .page-title-box-inner img.page-top {
        width: auto;
        height: 30px;
        margin-top: 50px;
    }

    .page-hero-wrap.single .page-title-box-inner .title {
        font-size: 14px;
        text-align: justify;
    }
}

@media (max-width: 413px) {
    .page-hero-wrap.single .page-title-box-inner .title {
        color: #fff;
        font-size: 12px;
        font-weight: bold;
        margin-top: 20px;
        text-align: justify;
    }

    #news.single .title p {
        font-size: 16px;
        font-weight: bold;
    }

    #news .news-main-col .single .category {
        font-size: 10px;
    }

    #news .news-main-col .single .date time {
        font-size: 10px;
    }
}

#news .news-main-col .category a {
    color: #32C0AA;
    padding: 3px;
    display: block;
    width: 100%;
    text-align: center;
    border: 1px solid #32C0AA;
    transition: .3s;
}

.kagawa#news .news-main-col .category a {
    color: #589DD9;
    padding: 3px;
    display: block;
    width: 100%;
    text-align: center;
    border: 1px solid #589DD9;
    transition: .3s;
}

.tokyo#news .news-main-col .category a {
    color: #32C0AA;
    padding: 3px;
    display: block;
    width: 100%;
    text-align: center;
    border: 1px solid #32C0AA;
    transition: .3s;
}

.kagawa#news .news-main-col .category a:hover {
    color: #fff;
    background-color: #589DD9;
}

.tokyo#news .news-main-col .category a:hover {
    color: #fff;
    background-color: #32C0AA;
}

#news .news-main-col .title a {
    color: #444;
    transition: .3s;
}

.kagawa#news .news-main-col .title a:hover {
    color: #589DD9;
}

.tokyo#news .news-main-col .title a:hover {
    color: #32C0AA;
}

#news .news-main-col li {
    display: block;
    align-items: center;
    justify-content: flex-start;
}

@media (max-width: 767px) {
    #news .news-main-col li {
        display: block;
    }
}

#news .news-main-col li time {
    color: #666;
    padding-right: 20px;
    font-size: 15px;
}

#news .news-main-col .category-wrap {
    display: inline-block;
    line-height: 1;
    height: 22px;
}

#news .news-main-col .category {
    color: #32C0AA;
    padding-right: 20px;
    margin-bottom: 0;
    font-weight: normal;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 154px;
    height: 22px;
}

@media (max-width: 767px) {
    #news .news-main-col .category {
        background-color: transparent;
        padding: 0;
    }
}

#news .news-main-col .category:before {
    content: '|';
    padding-right: 20px;
    color: #666;
}

#news .news-main-col .category:after {
    content: '';
    /*padding-left: 20px;
    color: #666;*/
}

#news .news-main-col li p.title {
    margin-bottom: 0;
    /*font-weight: normal;*/
    font-size: 14px;
    line-height: 22px;
    margin-top: 10px;
}

@media (max-width: 767px) {
    #news .news-main-col li p.title {
        /*font-weight: bold;*/
    }
}

#news .news-main-col li {
    border-bottom: 1px solid #eaeaea;
    padding: 15px 0;
    font-size: 14px;
}

#news .news-main-col li:first-child {
    border-top: 1px solid #eaeaea;
}

#news .date-category-box {
    display: flex;
    align-items: center;
}

#news .news-aside-col .title {
    font-size: 22px;
    margin-bottom: 30px;
    font-family: 'Lato', sans-serif;
    font-weight: 500;
    vertical-align: middle;
    display: block;
    text-align: left;
    line-height: 1;
    position: relative;
}

#news .news-aside-col .title:after {
    content: "";
    width: 100%;
    position: absolute;
    bottom: -10px;
    left: 0;
    border-bottom: 1px solid #4ABE88;
}

#news.kagawa .news-aside-col .title:after {
    content: "";
    width: 100%;
    position: absolute;
    bottom: -10px;
    left: 0;
    border-bottom: 1px solid #589DD9;
}

#news.tokyo .news-aside-col .title:after {
    content: "";
    width: 100%;
    position: absolute;
    bottom: -10px;
    left: 0;
    border-bottom: 1px solid #4ABE88;
}

/*----お知らせ個別--------------------------*/
#news .single .category {
    color: #32C0AA;
    padding-right: 20px;
    margin-bottom: 0;
    font-weight: normal;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 154px;
    height: 22px;
}

@media (max-width: 991px) {
    #news .single .category {
        background-color: transparent;
        padding: 0;
    }
}

#news .single .category:before {
    content: '|';
    padding-right: 20px;
    color: #666;
}

#news .single .category:after {
    content: '';
    /*padding-left: 20px;
    color: #666;*/
}

#news .single .category-wrap {
    display: inline-block;
    line-height: 1;
    height: 22px;
}

#news .single .category p {
    color: #32C0AA;
    padding: 3px;
    display: block;
    width: 100%;
    text-align: center;
    border: 1px solid #32C0AA;
    transition: .3s;
}

#news .single .title {
    display: block;
    margin-bottom: 20px;
}

#news .single .title p {
    font-size: 22px;
    /*font-weight: bold;*/
    text-align: left;
    position: relative;
}

@media (max-width: 767px) {
    #news .single .title p {
        font-size: 16px;
        /*font-weight: bold;*/
        text-align: left;
        position: relative;
    }
}

#news .single .title p:after {
    content: "";
    display: block;
    height: 1px;
    /*background: -moz-linear-gradient(left, #32C0AA, #00BBE2);
  background: -webkit-linear-gradient(left, #32C0AA, #00BBE2);
  background: linear-gradient(to right, #32C0AA, #00BBE2);*/
    margin-top: 15px;
}

#news.kagawa .single .title p:after {
    content: "";
    display: block;
    height: 1px;
    background: #589dd9;
    margin-top: 15px;
}

#news.tokyo .single .title p:after {
    content: "";
    display: block;
    height: 1px;
    background: #4ABE88;
    margin-top: 15px;
}

#news .single .article-text-wrap p {
    font-size: 15px;
    line-height: 2;
    color: #444;
    text-align: left;
    margin-bottom: 30px;
}

@media (max-width: 767px) {
    #news .single .article-text-wrap p {
        font-size: 14px;
        line-height: 2;
        color: #444;
        text-align: justify;
        margin-bottom: 15px;
    }
}

#news .single .article-text-wrap h2 {
    position: relative;
    line-height: 2;
    display: block;
    text-align: left;
    font-size: 18px;
    font-weight: bold;
    color: #444;
    margin-top: 15px;
    padding-top: 15px;
    margin-bottom: 30px;
}

@media (max-width: 767px) {
    #news .single .article-text-wrap h2 {
        font-size: 14px;
        margin-top: 15px;
        padding-top: 0;
        margin-bottom: 15px;
    }
}

#news .single .article-text-wrap h2:before, #news .single .article-text-wrap h2:after {
    position: relative;
    font-family: "Font Awesome 5 Free";
    display: inline-block;
    font-size: 1.0em;
    color: #32c0aa;
}

#news .single .article-text-wrap h2:before {
    content: "\f053";
    padding-right: 0.5em
}

#news .single .article-text-wrap h2:after {
    content: "\f054";
    padding-left: 0.5em
}

#news .single .article-text-wrap a {
    color: #32c0aa;
    text-decoration: underline;
}

#news .single .article-text-wrap a:before {
    /*content:"\f35d";
  padding-left: 0.5em;
  font-family: "Font Awesome 5 Free";
  font-weight: 600;*/
    content: '';
    display: inline-block;
    width: 15px;
    height: 15px;
    position: relative;
    top: -2px;
    overflow: hidden;
    margin-right: 3px;
    background-image: url(../images/launch.svg);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
}

#news article.single {
    /*margin-bottom: 100px;*/
}

.phone-padding {
    padding: 0 30px;
}

#news article.single .single-inner {
    padding-right: 30px;
}

.article-header {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 20px;
}

#news .article-header time {
    color: #666;
    padding-right: 20px;
    font-size: 14px;
}

#news .single .category p, #news .category-list p.category span {
    color: #ffffff;
    background-color: #32C0AA;
    padding: 0 3px;
    display: block;
    width: 100%;
    text-align: center;
    border: 1px solid #32C0AA;
    height: 22px;
    line-height: 20px;
}

#news.kagawa .single .category p, #news.kagawa .category-list p.category span {
    color: #ffffff;
    background-color: #589dd9;
    padding: 0 3px;
    display: block;
    width: 100%;
    text-align: center;
    border: 1px solid #589dd9;
    height: 22px;
    line-height: 20px;
}

#news.tokyo .single .category p, #news.tokyo .category-list p.category span {
    color: #ffffff;
    background-color: #4ABE88;
    padding: 0 3px;
    display: block;
    width: 100%;
    text-align: center;
    border: 1px solid #4ABE88;
    height: 22px;
    line-height: 20px;
}

.section-box.privacy_policy .text-wrap .description.m-b {
    margin-bottom: 30px;
}

.section-box.privacy_policy .text-wrap .read {
    text-align: left;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #666;
}

@media (max-width: 767px) {
    .section-box.privacy_policy .text-wrap .read {
        font-size: 16px;
    }
}

.section-box.privacy_policy .text-wrap-inner {
    margin-bottom: 50px;
}

.section-box.privacy_policy {
    padding: 70px 0;
}

.section-box.privacy_policy .text-wrap .ceo.desc-right {
    text-align: right;
    margin-top: 50px;
}

.section-box.privacy_policy .text-wrap .ceo span {
    font-size: 12px;
    display: block;
    margin-bottom: 5px;
}

.section-box.privacy_policy .text-wrap .description {
    font-size: 14px;
    line-height: 2;
    color: #444;
    margin-bottom: 0;
    padding: 0;
    text-align: justify;
}

/*section.top-services {
	background-color: #fff;
	padding: 50px;
	height: 100%;
    margin-bottom: 50px;
}
@media screen and (max-width: 991px) {
section.top-services {

}    
}
section.top-services .container-fluid {
	padding: 0;
}
section.top-services .row {
	height: 600px;
    width: 100%;
}
section.top-services .top-services-row {
	position: relative;
    height: auto;
	display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
	justify-content: space-around;
	align-items: center;
	margin: 0;
	overflow: hidden;
}
section.top-services .left {
	margin-top: 0;
    width: 40%;
	position: absolute;
	top: 0;
    left: 0;
	z-index: 1;
}
section.top-services .left.img-liquid {
	height: 600px;
}
section.top-services .right {
	margin-top: 0;
    width: 40%;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
}
section.top-services .right.img-liquid {
	height: 600px;
}
section.top-services .center {
	width: 30%;
    height: 620px;
    margin: 0 2%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #FFF;
    transform: skewX(-5deg);
    position: relative;
    top: 0;
    z-index: 2;
    text-align: center;
}
@media all and (-ms-high-contrast: none) {
section.top-services .center {
    width: auto;
}
}
section.top-services .center::before {
	content: '';
    width: 10%;
    height: 620px;
    margin: 0;
    display: inline-block;
    background: rgba(226, 242, 245, 0.7);
    transform: skewX(0);
    position: absolute;
    z-index: 2;
    left: -10%;
	bottom: 0;
}
section.top-services .center::after {
	content: '';
    width: 10%;
    height: 620px;
    margin: 0;
    display: inline-block;
    background: rgba(226, 242, 245, 0.7);
    transform: skewX(0);
    position: absolute;
    z-index: 2;
    right: -10%;
	bottom: 0;
}
section.top-services .title-box {
	position: relative;
    top: -50px;
    z-index: 3;
}
section.top-services .title-box .en-title {
	font-family: 'Lato', sans-serif;
	font-size: 110px;
    line-height: 1;
	font-weight: bold;
	color: #0d2a6f;
    transform: skewX(-5deg);
    word-break: normal;
    overflow-wrap: normal;
}
@media screen and (min-width: 1200px) {
section.top-services .title-box .en-title {
    font-size: 130px;
    }
}
section.top-services .title-box .title {
	font-size: 20px;
    line-height: 1;
	color: #0d2a6f;
	margin-top: 0;
}
@media screen and (max-width: 991px) {
section.top-services .title-box .title {
	font-size: 18px;
}    
}
section.top-services .title-box .button {
    display: inline-block;
    margin-top: 15px;
    width: 180px;
}
section.top-services .title-box .button a {
	background-color: #FFF;
    color: #0d2a6f;
	border: 1px solid #0d2a6f;
    padding: 10px;
    display: inline-block;
    width: 100%;
	font-family: 'Lato', sans-serif;
	transition: .3s;
	text-align: center;
    font-size: 14px;
}
section.top-services .title-box .button a:hover {
background-color: #0d2a6f;
	color: #fff;
}*/
.content_area .phone-padding {
    padding: 0 25px;
}

/*----トップインタビュー--------------------------*/
.top-interview {
    padding: 50px 0;
    padding-bottom: 0;
}

.slick-slider {
    background-color: transparent;
}

.slick-slide .image-box {
    /*border-top-right-radius: 7.5px;
    border-top-left-radius: 7.5px;
    border: 1px solid rgb(221 221 221 / 70%);
    border-bottom: none;*/
}

.slick-slide img {
    /*border-top-right-radius: 6.5px;
    border-top-left-radius: 6.5px;*/
}

.top-interview .interview-col-wrap .slick-slide {
    padding: 30px 10px;
    padding-top: 20px;
}

.top-interview .text-box {
    position: relative;
    padding: 15px 10px;
    width: 100%;
    /*border-bottom-right-radius: 7.5px;
    border-bottom-left-radius: 7.5px;
    border: 1px solid rgb(221 221 221 / 70%);
    border-top: none;*/
}

@media screen and (max-width: 767px) {
    .top-interview .text-box {
        padding: 15px 0;
    }
}

.top-interview .title {
    font-size: 18px;
}

@media screen and (max-width: 767px) {
    .top-interview .title {
        font-size: 16px;
    }
}

.top-interview .en-title {
    font-size: 12px;
    margin-bottom: 10px;
}

.top-interview li {}

.top-interview a {
    display: block;
    position: relative;
}

.top-interview li a {
    -webkit-box-shadow: 0 5px 15px -12px rgba(50, 50, 93, .25), 0 18px 36px -18px rgba(0, 0, 0, .3), 0 -12px 36px -8px rgba(0, 0, 0, .025);
    box-shadow: 0 5px 15px -7px rgba(50, 50, 93, .15), 0 12px 16px -18px rgba(0, 0, 0, .1), 0 -12px 36px -8px rgba(0, 0, 0, .015);
}

.top-interview li a:focus {
    outline: 0;
}


.top-interview li a .image-box {
    position: relative;
}

@media screen and (min-width: 768px) {
    .top-interview li a .image-box .mask {
        width: 100%;
        height: 100%;
        position: absolute;
        overflow: hidden;
        top: 0;
        left: 0;
        display: table;
        text-align: center;
        -webkit-transition: all 0.3s linear;
        -moz-transition: all 0.3s linear;
        -o-transition: all 0.3s linear;
        -ms-transition: all 0.3s linear;
        transition: all 0.3s linear;
        -ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=0)";
        filter: alpha(opacity=0);
        opacity: 0;
    }

    .top-interview li a .image-box .mask.kagawa {
        background-color: rgba(88, 157, 217, 0.7);
        /*border-top-right-radius: 10px;
    border-top-left-radius: 10px;*/
    }

    .top-interview li a .image-box .mask.tokyo {
        background-color: rgba(74, 190, 135, 0.7);
        /*border-top-right-radius: 7.5px;
    border-top-left-radius: 7.5px;*/
    }

    .top-interview li a:hover .image-box .mask {
        -ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=100)";
        filter: alpha(opacity=100);
        opacity: 1;
    }

    .top-interview li a .image-box .mask p {
        display: table-cell;
        vertical-align: middle;

        /*font-family: lato;
    font-size: 40px;
    font-style: italic;
    color: rgb(73, 70, 237);
    transform: rotate(-14deg);
    mix-blend-mode: difference;
    line-height: 1;*/
    }

    .top-interview li a .image-box .mask p img {
        height: 70px;
    }
}

@media screen and (max-width: 767px) {
    .top-interview li a .image-box .mask {
        display: none;
    }
}

.top-interview li.kagawa a:after {
    /*content: '';
	background-image: url("../images/top/kagawa.svg");
	background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    min-height: 100%;
    display: block;
    text-align: left;*/
}

.top-interview li.kagawa .en-title {
    color: #589DD9;
}

.top-interview li.tokyo .en-title {
    color: #4ABE88;
}

.top-interview .position {
    font-size: 13px;
}

.top-interview .joining {
    font-size: 13px;
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .top-interview .position {
        font-size: 12px;
    }

    .top-interview .joining {
        font-size: 12px;
    }
}

@media screen and (max-width: 767px) {
    .top-interview .position {
        font-size: 12px;
    }

    .top-interview .joining {
        font-size: 12px;
    }
}

.top-interview .area {
    position: relative;
    /*bottom: 15px;
	right: 10px;*/
    font-family: 'Lato', sans-serif;
    font-size: 20px;
    line-height: 1;
    font-weight: bold;
    /*color: #589DD9;*/
    transform: skewX(-5deg);
    width: 40%;
    text-align: right;
    margin: 0 auto;
    margin-right: 0;
}

@media screen and (max-width: 767px) {
    .top-interview .area {
        font-size: 16px;
        margin: 0;
        margin-top: 10px;
        text-align: left;
    }
}

.top-interview .kagawa .area {
    color: #589DD9;
    text-transform: uppercase;
}

.top-interview .tokyo .area {
    color: #4ABE88;
    text-transform: uppercase;
}

.top-interview .section-title {
    margin-bottom: 50px;
    /*padding: 0 20px;*/
}

.top-interview .section-title .en-title {
    position: relative;
    font-family: 'Lato', sans-serif;
    font-size: 40px;
    line-height: 1;
    font-weight: bold;
    transform: skewX(-5deg);
}

.top-interview .section-title .title {
    font-size: 16px;
    line-height: 1;
    color: #0d2a6f;
}

.top-interview .slick-prev {
    top: -60px;
    left: calc(50% - 55px);
    background-color: #FFF;
}

.top-interview .slick-prev:before {
    border-top: solid 2px #58C5D9;
    border-right: solid 2px #58C5D9;
    width: 15px;
    height: 15px;
}

.top-interview .slick-next {
    top: -60px;
    left: calc(50% + 7px);
    background-color: #FFF;
}

.top-interview .slick-next:before {
    border-top: solid 2px #58C5D9;
    border-right: solid 2px #58C5D9;
    width: 15px;
    height: 15px;
    left: calc(50% - 12px);
}

@media screen and (max-width: 767px) {
    .top-interview .slick-prev, .top-interview .slick-next {
        display: none !important;
    }
}

.top-interview .bg {
    margin-top: -50px;
    width: 60%;
    height: 350px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    position: absolute;
    right: 0;
    background-image: url("../images/top/interview/bg.jpg");
}

.top-interview .button-area {
    text-align: center;
    margin: 50px 0;
    margin-top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.top-interview .button-area .kagawa {
    margin-right: 15px;
}

.top-interview .button-area .kagawa a {
    background-color: #589DD9;
    color: #fff;
    padding: 20px 35px;
    font-size: 16px;
    transition: .3s;
}

.top-interview .button-area .tokyo a {
    background-color: #4ABE88;
    color: #fff;
    padding: 20px 35px;
    font-size: 16px;
    transition: .3s;
}

.top-interview .button-area .kagawa a:hover {
    background-color: #457dae;
}

.top-interview .button-area .tokyo a:hover {
    background-color: #399168;
}

@media screen and (min-width: 768px) {
    .top-interview .interview-col-wrap {
        /*padding: 0 50px;*/
        margin-bottom: 0;
    }
}

/*----トップインフォグラフィック--------------------------*/
.top-graphic {
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    position: relative;
    top: 0;
    left: 0;
    background-image: url("../images/top/graphic/bg.jpg");
    padding: 100px 0;
}

.top-graphic .title {
    text-align: left;
    display: inline-block;
    margin-bottom: 50px;
}

.top-graphic .title img {
    height: 40px;
    width: auto;
}

.top-graphic .uriage {
    /*text-align: left;
	display: inline-block;
	margin-bottom: 50px;
    border-bottom: 1px solid #fff;
    padding-bottom: 50px;
	width: 100%;*/
}

.top-graphic .uriage img {
    height: auto;
}

.top-graphic .soshainsu, .top-graphic .danjohi {}

.top-graphic .soshainsu {}

.top-graphic .danjohi {}

.top-graphic .graphic-single {
    margin-bottom: 50px;
    border-bottom: 1px solid #fff;
    padding: 50px;
    padding-top: 0;
    width: 100%;
}

.top-graphic .graphic-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 50px;
    border-bottom: 1px solid #fff;
    padding: 50px;
    padding-top: 0;
    width: 100%;
}

.top-graphic .graphic-row.border-none {
    border-bottom: none;
    padding-bottom: 0;
}

.top-graphic .uriage img {
    height: auto;
}

/*----実績紹介--------------------------*/
.top-works {
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    position: relative;
    top: 0;
    left: 0;
    background-image: url("../images/top/works/bg.jpg");
    padding: 180px 0;
}

.top-works .row {
    justify-content: center;
    align-items: center;
    text-align: center;
}

.top-works .title-box .en-title {
    position: relative;
    font-family: 'Lato', sans-serif;
    font-size: 70px;
    line-height: 1;
    color: #fff;
    font-weight: bold;
}

.top-works .title-box .title {
    font-size: 16px;
    line-height: 1;
    margin-top: 20px;
    color: #fff;
}

.top-works .title-box .button {
    display: inline-block;
    margin-top: 30px;
    width: 200px;
}

.top-works .title-box .button a {
    display: inline-block;
    margin-top: 30px;
    width: 200px;
}

.top-works .title-box .button a {
    background-color: #58C5D9;
    color: #fff;
    padding: 15px;
    display: inline-block;
    width: 100%;
    font-family: 'Lato', sans-serif;
    transition: .3s;
}

.top-works .title-box .button a:hover {
    background-color: #3e8997;
}

.modal-nav .phone-modal-menu li.first.multi>p {
    margin-bottom: 20px;
    border-bottom: 1px solid #85e0d4;
    padding-bottom: 20px;
    display: block;
    letter-spacing: 0.2rem;
    color: #fff;
    font-size: 16px;
}

.modal-nav li a:hover {
    color: #84e0d4;
}

/*----トップページ_お知らせ--------------------------*/
section#top-news {
    padding: 100px 0;
}

section#top-news .title.area {
    position: relative;
    font-family: 'Lato', sans-serif;
    font-size: 20px;
    line-height: 1;
    font-weight: bold;
    text-align: left;
    margin-bottom: 10px;
}

section#top-news .news-main-col.kagawa .title {
    color: #589DD9;
}

section#top-news .news-main-col.tokyo .title {
    color: #4ABE88;
}

#top-news .news-main-col li {
    border-bottom: 1px solid #eaeaea;
    padding: 15px 0;
}

#top-news .news-main-col.kagawa li:first-child {
    border-top: 2px solid #589dd9;
}

#top-news .news-main-col.tokyo li:first-child {
    border-top: 2px solid #4ABE88;
}

#top-news .news-main-col li {
    display: block;
}

@media (max-width: 767px) {
    #top-news .news-main-col li {
        display: block;
    }
}

#top-news .date-box {
    text-align: left;
}

#top-news .date-box time {
    color: #444;
    font-size: 12px;
}

#top-news .text-box {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-top: 5px;
}

#top-news .news-main-col .category {
    color: #fff;
    padding: 5px 0;
    margin-bottom: 0;
    font-weight: normal;
    font-size: 10px;
    width: 100px;
    height: auto;
    margin-right: 15px;
}

#top-news .news-main-col.kagawa .category {
    background-color: #589dd9;
}

#top-news .news-main-col.tokyo .category {
    background-color: #4ABE88;
}

#top-news .news-main-col .title a {
    color: #444;
    transition: .3s;
    font-size: 12px;
    text-align: left;
}

#top-news .news-main-col.kagawa .title a:hover {
    color: #589dd9;
}

#top-news .news-main-col.tokyo .title a:hover {
    color: #4ABE88;
}

#top-news .news-main-col a.all-link {
    display: inline-block;
    padding: 10px 25px;
    margin-top: 30px;
    border-radius: 5px;
    color: #444;
    font-size: 14px;
    transition: .3s;
}

#top-news .news-main-col.kagawa a.all-link {
    border: 2px solid #589dd9;
}

#top-news .news-main-col.kagawa a.all-link:hover {
    background-color: #589dd9;
    color: #FFF;
}

#top-news .news-main-col.tokyo a.all-link {
    border: 2px solid #4ABE88;
}

#top-news .news-main-col.tokyo a.all-link:hover {
    background-color: #4ABE88;
    color: #FFF;
}


/*-------------------------------------*/
.top-works .half-text .title, .top-news .half-text .title, .top-csr .half-text .title {
    /*text-align: center;*/
}

.top-csr .half-text .title {
    margin-bottom: 50px;
}

@media (max-width: 991px) {
    .top-csr .half-text .title {
        margin-bottom: 50px;
    }
}

.top-works .half-text .title span, .top-news .half-text .title span, .top-csr .half-text .title span {
    margin: 0 auto;
}

.half-section.top-works, .half-section.top-news {
    padding: 0;
    padding-bottom: 150px;
}

@media (max-width: 991px) {
    .half-section.top-works {
        padding-bottom: 100px;
    }
}

.top-works-inner, .top-news-inner {
    text-align: center;
}

.top-csr-inner {
    background-color: rgba(50, 192, 170, 1);
    display: inline-block;
    /* text-align: center; */
    padding: 30px;
    padding-bottom: 50px;
}

@media (max-width: 991px) {
    .top-csr-inner {
        background-color: rgba(50, 192, 170, 1);
        display: inline-block;
        width: 100%;
    }
}

.half-text .top-works-inner .link, .half-text .top-news-inner .link {
    margin-top: 30px;
}

.top-news-inner a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.top-news-inner a time {
    color: #666;
    padding-right: 20px;
    font-size: 14px;
}

.top-news-inner a time:after {
    content: '|';
    padding-left: 20px;
}

.top-news-inner a .title, .top-news-inner a .category {
    margin-bottom: 0;
    font-weight: normal;
    font-size: 14px;
}

.top-news-inner a .category {
    color: #32C0AA;
    padding-right: 20px;
}

.top-news-inner a .category:after {
    content: '|';
    padding-left: 20px;
    color: #666;
}

.top-news-inner li {
    border-bottom: 1px solid #eaeaea;
    padding: 15px 0;
}

.top-news-inner li:first-child {
    border-top: 1px solid #eaeaea;
}

/*-------------------------------------------------*/
[include*="form-input-select()"] {
    display: block;
    padding: 0;
    position: relative;
    color: #32c0aa;
    border-radius: 0;
    box-shadow: none;
    font-size: 16px;
    margin-top: 9px;
    margin-bottom: 15px;
    width: 100%;
}

.kagawa [include*="form-input-select()"] {
    color: #589DD9;
}

.tokyo [include*="form-input-select()"] {
    color: #4ABE88;
}

#works-archive .category-tab [include*="form-input-select()"] {
    width: 200px;
}

@media (max-width: 767px) {
    #works-archive .category-tab [include*="form-input-select()"] {
        width: 31%;
    }
}

[include*="form-input-select()"]::before, [include*="form-input-select()"]::after {
    content: '';
    display: block;
    position: absolute;
    pointer-events: none;
    z-index: 2;
}

[include*="form-input-select()"] select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    border: 1px solid transparent;
    font-size: 14px;
    outline: none;
    /* Focus style */
}

[include*="form-input-select()"] select:focus {
    background-color: transparent;
    outline: none;
}

[include*="form-input-select()"] option {
    font-weight: normal;
}

[include*="form-input-select()"] x:-o-prefocus, [include*="form-input-select()"]::after {
    display: none;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    [include*="form-input-select()"] select::-ms-expand {
        display: none;
    }

    [include*="form-input-select()"] select:focus::-ms-value {
        background: transparent;
        color: #000;
    }
}

@-moz-document url-prefix() {
    [include*="form-input-select()"] {
        overflow: hidden;
    }

    [include*="form-input-select()"] select {
        width: 120%;
        width: calc(100% + 3em);
        /* Firefox focus has odd artifacts around the text, this kills that. See https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-focusring */
    }

    @supports (-moz-appearance: none) {
        [include*="form-input-select()"] select {
            width: 100%;
        }
    }

    [include*="form-input-select()"] select:-moz-focusring {
        color: transparent;
        text-shadow: 0 0 0 #000;
    }
}

@supports (-moz-appearance: none) {
    [include*="form-input-select()"] {
        width: 100%;
    }
}

[include*="form-input-select()"]::before, [include*="form-input-select()"]::after {
    content: '';
    display: block;
    position: absolute;
    pointer-events: none;
    border: 1px solid transparent;
    width: 0;
    height: 0;
    right: 16px;
}

[include*="form-input-select()"]::before {
    bottom: 54%;
    border-width: 0 5.5px 6px 5.5px;
    border-bottom-color: #D6D6D6;
}

[include*="form-input-select()"]::after {
    border-width: 6px 5.5px 0 5.5px;
    border-top-color: #D6D6D6;
    top: 54%;
}

@-moz-document url-prefix() {
    [include*="form-input-select()"] {
        border-right: 3px solid #E6E6E6;
    }

    [include*="form-input-select()"]:hover {
        border-right: 3px solid #005BA6;
    }
}

[include*="form-input-select()"]:hover select {
    box-shadow: 0 2px 3px rgba(0, 91, 166, 0.1) inset;
    border-color: #32c0aa;
}

.kagawa [include*="form-input-select()"]:hover select {
    box-shadow: 0 2px 3px rgba(0, 91, 166, 0.1) inset;
    border-color: #589DD9;
}

.tokyo [include*="form-input-select()"]:hover select {
    box-shadow: 0 2px 3px rgba(0, 91, 166, 0.1) inset;
    border-color: #4ABE88;
}

[include*="form-input-select()"]:hover select:focus {
    outline-color: transparent;
}

[include*="form-input-select()"]:hover::before {
    border-bottom-color: #249fab;
}

.kagawa [include*="form-input-select()"]:hover::before {
    border-bottom-color: #589DD9;
}

.tokyo [include*="form-input-select()"]:hover::before {
    border-bottom-color: #4ABE88;
}

[include*="form-input-select()"]:hover::after {
    border-top-color: #249fab;
}

.kagawa [include*="form-input-select()"]:hover::after {
    border-top-color: #589DD9;
}

.tokyo [include*="form-input-select()"]:hover::after {
    border-top-color: #4ABE88;
}

[include*="form-input-select()"] select {
    border: 1px solid #E6E6E6;
    border-radius: 0;
    font-weight: 400;
    color: inherit;
    padding: 11px 15px;
    line-height: normal;
    -webkit-transition: border-color 0.2s ease, outline 0.2s ease;
    transition: border-color 0.2s ease, outline 0.2s ease;
}

#works-archive .category-tab [include*="form-input-select()"] select {
    padding: 20px 30px;
}

@media (max-width: 767px) {
    #works-archive .category-tab [include*="form-input-select()"] select {
        padding: 10px 10px;
        font-size: 12px;
    }
}

[include*="form-input-select()"] select:focus {
    box-shadow: none;
    outline: 1px solid #32c0aa;
    outline-offset: 0;
}

.kagawa [include*="form-input-select()"] select:focus {
    outline: 1px solid #589DD9;
}

.tokyo [include*="form-input-select()"] select:focus {
    outline: 1px solid #4ABE88;
}

[include*="form-input-select()"] select[disabled], [include*="form-input-select()"] select:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

[include*="form-input-select()"] select:not(:focus):invalid {
    color: #C7C7C7;
}

#works-archive .category-tab [include*="form-input-select()"] select:not(:focus):invalid {
    color: #32c0aa;
}

[include*="form-input-select()"] option[hidden] {
    font-weight: normal;
}

#news .single img {
    width: auto;
    height: auto;
    border: 1px solid #eee;
}

.hero-news .a-flex {
    white-space: nowrap;
}

/*-----------------2021年6月_追加------------------*/
@media screen and (min-width: 992px) and (max-width: 1199px) {
    .top-graphic .danjohi {
        margin-left: calc(5% - 35px);
    }
}

@media screen and (min-width: 768px) {
    .top-graphic .soshainsu {
        width: 45%;
    }

    .top-graphic .danjohi {
        width: 45%;
    }

    .top-graphic .gakureki {
        width: 45%;
    }

    .top-graphic .kinmuchi {
        width: 45%;
    }

    .top-graphic .nenreibetsu {
        width: 45%;
    }

    .top-graphic .nenkankyujitsusu {
        width: 45%;
    }
}

@media screen and (max-width: 767px) {
    .top-graphic .graphic-single .nenkankyujitsusu img {
        width: 100% !important;
    }
}

/*--------------20210608_追記--------------*/
/*タブ切り替え全体のスタイル*/
.tabs {
    margin-top: 50px;
    padding-bottom: 40px;
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    width: 100%;
    margin: 0 auto;
}

/*タブのスタイル*/
.tab_item {
    width: calc(100%/4);
    height: 50px;
    border-bottom: 3px solid #5ab4bd;
    background-color: #ebebeb;
    line-height: 50px;
    font-size: 16px;
    color: #565656;
    display: block;
    float: left;
    text-align: center;
    font-weight: bold;
    transition: all 0.1s ease;

    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.tab_item:hover {
    opacity: 0.8;
}

@media screen and (max-width: 767px) {
    .tab_item:hover {
        opacity: 1;
    }
}

.tabs input:checked+.tab_item:visited, .tabs input:checked+.tab_item:active, .tab_item:visited, .tab_item:active {
    background-color: #589dd9;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
    display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
    display: none;
    padding: 40px 40px 0;
    clear: both;
    overflow: hidden;
}


/*選択されているタブのコンテンツのみを表示*/
#eigyo:checked~#eigyo_content,
#kanri:checked~#kanri_content,
#sekkei:checked~#sekkei_content,
#sekisan:checked~#sekisan_content {
    display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked+.tab_item {
    background-color: #589dd9;
    color: #fff;
    border: none;
    /*font-weight: bold;*/
}

.all_area div.content_area.midway {
    padding: 10px 0;
}

.all_area div.content_area.midway .phone-padding {
    padding: 0 15px;
}

.all_area div.content_area.midway table.col-table.top-table tr.midashi td.left-cell {
    padding-top: 15px;
}

section#recruitment table.col-table.top-table tr.midashi td.left-cell.midway {
    /*width: 20%;
    border-right: 1px solid #888;
    background-color: #f2f7fb;
    vertical-align: middle;*/
    width: 180px;
    /*padding-right: 70px;*/
    padding-right: 0;
    padding-left: 20px;
    font-weight: bold;
}

.section-box table.col-table td.right-cell.midway {
    /*width: 80%;
    padding: 10px;*/
    font-weight: normal;
}

.section-box table.col-table tr.midashi td.right-cell.midway span {
    color: #212529;
}

div.midway .tab_content {
    /*padding: 0 15px;
	padding-top: 15px;*/
    padding: 0;
    padding-top: 30px;
}

@media screen and (max-width: 767px) {
    div.midway .tab_content {
        padding: 0;
        padding-top: 30px;
    }
}

.tabs {
    padding-bottom: 0;
    box-shadow: none;
}

.section-box table.col-table.midway-table {
    /*border: 1px solid #888;*/
}

.section-box table.col-table.midway-table tr:first-child {
    /*border-top: 1px solid #888;*/
}

section#recruitment table.col-table.top-table tr.midashi td.left-cell {
    /*padding: 10px 20px;*/
    padding: 20px 0;
}

section#recruitment table.col-table.top-table tr.midashi td.left-cell a {
    transition: .3s;
    display: block;
}

section#recruitment table.col-table.top-table tr.midashi td.left-cell a:hover {
    opacity: 0.7;
}

section#recruitment table.col-table.top-table tr.midashi td.left-cell.cell-wrap {
    padding: 20px 15px;
    padding-bottom: 0;
}

section#recruitment table.col-table.top-table tr.sub-midashi {
    border-top: none;

}

section#recruitment table.col-table.top-table tr.sub-midashi td.left-cell {
    width: 180px;
    padding-top: 0;

}

section#recruitment table.col-table.top-table tr.sub-midashi td.left-cell span {
    line-height: 1;
}

.midway .tab_item {
    width: calc(25% - 3.75%);
    border: 1px solid #b3b3b3;
    border-radius: 3px;
    color: #b3b3b3;
    margin: 0 2.5%;
    font-weight: normal;
}

.osaka.midway .tab_item {
    width: 30%;
    border: 1px solid #b3b3b3;
    border-radius: 3px;
    color: #b3b3b3;
    margin: 0 2.5%;
    font-weight: normal;
}

.midway .tab_item:first-of-type {
    margin-left: 0;
}

.midway .tab_item:last-of-type {
    margin-right: 0;
}

.section-box table.col-table tr.midashi td.right-cell.midway span {
    color: #212529;
    font-weight: normal;
}

footer .footer-header {
    display: none;
}

.tab_area li {
    border-top: 1px solid #ccc;
}

.tab_area li:last-child {
    border-right: 1px solid #ccc;
}

span.kome {
    font-family: sans-serif;
}

.midway-entry {
    margin-top: 30px;
}

.midway-entry a {
    display: block;
    width: 400px;
    background-color: #58C5D9;
    color: #FFF;
    padding: 11px 0;
    border-radius: 5px;
    font-weight: bold;
    font-size: 12px;
    line-height: 1.3;
    transition: .3s;
    position: relative;
    text-align: center;
    margin: 0 auto;
}

@media screen and (max-width: 767px) {
    .midway-entry a {
        width: 100%;
    }
}

.midway-entry a:hover {
    background-color: #428f9d;
}

.midway-entry a span {
    font-size: 26px;
    letter-spacing: 0.2rem;
}

.col-table .right-cell a {
    text-decoration: underline;
}

section#recruitment table.col-table tr.sub-midashi td.left-cell span.kagawa {
    background-color: #266092;
}

section#recruitment table.col-table tr.sub-midashi td.left-cell span.tokyo {
    background-color: #3c926a;
}

/*トップページ_スライドショー*/
#owl-example .item-box img {
    width: 80%;
    margin-bottom: 30px;
    filter: drop-shadow(0 2px 2px rgba(30, 41, 102, .9));
}

/*.slide-owl-pc .bosyu {
	width: 55%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0;
    justify-content: flex-start;
}
@media (min-width: 992px) and (max-width: 1199px) {
	.slide-owl-pc .bosyu {
	width: 60%;
}
}
@media (min-width: 768px) and (max-width: 991px) {
	.slide-owl-pc .bosyu {
	width: 70%;
}
}
#owl-example .item-box .bosyu p {
    background-color: transparent;
    color: transparent;
    display: inline-block;
    padding: 0;
	margin: 0;
    border-radius: 0;
    font-size: 11px;
	margin-top: 15px;
	width: 25%;
	text-align: center;
}
@media screen and (max-width: 767px) {
	#owl-example .item-box .bosyu p {
	width: 28%;
}
}
#owl-example .item-box .bosyu p.kagawa:nth-of-type(2), #owl-example .item-box .bosyu p.kagawa:nth-of-type(3) {
    border-right: 1px solid #589DD9;
}
#owl-example .item-box .bosyu p.tokyo:nth-of-type(2), #owl-example .item-box .bosyu p.tokyo:nth-of-type(3) {
    border-right: 1px solid #4ABE88;
}
#owl-example .item-box .bosyu p:last-of-type a {
    border-top-right-radius: 3px;
	border-bottom-right-radius: 3px;
}
#owl-example .item-box .bosyu p.tokyo:nth-of-type(2), #owl-example .item-box .bosyu p.tokyo:nth-of-type(3) {
    border-right: 1px solid #4ABE88;
}
#owl-example .item-box .bosyu p.title {
	border-top-left-radius: 3px;
	border-bottom-left-radius: 3px;
}
@media screen and (max-width: 767px) {
	#owl-example .item-box .bosyu p.title {
	width: 16%;
}
}
#owl-example .item-box .bosyu p.kagawa.title {
    background-color: #589DD9;
    color: #FFF;
	padding: 10px 0;
}
#owl-example .item-box .bosyu p.tokyo.title {
    background-color: #4ABE88;
    color: #FFF;
	padding: 10px 0;
}
#owl-example .item-box .bosyu a {
    display: inline-block;
    padding: 10px 0;
    border-radius: 0;
	transition: .3s;
	width: 100%;
}
#owl-example .item-box .bosyu p.kagawa a {
    background-color: #fff;
	color: #589DD9;
}
#owl-example .item-box .bosyu p.tokyo a {
    background-color: #fff;
	color: #4ABE88;
}
#owl-example .item-box .bosyu a:hover {
    opacity: 0.8;
}*/
/*トップページ_スライドショー*/
@media screen and (max-width: 991px) {
    footer .footer-footer .footer-col ul.second {
        display: block !important;
    }

    .midway .tab_item {
        height: 30px;
        line-height: 30px;
        font-size: 12px;
        width: calc(25% - 1.5%);
        margin: 0 1%;
    }

    section#recruitment table.col-table.top-table tr.midashi td.left-cell.midway {
        /*width: auto;*/
        padding-left: 0;
        line-height: 1.6;
    }

    .section-box table.col-table td.left-cell {
        padding-left: 0;
    }

    .section-box table.col-table td.right-cell.midway {
        /*width: auto;*/
    }

    section#recruitment table.col-table tr.sub-midashi td.left-cell span.kagawa {
        background-color: #266092 !important;
        color: #fff !important;
        padding: 10px 10px !important;
        border-radius: 3px !important;
        font-size: 14px !important;
        display: block !important;
    }

    section#recruitment table.col-table tr.sub-midashi td.left-cell span.tokyo {
        background-color: #3c926a !important;
        color: #fff !important;
        padding: 10px 10px !important;
        border-radius: 3px !important;
        font-size: 14px !important;
        display: block !important;
    }
}

@media screen and (max-width: 767px) {
    section#recruitment table.col-table tr.sub-midashi td.left-cell {
        padding-top: 25px !important;
    }

    section#recruitment .midway table.col-table.top-table tr.sub-midashi td.left-cell {
        padding: 0 !important;
    }

    section#recruitment table.col-table tr.sub-midashi {
        border-bottom: none;
    }

    section#recruitment table.col-table tr.sub-midashi td.right-cell {
        padding: 0;
    }

    .section-box table.col-table tr:nth-child(2) {
        border-top: none;
    }

    .all_area div.content_area.midway .phone-padding.midway-second {
        padding: 0;
    }

    section#recruitment .content_area .otoiawase {
        padding: 0 !important;
        padding-top: 30px !important;
    }

    section#recruitment .content_area .otoiawase.shinsotsu {
        padding: 0 15px !important;
        padding-top: 30px !important;
    }

    section#recruitment table.col-table tr.sub-midashi.saiyo-flow {
        border-bottom: none;
    }

    .section-box table.col-table tr.saiyo-flow-shita {
        border-top: none;
    }

    section#recruitment table.col-table.top-table tr.midashi td.left-cell.cell-wrap {
        padding: 20px 0;
        padding-bottom: 0;
    }
}

/*----------------エントリーページ----------------*/
.section-box.contact {
    padding: 50px 0;
    padding-bottom: 100px;
    font-family: sans-serif;
}

.contact .description {
    font-size: 15px;
    line-height: 1.8;
    color: #444;
    margin-bottom: 0;
    padding: 0;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .contact .description {
        text-align: left;
    }
}

.contact .description.m-b {
    margin-bottom: 30px;
}

.contact .description.error {
    color: #B70000;
}

/*　ContactForm7のテーブル化レスポンシブ調整　*/

/*テーブルを親要素の幅いっぱいに伸ばす*/
.table-res-form {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 15px;
}

/*一行ごとに上ボーダー*/
.table-res-form tr {
    /*border-top: 1px #DDD solid;*/
}

/*一番上の行だけボーダーなし*/
.table-res-form tr:first-child {
    border-top: none;
}

/*奇数行だけ背景色つける*/
.table-res-form tr:nth-child(2n+1) {
    /*background: #eee;*/
}

/*thとtd内の余白指定*/
.table-res-form th, .table-res-form td {
    padding-top: 0;
    display: inline-block;
}

.table-res-form th {
    /*padding-bottom: 10px;*/
}

.table-res-form td {
    width: 67%;
    margin-left: 3%;
    font-size: 16px;
    line-height: 1.8;
}

@media (max-width: 767px) {
    .table-res-form td {
        padding-bottom: 5px;
        font-size: 14px;
        margin-left: 0;
    }
}

.table-res-form td.submit-button {
    width: 100%;
    margin: 0;
    display: flex;
    height: auto;
}

/*th（項目欄）は30%幅、テキストを右寄せ*/
.table-res-form th {
    width: 30%;
    text-align: left;
    font-weight: normal;
    padding-top: 0;
    position: relative;
    color: #444;
    vertical-align: baseline;
    line-height: 1.1;
}

.table-res-form tr.textarea-wrap th {
    vertical-align: top;
    padding-top: 7px;
    line-height: 1.5;
}

@media (max-width: 767px) {
    .table-res-form th {
        padding-bottom: 10px;
        width: 100%;
    }

    .table-res-form tr.textarea-wrap th {
        padding-top: 0;
    }
}

/*「必須」部分のスタイリング*/
.table-res-form .requied:before {
    content: "\0274b";
    font-size: 13px;
    font-weight: normal;
    color: #ff8282;
}

.komejirushi {
    color: #ff8282;
}

/*ここから768px以下の指定*/

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

    /*thとtdをブロック化して幅100％にして、縦積み*/
    .table-res-form th, .table-res-form td {
        width: 100%;
        display: block;
    }

    /*th（項目名）欄の不要な余白削除・テキスト左寄せ*/
    .table-res-form th {
        padding-bottom: 0;
        text-align: left;
    }

    /*不要な最終行の左のthを非表示にする*/
    .table-res-form .empty {
        display: none;
    }
}

/*ここまで768px以下の指定---終わり*/

/*ここから入力欄のスタイル指定*/

/*各入力フォームスタイリング*/
.table-res-form input[type="text"], input[type="email"], input[type="tel"], textarea {
    border: 1px #58c5d9 solid;
    padding: 10px;
    height: auto;
    border-radius: 0;
    margin-bottom: 0;
    width: 100%;
    background-color: #ffffff;
    font-size: 16px;
}

@media screen and (max-width: 767px) {
    .table-res-form input[type="text"], input[type="email"], input[type="tel"], textarea {
        padding: 5px 10px;
    }
}

.table-res-form input[type="text"], input[type="email"], input[type="tel"], textarea {
    -webkit-appearance: none;
}

/*入力欄にフォーカスしたら変化*/
.table-res-form input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, textarea:focus {
    background: #FFF;
    border: 1px solid rgb(54, 156, 218);
    box-shadow: 0 0 1px 0 rgb(54, 156, 218);
    outline: 0;
}

/*送信ボタンスタイリング*/
.table-res-form input[type="submit"] {
    border: 1px transparent solid;
    padding: 20px 0;
    width: 100%;
    background: #32c0aa;
    color: #fff;
    box-shadow: 0 0 1px 0 rgba(50, 192, 170, 0.5);
    /*font-weight: bold;*/
    transition: .3s;
}

.wpcf7-list-item-label {
    margin-left: 5px;
}

.table-res-form td.acceptance-td {
    padding: 30px 0;
    padding-top: 12px;
    line-height: 1.5;
}

@media (max-width: 767px) {
    .table-res-form td.acceptance-td {
        padding: 20px 0;
        text-align: center;
    }
}

/*送信ボタン・マウスオーバー時スタイリング*/
.table-res-form input[type="submit"]:hover {
    background-color: #428f9d;
    box-shadow: none;
}

input::placeholder, textarea::placeholder {
    color: rgba(51, 51, 51, 0.5);
}

/* IE */
input:-ms-input-placeholder, textarea:-ms-placeholder {
    color: rgba(51, 51, 51, 0.5);
}

/* Edge */
input::-ms-input-placeholder, textarea::-ms-placeholder {
    color: rgba(51, 51, 51, 0.5);
}

.table-res-form textarea {
    height: 100px;
    line-height: 1.5;
    padding-top: 7px;
    padding-right: 10px;
    padding-bottom: 7px;
}

.table-res-form label {
    font-size: 16px;
    margin: 0;
}

@media screen and (max-width: 767px) {
    .table-res-form label {
        font-size: 13px;
    }
}

section.page-content-box.form-box {
    padding: 30px 0;
    padding-bottom: 50px;
}

.wpcf7 .wpcf7-confirm:disabled {
    cursor: not-allowed;
}

.wpcf7 .wpcf7-confirm:disabled:hover {
    cursor: not-allowed;
}

.wpcf7 .wpcf7-submit:disabled {
    cursor: not-allowed;
}

.table-res-form input[type="reset"] {
    display: inline-block !important;
    width: 30%;
    background: #1c3b22;
    color: #fff;
    border: 1px transparent solid;
    padding: 20px 0;
    outline: none;
    font-size: 14px;
    cursor: pointer;
    border-radius: 5px;
    transition: .3s;
}

.table-res-form input[type="reset"]:hover {
    opacity: 0.8;
}

.table-res-form input[type="submit"] {
    border: 1px transparent solid;
    padding: 20px;
    width: 100%;
    background: #58c5d9;
    color: #fff;
    box-shadow: 0 0 1px 0 rgb(50 192 170 / 50%);
    transition: .3s;
    font-size: 14px;
    border-radius: 5px;
}

.table-res-form input[type="submit"] {
    outline: none;
    width: 67%;
    margin-left: 3%;
    cursor: pointer;
}

.table-res-form input[type="button"] {
    display: inline-block !important;
    width: 30%;
    background: #1c3b22;
    color: #fff;
    border: 1px transparent solid;
    padding: 20px 0;
    outline: none;
    font-size: 14px;
    cursor: pointer;
    border-radius: 5px;
}

.wpcf7 .ajax-loader {
    display: none !important;
}

span.wpcf7-not-valid-tip {
    color: #ff8281 !important;
    font-weight: normal;
    display: block;
    font-size: 12px !important;
    padding: 1em;
    padding-bottom: 0;
}

.table-res-form input[type="text"], .table-res-form input[type="email"], .table-res-form input[type="tel"] {
    width: 100%;
}

.wpcf7-list-item {
    margin-left: 0 !important;
}

.acceptance-td input[type="checkbox"] {
    position: relative;
    top: 1.5px;
}

.acceptance-td .wpcf7-list-item-label a {
    text-decoration: underline;
    margin-right: 3px;
}

.table-res-form select {
    text-transform: none;
    border: 1px #58c5d9 solid;
    padding: 10px;
    line-height: 1.5;
    border-radius: 0;
    height: auto;
    font-size: 15px;
}

input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"] {
    text-transform: none;
    border: 1px #58c5d9 solid;
    padding: 7px;
    line-height: 1.5;
    border-radius: 0;
    height: 36px;
}

.mw_wp_form .error {
    font-size: 12px;
    color: #B70000;
    display: block;
    margin-top: 5px;
    padding-left: 10px;
}

.mw_wp_form input[type="file"] {
    padding: 7px;
    padding-left: 0;
    line-height: 1.5;
    font-size: 16px;
}

.table-res-form input.mw-button-back[name="submitBack"] {
    display: inline-block !important;
    width: 30%;
    background: #1c3b22;
    color: #fff;
    border: 1px transparent solid;
    padding: 20px 0;
    outline: none;
    font-size: 14px;
    cursor: pointer;
    border-radius: 5px;
    margin-left: 0;
}

.table-res-form input[name="submitConfirm"] {
    border: 1px transparent solid;
    padding: 20px;
    width: 100%;
    background: #58c5d9;
    color: #fff;
    transition: .3s;
    font-size: 14px;
    border-radius: 5px;
    margin-left: 0;
}

.table-res-form .comment {
    font-size: 14px;
}

.table-res-form .privacy {
    margin-left: 20px;
    display: inline-block;
}

.table-res-form .privacy a {
    text-decoration: underline;
}

.table-res-form .secret {
    width: 100%;
    margin: 0;
    text-align: center;
    font-size: 12px;
    margin-top: 30px;
}

@media screen and (max-width: 767px) {
    .table-res-form .secret {
        text-align: left;
    }
}

.mw_wp_form_preview .table-res-form .comment, .mw_wp_form_preview .table-res-form .comment-br {
    display: none;
}

.mw_wp_form_preview .table-res-form tr.textarea-wrap th {
    padding-top: 0;
}

.contact .phone-padding {
    padding-right: 15px;
    padding-left: 15px;
}

.mw_wp_form_complete p {
    font-size: 14px;
    line-height: 2;
    color: #444;
    margin-bottom: 0;
    padding: 0;
    text-align: justify;
}

.contact .entry-complete {
    text-align: center;
    font-weight: bold;
    font-size: 30px;
    margin-bottom: 15px;
    line-height: 1.4;
    color: #444;
}

.contact .top-button {
    font-size: 15px;
    line-height: 2;
    margin-bottom: 0;
    padding: 0;
    text-align: center;
    text-decoration: underline;
}

/*-------------------------------------*/
.page-content-box.privacy {
    padding: 0;
    padding-bottom: 50px;
}

.privacy-list-box {
    text-align: left;
    margin-bottom: 50px;
}

.privacy-list-box:last-of-type {
    margin-bottom: 0;
}

.privacy-list-box .title {
    font-size: 22px;
    font-weight: bold;
}

@media (max-width: 767px) {
    .privacy-list-box .title {
        font-size: 18px;
    }
}

@media (max-width: 413px) {
    .privacy-list-box .title {
        font-size: 16px;
    }
}

.page-content-box .privacy-list-box .description {
    margin-top: 20px;
    margin-bottom: 20px;
}

@media (max-width: 767px) {
    .page-content-box .privacy-list-box .description {
        font-size: 14px;
    }
}

.privacy-list-box li {
    line-height: 2.4;
}

@media (max-width: 767px) {
    .privacy-list-box li {
        font-size: 14px;
    }
}

.privacy-list-box li:before {
    content: '\025cf';
    margin-right: 7px;
}

/*-----------------progress-bar-----------------*/
.progressbar {
    position: relative;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 30px;
}

.progressbar li {
    position: relative;
    list-style-type: none;
    text-align: center;
    text-transform: uppercase;
    width: 33.333%;
    color: #999999;
    font-weight: bold;
    counter-increment: steps;
    font-size: 14px;
}

.progressbar li:before {
    display: block;
    width: 36px;
    height: 36px;
    margin: 3px auto 5px auto;
    content: '';
    line-height: 36px;
    font-size: 12px;
    text-align: center;
    border-radius: 50%;
    background-color: #F5F5F5;
    content: counter(steps);
    font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
}

.progressbar li:after {
    position: absolute;
    z-index: -1;
    top: 20px;
    left: -50%;
    width: 100%;
    height: 2px;
    content: '';
    background-color: #F5F5F5;
}

.progressbar li:first-child:after {
    content: none;
}

.progressbar li.active,
.progressbar li.complete {
    color: #2C2C2C;
}

.progressbar li.active:before,
.progressbar li.complete:before {
    background-color: #2C2C2C;
    color: #FFF;
}

.progressbar li.active:after,
.progressbar li.complete:after {
    background-color: #2C2C2C;
}

.f-li-mt-15 {
    margin-top: 15px;
}

.mw_wp_form .table-res-form th.hissu label:after {
    content: '※';
    color: #B70000;
}

.mw_wp_form .error {
    display: inline !important;
}

/*--------------20211013_WEB会社説明会バナー--------------*/
section#recruitment table.col-table.top-table tr.midashi td.left-cell a {
    /*display: inline-block !important;*/
}

.websetsu-tokyo img {
    border: none !important;
}

@media screen and (min-width: 992px) {
    .websetsu-tokyo {
        margin-left: 10px;
    }

    .section-box table.col-table tr.midashi td.left-cell img {
        height: 100px !important;
    }
}

@media screen and (min-width: 768px) {
    .websetsu-tokyo {
        margin-left: 10px;
    }

    .section-box table.col-table tr.midashi td.left-cell img {
        height: 80px !important;
    }
}

.midway .tab_item, .midway .tab_item-tokyo {
    background-color: #ebebeb;
    color: #b0b0b0;
    border: none !important;
}

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

    .tab_area li {
        display: inline-block;
        margin-bottom: 5px;
        border: none !important;
        width: 32.3% !important;
    }

    section#recruitment table.col-table.top-table tr.midashi td.left-cell.cell-wrap {
        padding: 15px 0;
        padding-bottom: 0;
    }

    .midway .tab_item, .midway .tab_item-tokyo {
        font-size: 11px !important;
    }
}

.cm-box {
    display: flex;
    width: 50%;
    position: relative;
    margin-top: 15px;
    align-items: stretch;
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
    .cm-box {
        width: 60%;
    }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .cm-box {
        width: 70%;
    }
}

@media screen and (max-width: 991px) {
    .cm-box {
        display: none;
    }
}

.cm-box .container {
    padding: 0;
}

.cm-box a {
    display: flex;
    width: 50%;
    position: relative;
    overflow: hidden;
    align-items: center;
    justify-content: center;
}

.cm-box .cm-text {
    width: 50%;
    display: flex;
    align-items: center;
    background-color: rgb(0 43 79 / 70%);
    justify-content: center;
    position: relative;
}

#owl-example .item-box .cm-box .cm-text p {
    color: #FFF;
    margin: 0;
}

#owl-example .item-box .cm-box .cm-text p.cm-title {
    font-size: 22px;
    font-weight: 600;
}

#owl-example .item-box .cm-box .cm-text p.cm-sec {
    font-size: 15px;
    position: absolute;
    padding: 10px;
    top: 0;
    right: 0;
}

@media screen and (min-width: 1501px) {
    #owl-example .item-box .cm-box .cm-text p.cm-title {
        font-size: 28px;
    }
}

@media screen and (min-width: 1200px) and (max-width: 1500px) {
    #owl-example .item-box .cm-box .cm-text p.cm-title {
        font-size: 22px;
    }
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
    #owl-example .item-box .cm-box .cm-text p.cm-title {
        font-size: 20px;
    }
}

#owl-example .item-box .cm-box a img {
    width: 100%;
}

#owl-example .item-box .cm-box a img.saisei-button {
    position: absolute;
    width: 80px;
    transition: .3s;
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    #owl-example .item-box .cm-box a img.saisei-button {
        width: 60px;
    }
}

#owl-example .item-box .cm-box a:hover img.saisei-button {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
}

.cm-sp {
    margin-top: 20px;
}

@media screen and (min-width: 992px) {
    .cm-sp {
        display: none;
    }
}

.cm-sp .cm-box {
    display: flex !important;
    width: 100%;
    position: relative;
    margin-top: 0;
    align-items: stretch;
    flex-flow: column;
}

.cm-sp .cm-box a {
    display: flex !important;
    width: 100%;
    position: relative;
    overflow: hidden;
    align-items: center;
    justify-content: center;
}

.cm-sp .cm-box a img.saisei-button {
    position: absolute;
    width: 80px;
    transition: .3s;
}

.cm-sp .cm-box .cm-text {
    width: 100%;
    display: flex;
    align-items: center;
    background-color: #fff;
    justify-content: center;
    padding: 15px;
}

.cm-sp .cm-box .cm-text p {
    font-size: 14px;
    margin: 0;
    text-align: center;
}

.cm-sp .cm-box .cm-text p span {
    font-weight: 600;
    font-size: 26px;
    margin: 0;
}

.modal-video {
    background-color: rgba(0, 43, 79, 0.5) !important;
}

/*------------20220624_追加------------*/
@media screen and (min-width: 992px) and (min-width: 1199px) {
    .top-graphic .kinmuchi {
        width: 50%;
        margin-right: 0;
    }
}

@media screen and (min-width: 768px) {
    .top-graphic .soshainsu {
        width: 50%;
    }

    .top-graphic .danjohi {
        width: 50%;
    }

    .top-graphic .gakureki {
        width: 50%;
    }

    .top-graphic .kinmuchi {
        width: 50%;
        margin-right: 0;
    }

    .top-graphic .nenreibetsu {
        width: 50%;
    }

    .top-graphic .nenkankyujitsusu {
        width: 50%;
    }
}

@media screen and (min-width: 992px) {
    .top-graphic .graphic-padd {
        padding: 15px;
    }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .top-graphic .graphic-padd {
        padding: 10px;
    }
}

section.top-services .left.img-liquid {
    background-position: center 30% !important;
}

section.top-services .right.img-liquid {
    background-position: center 30% !important;
}

/*--------------------------------------*/
.blog-body {
    /*background-color:hsla(193,94%,51%,1);
background-image:
radial-gradient(at 40% 20%, hsla(208,70%,78%,1) 0px, transparent 50%),
radial-gradient(at 80% 0%, hsla(189,100%,56%,1) 0px, transparent 50%),
radial-gradient(at 0% 50%, hsla(355,100%,93%,1) 0px, transparent 50%),
radial-gradient(at 80% 50%, hsla(340,100%,76%,1) 0px, transparent 50%),
radial-gradient(at 0% 100%, hsla(195,100%,77%,1) 0px, transparent 50%),
radial-gradient(at 80% 100%, hsla(242,100%,70%,1) 0px, transparent 50%),
radial-gradient(at 0% 0%, hsla(166,52%,45%,1) 0px, transparent 50%);*/
}

.blog-body .page-title-box {
    background: transparent;
}

.blog-body header {
    background-color: #FFF;
}

.blog-body .page-hero-wrap .en-title {
    /*color: #FFF;*/
}

.blog-body .page-title-box-inner .title {
    /*color: #FFF;*/
}

.blog-body .page-title-box:after {
    display: none;
}

.blog-body .page-hero-box {
    display: none;
}

/*.blog-article header {
	background-color: transparent;
}
.blog-article header:hover {
	background-color: #fff;
}
.blog-article header.visible {
	background-color: #fff;
}
.blog-article header .main-logo a img.hidden-img {
    display: block;
}
.blog-article header.hidden .main-logo a img.visible-img {
    display: none;
}
.blog-article header.hidden:hover .main-logo a img.visible-img {
    display: block;
}
.blog-article header.visible .main-logo a img.visible-img {
    display: block;
}
.blog-article header:hover .main-logo a img.hidden-img {
    display: none;
}
.blog-article header.visible .main-logo a img.hidden-img {
    display: none;
}
.blog-article header.visible:hover .main-logo a img.visible-img {
    display: block;
}
.blog-article header ul.main-menu li a {
    color: #fff;
}
.blog-article header:hover ul.main-menu li a {
    color: #000;
}
.blog-article header.visible ul.main-menu li a {
    color: #000;
}
.blog-article header ul.main-menu li p {
	color: #fff;
}
.blog-article header:hover ul.main-menu li p {
	color: #000;
}
.blog-article header.visible ul.main-menu li p {
	color: #000;
}*/
.blog-body .page-hero-wrap {
    height: 220px;
}

.blog-body .blog-main-col {
    padding-left: 15px;
    margin-bottom: 0;
}

@media screen and (max-width: 767px) {
    .blog-body .blog-main-col {
        padding-left: 15px;
        padding-right: 15px;
        margin-bottom: 30px;
    }
}

.blog-body .phone-padding .blog-ul {
    background-color: #fff;
    /*padding-left: 30px;
    padding-right: 30px;
	padding-top: 30px;*/
    border-radius: 5px;
    /*padding-bottom: 100px;*/
}

.blog-ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.blog-ul li {
    position: relative;
}

@media screen and (min-width: 1200px) {
    .blog-ul li {
        width: calc((100% - 40px) / 3 - 0.1px);
        padding: 0 10px;
        margin-bottom: 20px;
        box-sizing: content-box;
    }

    .blog-ul li:nth-child(3n + 1) {
        padding-left: 0;
    }

    .blog-ul li:nth-child(3n) {
        padding-right: 0;
    }
}

@media screen and (min-width: 768px) and (max-width: 1199px) {
    .blog-ul li {
        width: calc((100% - 20px) / 2 - 0.1px);
        padding: 0 10px;
        margin-bottom: 20px;
        box-sizing: content-box;
    }

    .blog-ul li:nth-child(2n + 1) {
        padding-left: 0;
    }

    .blog-ul li:nth-child(2n) {
        padding-right: 0;
    }
}

@media screen and (max-width: 767px) {
    .blog-ul li {
        width: calc((100% - 15px) / 2 - 0.1px);
        padding: 0 7.5px;
        margin-bottom: 30px;
        box-sizing: content-box;
    }

    .blog-ul li:nth-child(2n + 1) {
        padding-left: 0;
    }

    .blog-ul li:nth-child(2n) {
        padding-right: 0;
    }
}

.blog-ul li a {
    display: block;
}

.blog-ul li .post-list-img-wrap {
    overflow: hidden;
    margin-bottom: 10px;
}

.blog-ul li figure.img-liquid {
    /*height: 190px;*/
    margin-bottom: 0;
    transition: .3s;
    border-radius: 3px;
    overflow: hidden;
    padding-bottom: 66.67%;
}

@media screen and (max-width: 1199px) {
    .blog-ul li figure.img-liquid {
        height: auto;
        border-radius: 3px;
    }
}

@media screen and (max-width: 767px) {
    .blog-ul li figure.img-liquid {
        height: auto;
        border-radius: 3px;
    }
}

.blog-ul li figure.img-liquid:hover {
    /*transform: scale(1.1);*/
}

.blog-body .poster-img img {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    object-fit: cover;
}

.blog-body .post-list-title {
    display: block;
    font-size: 18px;
    color: #000;
    font-weight: 600;
    line-height: 1.4;
    margin-top: 5px;
    margin-bottom: 0;
    text-align: justify;
    word-break: break-all;
    text-justify: inter-ideograph;
    text-justify: inter-character;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

@media screen and (max-width: 767px) {
    .blog-body .post-list-title {
        font-size: 14px;
        margin-top: 0;
    }
}

.blog-body .post-list-category {
    font-size: 12px;
    color: #7e7e7e;
    margin-top: 10px;
}

@media screen and (max-width: 767px) {
    .blog-body .post-list-category {
        margin-top: 5px;
        margin-bottom: 5px;
        font-size: 10px;
        line-height: 1.5;
        padding: 1px 4px;
        padding-top: 2px;
        display: inline-block;
        background-color: #8d8d8d;
        color: #fff;
        border-radius: 2px;
    }
}

.blog-body .post-list-date {
    font-size: 12px;
}

.blog-body .post-list-date::before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    background-image: url(../images/blog/watch.svg);
    background-size: contain;
    vertical-align: middle;
    margin-top: -1px;
    margin-right: 3px;
}

.blog-body .poster-col {
    width: auto;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-top: 5px;
}

.blog-body .poster-text {
    margin-left: 10px;
}

.blog-body .post-list-poster {
    font-size: 13px;
    font-weight: 600;
}

@media screen and (max-width: 767px) {
    .blog-body .post-list-poster {
        font-size: 15px;
        font-weight: 600;
    }
}

.blog-body .blog-main-col footer .post-list-poster {
    margin-bottom: 5px;
}

.blog-body .post-list-tag {
    margin-top: 5px;
    padding-bottom: 0;
}

@media screen and (max-width: 767px) {
    .blog-article .post-list-tag {
        display: none;
    }
}

.blog-body .post-list-tag p {
    display: inline-block;
    background-color: #DAEBF8;
    color: #1678CC;
    font-size: 10px;
    padding: 3px 10px;
    border-radius: 50px;
    margin-right: 5px;
}

.blog-body .post-list-tag p:last-of-type {
    margin-right: 0;
}

.blog-body .post-list-company {
    text-align: right;
    margin-top: 5px;
    transform: skewX(-5deg);
    font-family: 'Lato', sans-serif;
    font-size: 20px;
    line-height: 1;
    font-weight: bold;
    position: relative;
    bottom: 0;
    left: 0;
}

.blog-single .post-list-company {
    text-align: right;
    margin-top: 0;
    transform: skewX(-5deg);
    font-family: 'Lato', sans-serif;
    font-size: 30px;
    line-height: 1;
    font-weight: bold;
    position: relative;
    bottom: auto;
    right: auto;
    left: auto;
    padding-left: 10px;
}

.blog-ul li:nth-child(3n + 1) .post-list-company {
    left: 0;
}

@media screen and (max-width: 767px) {
    .blog-body .post-list-company {
        font-size: 16px;
        text-align: left;
    }
}

.post-list-company.kagawa {
    color: #589DD9;
}

.post-list-company.tokyo {
    color: #4ABE88;
}

.post-list-company.osaka {
    color: #FE6C39;
}

#blog.section-box {
    position: relative;
    z-index: 1;
}

/*#blog.section-box::after {
	content: '';
    background: linear-gradient(to bottom,transparent, #FFF 60%, #FFF 75%, #FFF 100%);
    display: block;
    height: 300px;
    width: 100%;
    position: absolute;
    bottom: 0;
    z-index: -1;
}*/
.company-select-button {
    margin-top: 30px;
}

.company-select-button ul {
    display: flex;
    align-items: center;
}

.company-select-button li {
    width: calc((100% - 40px) / 3 - 0.1px);
    padding: 0 10px;
    box-sizing: content-box;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .company-select-button li {
        width: calc((100% - 20px) / 3 - 0.1px);
        padding: 0 5px;
    }
}

.company-select-button li:first-of-type {
    padding-left: 0;
}

.company-select-button li:last-of-type {
    padding-right: 0;
}

.company-select-button a {
    color: #FFF;
    padding: 10px 15px;
    /*border: 1px solid #000;*/
    border-radius: 3px;
    display: block;
    font-size: 14px;
    /*font-weight: 600;*/
    transition: .3s;
}

@media screen and (max-width: 767px) {
    .company-select-button a {
        padding: 5px 5px;
    }

    .company-select-button a span {
        display: none;
    }
}

.company-select-button .kagawa a {
    color: #589dd9;
    border: 1px solid #589dd9;
}

.company-select-button .tokyo a {
    color: #4bbe88;
    border: 1px solid #4bbe88;
}

.company-select-button .osaka a {
    color: #fe6c39;
    border: 1px solid #fe6c39;
}

.company-select-button .kagawa a:hover {
    background-color: #589dd9;
    color: #FFF;
    border: 1px solid #589dd9;
}

.company-select-button .tokyo a:hover {
    background-color: #4bbe88;
    color: #FFF;
    border: 1px solid #4bbe88;
}

.company-select-button .osaka a:hover {
    background-color: #fe6c39;
    color: #FFF;
    border: 1px solid #fe6c39;
}

#blog .blog-aside-col .menu {
    margin-bottom: 15px;
    font-size: 14px;
    line-height: 1.8;
    padding: 15px;
}

@media screen and (max-width: 767px) {
    #blog .blog-aside-col .menu {
        font-size: 16px;
    }

    #blog .blog-aside-col .menu.banner {
        margin-bottom: 0;
    }
}

#blog .blog-aside-col .menu.banner img {
    border-radius: 3px;
}

@media screen and (max-width: 767px) {
    #blog .blog-aside-col .menu.banner img {
        border-radius: 5px;
    }
}

#blog .blog-aside-col .menu a {
    color: #000;
    transition: .3s;
    line-height: 1.4;
    display: block;
}

#blog .blog-aside-col .menu a:hover {
    color: #58c5d9;
}

#blog .blog-aside-col .menu.tag a:hover {
    background-color: #f5fbff;
}

#blog .blog-aside-col .title {
    font-size: 22px;
    margin-bottom: 30px;
    font-family: 'Lato', sans-serif;
    font-weight: 500;
    vertical-align: middle;
    display: block;
    text-align: left;
    line-height: 1;
    position: relative;
    color: #fff;
}

#blog .blog-aside-col .title:after {
    content: "";
    width: 100%;
    position: absolute;
    bottom: -10px;
    left: 0;
    border-bottom: 1px solid #fff;
}

.blog-article #blog, .blog-single #blog {
    /*margin-top: 80px;*/
    padding-top: 50px;
    padding-bottom: 50px;
}

@media screen and (max-width: 767px) {
    .blog-article #blog, .blog-single #blog {
        padding-bottom: 15px;
    }
}

.blog-body .breadcrumb-sec {
    padding-top: 15px;
    padding-bottom: 0;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: 80px;
}

.blog-body .breadcrumbs {
    display: flex;
}

.blog-single #blog h2 {
    display: block;
    font-weight: 600;
    font-size: 34px;
    margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
    .blog-single #blog h2 {
        font-size: 22px;
        padding-top: 0;
        margin-bottom: 15px;
    }
}

.blog-single #blog .post-header {
    position: relative;
    background-color: transparent;
    margin-bottom: 30px;
    /*padding: 15px;*/
    border-bottom: 2px solid #000;
    padding-bottom: 15px;
    border-radius: 0;
}

@media screen and (max-width: 767px) {
    .blog-single #blog .post-header {
        /*padding: 10px;*/
        border-bottom: 1px solid #aaa;
    }
}

.blog-single #blog .post-header:hover {
    background-color: transparent;
}

/*.blog-single #blog .post-header.kagawa {
    border: 1px solid #589DD9;
}
.blog-single #blog .post-header.tokyo {
    border: 1px solid #4ABE88;
}
.blog-single #blog .post-header.osaka {
    border: 1px solid #fe6c39;
}*/
.blog-body.blog-single {
    background-color: #fff;
    background-image: none;
}

.blog-single .post-content figure {
    margin-bottom: 20px;
}

.blog-single .post-content p {
    line-height: 2;
    margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
    .blog-single .post-content p {
        font-size: 16px;
        line-height: 1.8;
    }
}

.blog-single .post-header .tag-col {
    /*margin-top: 10px;*/
}

.blog-single .post-header .tag-col a {
    display: inline-block;
    background-color: #f1f1f1;
    color: #212529;
    font-size: 12px;
    padding: 5px;
    border-radius: 3px;
    margin-right: 5px;
    width: auto;
    margin-top: 5px;
    line-height: 1;
}

.blog-single .post-header .tag-col a:last-of-type {
    margin-right: 0;
}

.blog-single .post-header .poster-col {
    margin-top: 0;
}

.blog-single .post-header .post-list-date {
    font-size: 13px;
    font-weight: 600;
    margin-left: 15px;
}

.blog-single .post-header .post-list-date::before {
    content: '';
    display: inline-block;
    width: 13px;
    height: 13px;
    background-image: url(../images/blog/watch.svg);
    background-size: contain;
    vertical-align: middle;
    margin-top: -1px;
    margin-right: 3px;
}

.attached-col-inner {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

#blog .blog-aside-col .title {
    font-size: 22px;
    margin-bottom: 20px;
    font-family: 'Lato', sans-serif;
    font-weight: 500;
    vertical-align: middle;
    display: block;
    text-align: left;
    line-height: 1;
    position: relative;
    color: #1578cc;
}

#blog .blog-aside-col .title {}

#blog .blog-aside-col .title:after {
    content: "";
    width: 100%;
    position: absolute;
    bottom: -10px;
    left: 0;
    border-bottom: 1px solid #1678CC;
}

#blog .blog-aside-col .genre .title {
    margin-bottom: 15px;
}

#blog .blog-aside-col .side-link a {
    display: block;
    margin-bottom: 15px;
}

#blog .blog-aside-col .side-link a:last-of-type {
    margin-bottom: 0;
}

#blog footer {
    background-color: #f1f1f1;
    border-radius: 3px;
    padding: 0;
    margin-top: 50px;
}

#blog footer .poster-wrap {
    padding: 30px;
}

@media screen and (max-width: 767px) {
    #blog footer .poster-wrap {
        padding: 15px;
    }
}

#blog footer .poster-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

@media screen and (max-width: 767px) {
    #blog footer .poster-head {
        display: block;
    }
}

#blog footer .left-side {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

@media screen and (max-width: 767px) {
    #blog footer .poster-head .right-side {
        margin-top: 20px;
    }
}

.blog-article #blog .poster-text .post-list-poster {
    font-size: 12px;
    margin-bottom: 0;
    line-height: 1;
}

#blog .poster-text .post-list-shop {
    font-size: 12px;
    margin-bottom: 0;
    line-height: 1;
    color: #484848;
}

#blog footer .poster-link-button {
    border-bottom: 1px solid #efefef;
    padding-bottom: 0;
}

#blog footer .poster-link-button a {
    font-size: 12px;
    line-height: 1;
    background-color: #589dd9;
    color: #fff;
    padding: 18px 25px;
    display: inline-block;
    width: auto;
    min-width: 280px;
    text-align: center;
    border-radius: 3px;
    transition: .3s;
}

@media screen and (max-width: 767px) {
    #blog footer .poster-link-button a {
        min-width: 100%;
        font-weight: 600;
        font-size: 14px;
    }
}

#blog footer.tokyo .poster-link-button a {
    background-color: #4abe88;
}

#blog footer.osaka .poster-link-button a {
    background-color: #FE6C39;
}

#blog footer .poster-link-button a:hover {
    background-color: #457dae;
}

#blog footer.tokyo .poster-link-button a:hover {
    background-color: #399168;
}

#blog footer.osaka .poster-link-button a:hover {
    background-color: #d25a30;
}

#blog footer .poster-img img {
    width: 50px;
    height: 50px;
    border-radius: 3px;
}

#blog footer .poster-wrap .content {
    margin-top: 15px;
}

#blog footer .poster-wrap .content p {
    font-size: 14px;
    font-weight: 600;
}

@media screen and (max-width: 767px) {
    #blog footer .poster-wrap .content p {
        font-size: 13px;
        font-weight: 600;
    }
}

#blog .post-header .poster-text .post-list-poster, #blog .post-header .post-list-date {
    font-size: 12px;
    line-height: 1;
    margin-bottom: 0;
}

#blog .post-list-tag li {
    display: inline-block;
    background-color: #DAEBF8;
    color: #1678CC;
    font-size: 12px;
    padding: 5px;
    border-radius: 3px;
    margin-right: 5px;
    width: auto;
    margin-bottom: 5px;
    line-height: 1;
}

.blog-article #blog .page-title-box-inner {
    position: relative;
    top: 0;
}

.blog-article #blog .page-title-box-inner .en-title {
    font-family: 'Lato', sans-serif;
    font-size: 80px;
    line-height: 1;
    color: #000;
}

.blog-article #blog .page-title-box-inner .title {
    color: #000;
    font-size: 20px;
    margin-top: 30px;
}

.blog-article .blog-main-col .blog-ul {
    padding: 20px 0;
}

@media screen and (max-width: 767px) {
    .blog-article .blog-main-col .blog-ul {
        padding: 20px 0;
    }
}

.blog-single .post-header .post-list-shop {
    font-size: 14px;
    background-color: #000;
    display: inline-block;
    color: #fff;
    padding: 5px 5px;
    line-height: 1;
    margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
    .blog-single .post-header .post-list-shop {
        font-size: 10px;
        padding: 4px 4px;
        margin-bottom: 5px;
    }
}

.blog-single .post-header .post-title {
    display: block;
    font-weight: 600;
    font-size: 40px;

    text-align: justify;
    word-break: break-all;
    text-justify: inter-ideograph;
    text-justify: inter-character;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

@media screen and (max-width: 767px) {
    .blog-single .post-header .post-title {
        font-size: 22px;
    }
}

.blog-single #blog .blog-main-col h3 {
    display: block;
    font-weight: bold;
    border-bottom: 3px solid #4c9ac0;
    padding-bottom: 10px;
    padding-left: 5px;
    margin-top: 30px;
    margin-bottom: 25px;
    position: relative;
    font-size: 24px;
}

@media screen and (max-width: 767px) {
    .blog-single #blog .blog-main-col h3 {
        margin-top: 15px;
        font-size: 18px;
    }
}

.blog-single #blog .blog-main-col h3::before {
    content: '';
    background-color: #fff;
    width: 20px;
    height: 3px;
    position: absolute;
    left: 30px;
    bottom: -3px;
}

.blog-single #blog .blog-main-col h3::after {
    content: '';
    background-color: #4c9ac0;
    width: 20px;
    height: 3px;
    transform: rotate(50deg);
    position: absolute;
    left: 25px;
    bottom: -10px;
}

.blog-body .post-list-tag a {
    display: inline-block;
    background-color: #f1f1f1;
    color: #212529;
    font-size: 10px;
    padding: 5px;
    margin-right: 5px;
    border-radius: 3px;
    width: auto;
    margin-bottom: 5px;
    line-height: 1;
    transition: .3s;
}

.blog-body .post-list-tag a:hover {
    background-color: #f5fbff;
    color: #58c5d9;
}

#blog .blog-aside-col .tag a {
    display: inline-block;
    background-color: #f1f1f1;
    color: #212529;
    font-size: 12px;
    padding: 5px;
    border-radius: 3px;
    margin-right: 5px;
    width: auto;
    margin-bottom: 5px;
    line-height: 1;
}

#blog .blog-aside-col .tag a:last-of-type {
    margin-right: 0;
}

.blog-aside-col [include*="form-input-select()"] {
    color: #333;
    margin-bottom: 0;
}

#blog .blog-aside-col .genre ul {
    padding: 0 5px;
}

#blog .blog-aside-col .genre li {
    border-bottom: 1px solid #1578cc40;
    padding: 5px;
}

#blog .blog-aside-col .genre li:first-of-type {
    padding-top: 0;
}

.blog-body .page-title {
    display: none;
}

.zengo-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 50px;
}

.zengo-wrap a {
    color: #646464;
    font-weight: 600;
    padding: 20px 10px;
    overflow: hidden;
    text-align: center;
    font-size: 16px;
    display: flex;
    align-items: center;
}

@media screen and (max-width: 767px) {
    .zengo-wrap {
        margin-top: 20px;
    }

    .zengo-wrap a {
        padding: 10px;
        font-size: 15px;
    }
}

.zengo-wrap .pre-pagenavi a {
    justify-content: left;
    transition: .3s;
}

.zengo-wrap .pre-pagenavi a:hover {
    color: #2a4fe7;
    opacity: 0.6;
}

.zengo-wrap .pre-pagenavi a:before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 16px;
    background-image: url(../images/blog/pre-arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-right: 15px;
}

.zengo-wrap .next-pagenavi a {
    justify-content: right;
    transition: .3s;
}

.zengo-wrap .next-pagenavi a:hover {
    color: #094;
    opacity: 0.6;
}

.zengo-wrap .next-pagenavi a:after {
    content: '';
    display: inline-block;
    width: 10px;
    height: 16px;
    background-image: url(../images/blog/next-arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-left: 15px;
}

.wp-pagenavi {
    margin: 20px 0;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wp-pagenavi .page {
    margin: 0 5px;
}

.wp-pagenavi .pages {
    margin-right: 20px;
    border: none;
}

.wp-pagenavi a {
    color: #4a4a4a;
    transition: .3s;
}

.wp-pagenavi .current, .wp-pagenavi a.page {
    border: solid 1px #eee;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wp-pagenavi .current {
    border: none;
    background: #000;
    color: #fff;
}

.wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink {
    display: none;
}

.wp-pagenavi a.page:hover {
    background: #58c5d9;
    color: #fff;
    border-color: #58c5d9;
}

.blog-ul li .post-list-img {
    position: relative;
}

.blog-ul .post-list-layer {
    position: absolute;
    top: 0;
    right: 0;
    overflow: hidden;
    width: 100%;
    height: 100%;
}

.blog-ul .post-list-layer .new {
    /*display: none;
  display: inline-block;
  position: absolute;
  padding: 5px 0;
  left: -105px;
  top: 13px;
  width: 100%;
  text-align: center;
  font-size: 12px;
  line-height: 8px;
  background: #58c5d9;
  color: #fff;
  letter-spacing: 0.05em;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  box-shadow: 0 0 0 2px rgb(57, 195, 212);*/
}

.breadcrumb-inner {
    color: #aaa;
    display: flex;
    align-items: center;
}

.breadcrumbs>span {
    font-size: 12px;
    padding: 0 5px;
    line-height: 1;
}

.breadcrumbs>span:first-of-type {
    padding-left: 0;
}

.breadcrumbs>span:last-of-type {
    color: #646464;
    padding-right: 0;
}

.breadcrumbs>span.kugiri {
    padding: 0;
}

.breadcrumbs a {
    transition: .3s;
    color: #000;
}

.breadcrumbs a:hover {
    text-decoration: underline;
    color: #58c5d9;
}

.header-inner {
    /*border-bottom: 1px solid #efefef;*/
}

.blog-li a.opacity-link {
    /*transition: .3s;*/
}

.blog-li:hover a.opacity-link {
    /*opacity: 0.7;*/
}

.blog-ul .post-list-layer .new {
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0;
    box-sizing: border-box;
    padding: 0 8px;
    margin: 0;
    height: 24px;
    line-height: 24px;
    font-size: 14px;
    letter-spacing: 0.1em;
    color: white;
    background: #70c7ff;
    /*box-shadow: 0 2px 2px rgba(0, 0, 0, 0.12);*/
    border-bottom-right-radius: 5px;
}

@media screen and (max-width: 767px) {
    .blog-ul .post-list-layer .new {
        padding: 0 4px;
        height: 20px;
        line-height: 20px;
        font-size: 10px;
    }
}

.blog-ul .post-list-layer .new:before {
    position: absolute;
    content: '';
    top: 0;
    left: -7px;
    border: none;
    height: 38px;
    width: 7px;
    background: #70c7ff;
    border-radius: 5px 0 0 5px;
}

.blog-ul .post-list-layer .new:after {
    position: absolute;
    content: '';
    bottom: -7px;
    left: -5px;
    border: none;
    height: 7px;
    width: 5px;
    background: #4d99ca;
    border-radius: 5px 0 0 5px;
}

#ez-toc-container {
    margin-top: 30px !important;
    padding: 30px !important;
}

@media screen and (max-width: 767px) {
    #ez-toc-container {
        margin-top: 15px !important;
        padding: 15px !important;
    }
}

.ez-toc-title {
    font-weight: 600 !important;
    padding-bottom: 10px !important;
    margin-bottom: 15px !important;
    display: block !important;
    border-bottom: 1px solid #ccc !important;
}

.menu.side-search {
    background-color: #f1f1f1;
    padding: 15px;
    border-radius: 3px;
}

.menu.side-search input {
    width: 100%;
}

.feas-submit-button {
    margin-top: 5px;
    background-color: #000;
    color: #fff;
    border-style: none;
}

.side-search #feas-searchform-0 {
    text-align: center;
}

.side-search #feas-searchform-0 #feas_0_0 {
    padding-left: 5px;
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 5px;
    border-radius: 3px;
    border: none;
}

@media screen and (max-width: 767px) {
    .side-search #feas-searchform-0 #feas_0_0 {
        border: 1px solid #aaa;
        padding: 13px 15px;
    }
}

.side-search #feas-searchform-0 #feas-submit-button-0 {
    margin-top: 7.5px;
    border-radius: 3px;
    padding: 3px;
    cursor: pointer;
    transition: .3s;
}

.side-search #feas-searchform-0 #feas-submit-button-0:hover {
    background-color: #366b9a;
}

@media screen and (max-width: 767px) {
    .side-search #feas-searchform-0 #feas-submit-button-0 {
        margin-top: 15px;
        padding: 18px 25px;
        line-height: 1;
        font-weight: 600;
    }
}

#blog .blog-aside-col .menu.banner a {
    display: block;
    margin-bottom: 10px;
    transition: .3s;
}

#blog .blog-aside-col .menu.banner a:hover {
    opacity: 0.7;
}

#blog .blog-aside-col .menu.banner a:last-of-type {
    margin-bottom: 0;
}

@media screen and (max-width: 767px) {
    .blog-aside-col {
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media screen and (max-width: 767px) {
    footer .footer-footer .footer-col li a.main {
        font-size: 16px;
    }

    footer .footer-footer .footer-col li p.main {
        font-size: 16px;
        margin-bottom: 15px;
    }

    footer .footer-footer .footer-col ul.second a {
        font-size: 16px;
        margin-bottom: 10px;
    }

    footer .footer-footer .footer-col ul.second a span {
        display: block;
        font-size: 12px;
    }
}

@media screen and (max-width: 767px) {
    .blog-article #blog {
        padding-top: 20px;
    }

    .blog-article #blog .page-title-box-inner .en-title {
        font-size: 50px;
    }

    .blog-article #blog .page-title-box-inner .title {
        font-size: 14px;
        margin-top: 15px;
    }

    .blog-body .breadcrumb-sec {
        margin-top: 51px;
    }

    .breadcrumbs>span {
        font-size: 12px;
    }
}

#interview .interview-all-col {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

@media screen and (max-width: 991px) {
    #interview .interview-all-col {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
}

@media screen and (max-width: 767px) {
    #interview .interview-all-col {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }

    #interview .interview-all-col:nth-child(odd) {
        padding-left: 7.5px;
    }

    #interview .interview-all-col:nth-child(even) {
        padding-right: 7.5px;
    }
}

.top-page .blog-ul {
    padding: 0;
    padding-top: 30px;
}

@media screen and (max-width: 767px) {
    .top-page .blog-ul {
        padding-top: 20px;
        padding-bottom: 0;
    }
}

@media screen and (min-width: 1200px) {
    .top-page .blog-ul li {
        width: calc((100% - 60px) / 4 - 0.1px);
        padding: 0 10px;
        margin-bottom: 30px;
        box-sizing: content-box;
        position: relative;
    }

    .top-page .blog-ul li:nth-child(4n + 1) {
        padding-left: 0;
    }

    .top-page .blog-ul li:nth-child(4n) {
        padding-right: 0;
    }
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
    .top-page .blog-ul li {
        width: calc((100% - 40px) / 3 - 0.1px);
        padding: 0 10px;
        margin-bottom: 30px;
        box-sizing: content-box;
        position: relative;
    }

    .top-page .blog-ul li:nth-child(3n + 1) {
        padding-left: 0;
    }

    .top-page .blog-ul li:nth-child(3n) {
        padding-right: 0;
    }

    .top-page .blog-ul li:last-of-type {
        display: none;
    }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .top-page .blog-ul li {
        width: calc((100% - 20px) / 2 - 0.1px);
        padding: 0 10px;
        margin-bottom: 30px;
        box-sizing: content-box;
        position: relative;
    }

    .top-page .blog-ul li:nth-child(2n + 1) {
        padding-left: 0;
    }

    .top-page .blog-ul li:nth-child(2n) {
        padding-right: 0;
    }

    .top-page .blog-ul li:nth-of-type(3) {
        display: none;
    }

    .top-page .blog-ul li:last-of-type {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    .top-page .blog-ul li {
        width: calc((100% - 15px) / 2 - 0.1px);
        padding: 0 7.5px;
        margin-bottom: 30px;
        box-sizing: content-box;
        position: relative;
    }

    .top-page .blog-ul li:nth-child(2n + 1) {
        padding-left: 0;
    }

    .top-page .blog-ul li:nth-child(2n) {
        padding-right: 0;
    }
}

.top-page .post-list-category {
    font-size: 10px;
    color: #7e7e7e;
    margin-top: 10px;
}

@media screen and (max-width: 767px) {
    .top-page .post-list-category {
        font-size: 10px;
        margin-top: 5px;
    }
}

.top-page .post-list-title {
    display: block;
    font-size: 18px;
    color: #000;
    font-weight: 600;
    line-height: 1.4;
    margin-top: 0;
    margin-bottom: 0;
    text-align: justify;
    word-break: break-all;
    text-justify: inter-ideograph;
    text-justify: inter-character;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

@media screen and (max-width: 767px) {
    .top-page .post-list-title {
        font-size: 14px;
    }
}

.top-page .post-list-date {
    font-size: 12px;
}

.top-page .post-list-date::before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    background-image: url(../images/blog/watch.svg);
    background-size: contain;
    vertical-align: middle;
    margin-top: -1px;
    margin-right: 3px;
}

.top-page .poster-col {
    width: auto;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-top: 5px;
}

.top-page .poster-img img {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    object-fit: cover;
}

@media screen and (max-width: 767px) {
    .top-page .poster-img img {
        width: 20px;
        height: 20px;
    }
}

.top-page .poster-text {
    margin-left: 10px;
}

@media screen and (max-width: 767px) {
    .top-page .poster-text {
        display: none;
    }
}

.top-page .poster-text .post-list-poster {
    font-size: 12px;
    margin-bottom: 0;
    line-height: 1;
    font-weight: 600;
}

.top-page .post-list-tag {
    margin-top: 10px;
    padding-bottom: 20px;
}

@media screen and (max-width: 767px) {
    .top-page .post-list-tag {
        padding-bottom: 5px;
    }
}

.top-page .post-list-tag a {
    display: inline-block;
    background-color: #DAEBF8;
    color: #1678CC;
    font-size: 10px;
    padding: 5px;
    margin-right: 5px;
    border-radius: 3px;
    width: auto;
    margin-bottom: 5px;
    line-height: 1;
    transition: .3s;
}

.top-page .post-list-company {
    text-align: right;
    margin-top: 5px;
    transform: skewX(-5deg);
    font-family: 'Lato', sans-serif;
    font-size: 20px;
    line-height: 1;
    font-weight: bold;
    position: relative;
    bottom: 0;
    /*right: 10px;*/
}

@media screen and (max-width: 767px) {
    .top-page .post-list-company {
        font-size: 16px;
        text-align: left;
        position: relative;
        bottom: auto;
        right: auto;
        left: 0;
        margin-top: 5px;
    }
}

@media screen and (max-width: 767px) {
    .top-interview .button-area .kagawa span, .top-interview .button-area .tokyo span {
        display: none;
    }

    .slick-slider {
        margin-bottom: 0;
    }

    .top-interview .button-area {
        margin-top: 0;
    }
}

.top-blog {
    padding-top: 50px;
}

.top-blog .section-title .en-title, .top-interview .section-title .en-title, .top-movie .section-title .en-title, .top-newsletter .section-title .en-title {
    position: relative;
    font-family: 'Lato', sans-serif;
    font-size: 40px;
    line-height: 1;
    font-weight: bold;
    transform: skewX(-5deg);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    color: #0d2a6f;
}

@media screen and (max-width: 767px) {
    .top-blog .section-title .en-title, .top-interview .section-title .en-title, .top-movie .section-title .en-title, .top-newsletter .section-title .en-title {
        display: block;
        margin-bottom: 5px;
        font-size: 30px;
    }
}

.top-blog .section-title .title {
    font-size: 16px;
    line-height: 1;
    color: #0d2a6f;
}

@media screen and (max-width: 767px) {
    .top-blog-inner .section-title {
        text-align: center;
    }
}

.top-blog .button-area {
    text-align: center;
}

.top-blog .button-area a {
    background-color: #0d296f;
    color: #fff;
    padding: 15px;
    font-size: 16px;
    width: 300px;
    display: inline-block;
    /*border-radius: 50px;
    margin-top: 30px;*/
    transition: .3s;
}

.top-blog .button-area a:hover {
    background-color: #586b9d;
}

@media screen and (max-width: 767px) {
    .top-blog .button-area a {
        padding: 10px;
        font-size: 14px;
        width: 50%;
        border-radius: 50px;
    }
}

.top-blog {
    padding-top: 50px;
    margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
    .top-blog {
        margin-bottom: 50px;
    }
}

@media screen and (max-width: 767px) {
    .top-services .container {
        padding: 0;
    }
}

.interview-single br.min-768 {
    display: none;
}

@media screen and (max-width: 767px) {
    .interview-single .hidden .main-logo a img.hidden-img {
        display: none;
    }

    .interview-single .hidden .main-logo a img.visible-img {
        display: block;
    }

    .interview-single .hidden {
        background: #FFF;
    }
}

.interview-content-box .message-box {
    /*margin-top: 100px;*/
}

.interview-content-box.kagawa .offtime {
    background-color: #DDEBF8;
}

.interview-content-box.tokyo .offtime {
    background-color: #effbf6;
}

.interview-content-box .offtime .row {
    /*flex-direction: row-reverse;*/
    position: relative;
}

.interview-content-box .offtime .description {
    color: #000;
    font-size: 16px;
}

.interview-content-box.kagawa .offtime .midashi {
    color: #3895e4;
    font-size: 22px;
    /* font-weight: 600; */
    margin-bottom: 15px;
}

.interview-content-box.tokyo .offtime .midashi {
    color: #269a64;
    font-size: 22px;
    /* font-weight: 600; */
    margin-bottom: 15px;
}

@media screen and (max-width: 767px) {
    .interview-content-box.kagawa .offtime .midashi, .interview-content-box.tokyo .offtime .midashi {
        font-size: 17px;
        padding-bottom: 0;
        line-height: 1.6;
        font-weight: 600;
    }
}

.interview-content-box .offtime .message-img {
    display: block;
}

@media screen and (max-width: 767px) {
    .interview-content-box .offtime .message-img {
        display: block;
        width: 100%;
        padding: 15px;
        padding-bottom: 0;
    }

    .interview-content-box .message-text p.description {
        text-align: justify;
    }
}

.offtime-content {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
}

.interview-content-box .offtime-bar {
    width: 5%;
    position: absolute;
    top: 0;
}

.interview-content-box .offtime-bar img {
    opacity: 0.2;
}

@media screen and (min-width: 992px) {
    .interview-content-box .offtime-bar img {
        height: 300px;
    }

    .interview-content-box .offtime-content .message-text {
        width: 70%;
        padding: 0 8%;
        padding-left: 10%;
        /* padding-right: 2%; */
    }
}

@media screen and (max-width: 991px) {
    .interview-content-box .message-img {
        display: none;
    }

    .interview-content-box .message-text {
        width: 100%;
        padding: 25px 20px;
    }

    .interview-content-box .message-box .container {}
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .offtime-content {
        width: 90%;
        padding-left: 10%;
        position: relative;
    }

    .interview-content-box .offtime-content .message-text {
        padding-left: 0;
    }

    .interview-content-box .offtime-bar {
        padding-top: 30px;
    }

    .interview-content-box .message-text p.description {
        font-size: 14px;
    }
}

@media screen and (max-width: 767px) {
    .offtime-content {
        display: block;
    }

    .interview-content-box .offtime-bar {
        /*width: 80%;
    padding: 0 25px;
    margin-top: 30px;
    margin-bottom: 20px;*/
        display: none;
    }

    .offtime-bar-sp {
        width: auto;
        padding: 0 25px;
        margin-top: 20px;
        margin-bottom: 0;
        margin-left: 0;
        text-align: left;
    }

    .offtime-bar-sp img {
        height: 28px;
        width: auto;
        opacity: 0.4;
    }

    .interview-content-box .offtime-content .message-text {
        padding-top: 20px;
    }

    .interview-content-row:last-of-type {
        margin-bottom: 50px;
    }
}

.top-blog .container-fluid {
    padding-left: 50px;
    padding-right: 50px;
}

.top-interview .container-fluid {
    padding-left: 50px;
    padding-right: 50px;
}

@media screen and (max-width: 767px) {
    .top-blog .container-fluid {
        padding-left: 15px;
        padding-right: 15px;
    }

    .top-interview .container-fluid {
        padding-left: 15px;
        padding-right: 15px;
    }
}

.blog-body .breadcrumb-sec .container-fluid, .blog-body #blog .container-fluid {
    padding-left: 50px;
    padding-right: 50px;
}

@media screen and (min-width: 992px) {
    .blog-aside-col {
        padding-left: 30px;
        padding-right: 15px;
    }
}

@media screen and (max-width: 991px) {
    .blog-body .breadcrumb-sec .container-fluid, .blog-body #blog .container-fluid {
        padding-left: 30px;
        padding-right: 30px;
    }

    .blog-body .blog-main-col {
        padding-left: 30px;
    }

    .blog-aside-col {
        padding-left: 30px;
        padding-right: 30px;
    }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    #blog .blog-aside-col .menu.banner {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    .blog-body .blog-main-col {
        padding-left: 15px;
        padding-right: 15px;
    }

    .blog-body .breadcrumb-sec .container-fluid, .blog-body #blog .container-fluid {
        padding-left: 15px;
        padding-right: 15px;
    }

    .blog-aside-col {
        padding-left: 15px;
        padding-right: 15px;
    }
}

.top-blog .section-title .en-title::before, .top-interview .section-title .en-title::before, .top-movie .section-title .en-title::before, .top-newsletter .section-title .en-title::before {
    content: '';
    display: inline-block;
    width: 42px;
    height: 32px;
    background-image: url("../images/before-logo.svg");
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-right: 5px;
}

@media screen and (max-width: 767px) {
    .top-blog .section-title .en-title::before, .top-interview .section-title .en-title::before, .top-movie .section-title .en-title::before, .top-newsletter .section-title .en-title::before {
        display: none;
    }
}

.top-movie .cm-box {
    display: flex !important;
    width: 100%;
    position: relative;
    margin-top: 0;
    align-items: stretch;
    flex-flow: column;
}

.top-movie .cm-box figure {
    display: flex !important;
    width: 100%;
    position: relative;
    align-items: center;
    justify-content: center;
    margin-bottom: 0;
    transition: .3s;
    overflow: hidden;
    padding-bottom: 56%;
}

@media screen and (min-width: 768px) {
    .top-movie .cm-box a:hover figure {
        transform: scale(1.05);
        opacity: 0.7;
    }
}

.top-movie .cm-box figure img.saisei-button {
    position: absolute;
    width: 80px;
    transition: .3s;
}

.top-movie .cm-box .cm-text {
    position: relative;
    width: auto;
    display: block;
    background-color: transparent;
    text-align: left;
    margin-top: 10px;
}

.top-movie .cm-box .cm-text .cm-sub-title {
    font-size: 14px;
    margin: 0;
    text-align: left;
    font-weight: 600;
}

.top-movie .cm-box .cm-text .cm-title {
    font-size: 14px;
    margin: 0;
    text-align: left;
    font-weight: 600;
}

.top-movie .container-fluid {
    padding-left: 50px;
    padding-right: 50px;
    padding-top: 50px;
    padding-bottom: 50px;
}

@media screen and (max-width: 767px) {
    .top-movie .container-fluid {
        padding-left: 15px;
        padding-right: 15px;
        padding-top: 30px;
    }
}

.cm-box-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding-top: 30px;
}

@media screen and (max-width: 767px) {
    .cm-box-wrap {
        flex-flow: column;
    }
}

/*.top-movie .cm-box-wrap .cm-box {
    width: calc((100% - 20px) / 2 - 0.1px);
    padding: 0 10px;
    margin-bottom: 30px;
    box-sizing: content-box;
    position: relative;
}
.top-movie .cm-box-wrap .cm-box:nth-child(2n + 1) {
    padding-left: 0;
}
.top-movie .cm-box-wrap .cm-box:nth-child(2n) {
    padding-right: 0;
}*/
@media screen and (max-width: 767px) {
    .top-movie .cm-box-wrap .cm-box {
        width: 100%;
        padding: 0;
        margin-bottom: 30px;
    }
}

.top-movie .cm-box .js-modal-video {
    display: flex;
    width: 100%;
    position: relative;
    overflow: hidden;
    align-items: center;
    justify-content: center;
}

.top-movie .cm-box .js-modal-video figure::before {
    content: '';
    display: inline-block;
    width: 80px;
    height: 80px;
    background-image: url(../images/slide/cm_movie.svg);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-right: 0;
    position: absolute;
    top: calc(50% - 40px);
    left: calc(50% - 40px);
}

.cm-box-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    padding-top: 30px;
}

@media screen and (max-width: 767px) {
    .cm-box-wrap {
        flex-flow: column;
    }
}

.top-movie .cm-box-wrap .cm-box {
    width: calc((100% - 60px) / 4 - 0.1px);
    padding: 0 10px;
    margin-bottom: 30px;
    box-sizing: content-box;
    position: relative;
}

.top-movie .cm-box-wrap .cm-box:nth-child(4n + 1) {
    padding-left: 0;
}

.top-movie .cm-box-wrap .cm-box:nth-child(4n) {
    padding-right: 0;
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .top-movie .cm-box-wrap .cm-box {
        width: calc((100% - 20px) / 2 - 0.1px);
        padding: 0 10px;
        margin-bottom: 30px;
        box-sizing: content-box;
        position: relative;
    }

    .top-movie .cm-box-wrap .cm-box:nth-child(2n + 1) {
        padding-left: 0;
    }

    .top-movie .cm-box-wrap .cm-box:nth-child(2n) {
        padding-right: 0;
    }
}

@media screen and (max-width: 767px) {
    .top-movie .cm-box-wrap .cm-box {
        width: 100%;
        padding: 0;
        margin-bottom: 30px;
    }
}

.top-movie .cm-box .js-modal-video {
    display: flex;
    width: 100%;
    position: relative;
    overflow: hidden;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
}

.top-movie .cm-box .js-modal-video figure::before {
    content: '';
    display: inline-block;
    width: 80px;
    height: 80px;
    background-image: url(../images/slide/cm_movie.svg);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-right: 0;
    position: absolute;
    top: calc(50% - 40px);
    left: calc(50% - 40px);
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
    .top-movie .cm-box .js-modal-video figure::before {
        width: 50px;
        height: 50px;
        top: calc(50% - 25px);
        left: calc(50% - 25px);
    }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .top-movie .cm-box .js-modal-video figure::before {
        width: 70px;
        height: 70px;
        top: calc(50% - 35px);
        left: calc(50% - 35px);
    }
}

@media screen and (min-width: 992px) {
    .interview-content-box .interview-sec .text {
        width: 100%;
    }

    .interview-content-box .interview-02-sec .copy {
        width: 100%;
        margin-left: 0;
        padding-left: 0;
    }

    .interview-content-box .interview-02-sec .text {
        margin-left: 0;
        padding-left: 0;
    }

    .interview-content-box .message-text {
        padding-right: 0;
    }
}

/*---------------メッセージ---------------*/
.page-hero-wrap.message {
    height: 400px;
}

@media screen and (max-width: 767px) {
    .page-title-box {
        width: 25%;
    }

    .page-hero-wrap.message .page-hero-box {
        width: 75%;
    }
}

.message .page-hero-box .img-liquid {
    height: 400px;
}

@media screen and (min-width: 992px) {
    .message .page-hero-box .img-liquid {
        background-position: center 5% !important;
    }
}

@media screen and (max-width: 991px) {
    .page-hero-wrap.message {
        height: 280px;
    }

    .message .page-hero-box .img-liquid {
        height: 280px;
    }
}

@media screen and (max-width: 767px) {
    .page-hero-wrap.message {
        height: 220px;
    }

    .message .page-hero-box .img-liquid {
        height: 220px;
        background-position: 70% center !important;
    }
}

.message .page-title-box:after {
    border-top: 420px solid rgba(255, 255, 255, 1);
}

.message-content-box {
    background-color: #fff;
    padding: 0;
    padding-top: 130px;
}

@media screen and (max-width: 991px) {
    .message-content-box {
        padding-top: 60px;
    }
}

.message-content-row {
    margin-bottom: 100px;
    position: relative;
}

@media screen and (max-width: 991px) {
    .message-content-row {
        margin-bottom: 60px;
    }
}

@media screen and (max-width: 767px) {
    .message-content-row {
        margin-bottom: 50px;
    }
}

.message-content-box .message-bar {
    width: 5%;
}

@media screen and (max-width: 767px) {
    .message-content-box .message-bar {
        width: 80%;
        padding: 0 20px;
        margin-top: 0;
        margin-bottom: 20px;
    }
}

.message-content-box .message-bar img {
    /*height: 300px;*/
    opacity: 0.4;
}

.message-content-box .message-01-sec {
    width: 95%;
    padding-left: 5%;
    position: relative;
}

@media screen and (max-width: 767px) {
    .message-content-box .message-01-sec {
        width: 100%;
        padding-left: 15px;
        padding-right: 15px;
    }
}

.message-content-box .message-sec .copy {
    color: #589DD9;
}

.message-content-box .message-sec .copy {
    font-size: 28px;
    margin-bottom: 15px;
}

@media screen and (min-width: 768px) and (max-width: 1199px) {
    .message-content-box .message-sec .copy {
        font-size: 26px;
        margin-bottom: 15px;
    }
}

@media screen and (max-width: 767px) {
    .message-content-box .message-sec .copy {
        width: 100%;
        font-size: 19px;
        font-weight: 600;
        padding-left: 5px;
        padding-right: 5px;
    }
}

.message-content-box .message-01-sec .text-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

@media screen and (min-width: 992px) {
    .message-content-box .message-01-sec .text-box {
        flex-flow: row-reverse;
    }
}

.message-content-box .message-01-sec .text {
    color: #333;
    font-size: 16px;
    line-height: 2;
    width: 50%;
    margin-bottom: 30px;
    text-align: justify;
}

@media screen and (min-width: 992px) {
    .message-content-box .message-01-sec .text {
        padding-left: 15px;
    }
}

@media screen and (max-width: 991px) {
    .message-content-box .message-01-sec .text {
        width: 100%;
    }
}

.message-content-box .message-01-sec .img-wrap {
    width: 50%;
}

@media screen and (min-width: 992px) {
    .message-content-box .message-01-sec .img-wrap {
        padding-right: 15px;
    }
}

@media screen and (max-width: 991px) {
    .message-content-box .message-01-sec .img-wrap {
        width: 100%;
    }
}

@media screen and (min-width: 992px) {
    .message-content-box .message-01-sec .img-liquid {
        height: 500px;
    }
}

@media screen and (max-width: 991px) {
    .message-content-box .message-01-sec .img-liquid {
        height: 400px;
    }
}

@media screen and (max-width: 767px) {
    .message-content-box .message-01-sec .img-liquid {
        height: 220px;
    }
}

.message-content-box .message-02-sec {
    width: 90%;
    margin-left: 0;
    position: relative;
}

@media screen and (max-width: 767px) {
    .message-content-box .message-02-sec {
        width: 100%;
        padding-left: 15px;
        padding-right: 15px;
    }
}

.message-content-box .message-02-sec .text {
    color: #333;
    font-size: 16px;
    line-height: 2;
    width: 100%;
    margin-bottom: 30px;
    text-align: justify;
    margin-left: 0;
    padding-left: 0;
}

.message-content-box .message-02-sec .img-liquid {
    height: 500px;
}

@media screen and (max-width: 991px) {
    .message-content-box .message-02-sec .img-liquid {
        height: 400px;
    }
}

@media screen and (max-width: 767px) {
    .message-content-box .message-02-sec .img-liquid {
        height: 220px;
    }
}

.message-content-box .message-02-bar {
    width: 5%;
    position: absolute;
    right: 0;
}

@media screen and (max-width: 767px) {
    .message-content-box .message-02-bar {
        position: relative;
        left: 0;
    }

    .message-content-box .message-02-bar {
        width: 80%;
        padding: 0 20px;
        margin-top: 0;
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 767px) {
    .message-content-row:nth-child(even) {
        display: flex;
        flex-direction: column-reverse;
    }
}

.page-title-box-inner {
    top: 0;
}

.page-hero-wrap.message .row {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    height: 400px;
    padding-top: 50px;
    padding-bottom: 20px;
}

@media screen and (max-width: 991px) {
    .message .page-title-box-inner {
        top: 0;
    }

    .page-hero-wrap.message .row {
        height: 280px;
        padding-top: 30px;
        padding-bottom: 20px;
    }
}

@media screen and (max-width: 767px) {
    .page-hero-wrap.message .row {
        height: 220px;
        padding-top: 20px;
        padding-bottom: 10px;
    }
}

.page-hero-wrap.message .title-box-bottom {
    font-weight: bold;
}

.page-hero-wrap.message .message-post {
    font-size: 14px;
}

.page-hero-wrap.message .message-name {
    font-size: 24px;
    margin-bottom: 5px;
}

.page-hero-wrap.message .message-name span {
    font-size: 12px;
    /*font-weight: normal;*/
}

.page-hero-wrap.message .title-box-bottom .en-title {
    font-size: 12px;
    margin-bottom: 0;
    font-family: 'Lato', sans-serif;
    font-weight: bold;
}

@media screen and (max-width: 767px) {
    .page-hero-wrap.message .message-name {
        font-size: 20px;
        margin-bottom: 5px;
    }

    .page-hero-wrap.message .message-name span {
        font-size: 10px;
        display: block;
    }
}

/*section.top-message {
    padding: 50px;
    padding-bottom: 100px;
    height: 100%;
}
@media screen and (max-width: 991px) {
section.top-message {
    padding: 0 30px;
    margin: 80px auto;
    height: 100%;
}
}
section.top-message .container-fluid {
    padding: 0;
}
section.top-message .top-message-row {
    position: relative;
    width: 100%;
    height: auto;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin: 0;
    overflow: hidden;
}
@media screen and (max-width: 991px) {
section.top-message .top-message-row {
    flex-flow: column-reverse;
}
}
section.top-message .left {
    width: 35%;
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    background: #FFF;
    transform: 0;
    position: relative;
    top: 0;
    left: 0;
    z-index: 2;
    text-align: left;
}
@media screen and (max-width: 991px) {
section.top-message .left {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #FFF;
    transform: 0;
    position: relative;
    top: 0;
    left: 0;
    z-index: 2;
    text-align: center;
    margin-top: 20px;
}
}
section.top-message .right {
    background-position: center center;
    width: 65%;
}
@media screen and (max-width: 991px) {
section.top-message .right {
    background-position: center center;
    width: 100%;
}    
}
section.top-message .title-box {
    position: relative;
    top: 0;
    z-index: 3;
}
section.top-message .title-box .en-title {
    font-family: 'Lato', sans-serif;
    font-size: 80px;
    line-height: 1;
    font-weight: bold;
    color: #58C5D9;
}
@media screen and (max-width: 767px) {
section.top-message .title-box .en-title {
    font-family: 'Lato', sans-serif;
    font-size: 40px;
    line-height: 1;
    font-weight: bold;
    color: #58C5D9;
}
}
section.top-message .title-box .title {
    font-size: 16px;
    line-height: 1;
    margin-top: 20px;
    transform: skewX(5deg);
}
section.top-message .title-box .button {
    display: inline-block;
    margin-top: 30px;
    width: 200px;
}
@media screen and (max-width: 767px) {
section.top-message .title-box .button {
    width: 150px;
}
}
section.top-message .title-box .button a {
    background-color: #58C5D9;
    color: #fff;
    padding: 15px;
    display: inline-block;
    width: 100%;
    font-family: 'Lato', sans-serif;
    transition: .3s;
}*/

.wp-block-columns {
    margin-bottom: 30px;
}

.blog-single .post-content .wp-block-columns figure {
    margin-bottom: 0;
}

.blog-single .post-content figure {
    margin-bottom: 30px;
}

.blog-single .post-content p {
    line-height: 2;
    margin-bottom: 30px;
    text-align: justify;
    word-break: break-all;
    text-justify: inter-ideograph;
    text-justify: inter-character;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

@media screen and (max-width: 767px) {
    .blog-single .post-content figure {
        margin-bottom: 15px;
    }

    .blog-single .post-content p {
        line-height: 1.8;
        margin-bottom: 15px;
    }
}

.blog-single #blog h2 {
    display: block;
    font-weight: 600;
    font-size: 34px;
    margin-top: 50px;
    margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
    .blog-single #blog h2 {
        font-size: 22px;
        margin-top: 30px;
        margin-bottom: 10px;
    }

    .breadcrumbs>span {
        white-space: nowrap;
    }

    .blog-body .breadcrumbs {
        overflow-x: scroll;
        overflow-y: hidden;
    }

    .blog-article #blog, .blog-single #blog {
        padding-top: 15px;
        padding-bottom: 15px;
    }

    .blog-single #blog .post-header {
        margin-bottom: 10px;
    }
}

/*section.top-services .top-services-bg {
    width: 70%;
}
section.top-services .top-services-bg a {
    display: block;
}
@media screen and (max-width: 991px) {
section.top-services .top-services-bg {
    
}
}
section.top-services .title-box {
    width: 30%;
}
@media screen and (min-width: 768px) and (max-width: 991px) {
section.top-services .title-box .en-title::before {
    content: '';
    display: inline-block;
    width: 42px;
    height: 32px;
    background-image: url(../images/before-logo.svg);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-right: 5px;
}
}
@media screen and (min-width: 768px) {
section.top-services .title-box-sp .button {
    display: none;
}    
}
@media screen and (max-width: 767px) {
section.top-services .title-box {
    width: 100%;
    text-align: center;
    margin-bottom: 15px;
    padding-top: 15px;
}
section.top-services .top-services-bg {
    width: 100%;
}
section.top-services .top-services-bg img {
    border-radius: 5px;
}
section.top-services .title-box .button {
    display: none;
}
section.top-services .title-box-sp .button {
    
}
section.top-services .title-box-sp .button a {
    background-color: #0d2a6f;
    color: #fff;
    padding: 15px;
    display: inline-block;
    width: 100%;
    font-family: 'Lato', sans-serif;
    margin-top: 30px;
}
section.top-services .title-box-sp {
    width: 100%;
    text-align: center;   
}
section.top-services .title-box-sp .button a {
    border-radius: 50px;
    margin-top: 30px;
    width: 50%;
    padding: 10px;
    font-size: 14px;
}    
section.top-services .container-fluid {
    padding-left: 15px;
    padding-right: 15px;
}
}*/

/*-------------検索絞り込み機能-------------*/
#feas-searchform-0 .feas_clevel_01 input {
    width: auto;
    margin-right: 5px;
    position: relative;
    top: 2px;
}

#feas-searchform-0 .feas_clevel_01 span {
    font-size: 12px;
}

.search-main-title {
    font-size: 22px;
    margin-bottom: 20px;
    font-family: 'Lato', sans-serif;
    font-weight: 500;
    vertical-align: middle;
    display: block;
    text-align: left;
    line-height: 1;
    position: relative;
    color: #1578cc;
}

.search-main-title:after {
    content: "";
    width: 100%;
    position: absolute;
    bottom: -10px;
    left: 0;
    border-bottom: 1px solid #1678CC;
}

.search-small-box {
    margin-top: 10px;
}

.search-small-box::after {
    content: '';
    display: block;
    border-bottom: 1px solid #ddd;
    padding-top: 10px;
}

.side-search .search-small-box:first-of-type {
    margin-top: 0;
}

.search-title {
    font-size: 13px;
    font-weight: 600;
    text-align: left;
    margin-bottom: 5px;
}

.search-flex {
    display: flex;
    justify-content: flex-end;
    flex-direction: row-reverse;
    flex-wrap: wrap;
}

.search-flex label {
    display: inline-block;
    margin-right: 15px;
    margin-bottom: 0.5rem;
    line-height: 1;
    white-space: nowrap;
}

.search-flex label:first-of-type {
    margin-right: 0;
}

/*----------社内報ダウンロード----------*/
.section-box.newsletter {
    padding-top: 30px;
}

.section-box.newsletter .text-wrap-inner {
    margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
    .section-box.newsletter .text-wrap-inner {
        margin-bottom: 30px;
    }
}

@media screen and (min-width: 768px) {
    .section-box.newsletter .text-wrap .description {
        text-align: center;
        line-height: 1.8;
    }
}

.newsletter-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    margin-bottom: 80px;
}

@media screen and (max-width: 767px) {
    .newsletter-list {
        justify-content: flex-start;
        margin-bottom: 30px;
    }
}

@media screen and (min-width: 992px) {
    .newsletter-list li {
        width: calc((100% - 150px) / 6 - 0.1px);
        padding: 0 15px;
        margin-bottom: 30px;
        box-sizing: content-box;
    }

    .newsletter-list li:nth-child(6n + 1) {
        padding-left: 0;
    }

    .newsletter-list li:nth-child(6n) {
        padding-right: 0;
    }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .newsletter-list li {
        width: calc((100% - 90px) / 4 - 0.1px);
        padding: 0 15px;
        margin-bottom: 30px;
        box-sizing: content-box;
    }

    .newsletter-list li:nth-child(4n + 1) {
        padding-left: 0;
    }

    .newsletter-list li:nth-child(4n) {
        padding-right: 0;
    }
}

@media screen and (max-width: 767px) {
    .newsletter-list li {
        width: calc((100% - 15px) / 2 - 0.1px);
        padding: 0 7.5px;
        margin-bottom: 30px;
        box-sizing: content-box;
    }

    .newsletter-list li:nth-child(2n + 1) {
        padding-left: 0;
    }

    .newsletter-list li:nth-child(2n) {
        padding-right: 0;
    }

    /*.newsletter-list li {
    width: 100%;
    padding: 0;
    margin-bottom: 50px;
    box-sizing: content-box;
}*/
}

.newsletter-list .newsletter-title {
    display: block;
    color: #035096;
    font-size: 20px;
    font-weight: 600;
    margin-top: 20px;
    margin-bottom: 10px;
}

@media screen and (max-width: 991px) {
    .newsletter-list .newsletter-title {
        font-size: 17px;
        margin-top: 15px;
        margin-bottom: 5px;
    }
}

@media screen and (max-width: 767px) {
    .newsletter-list .newsletter-title {
        font-size: 16px;
        margin-top: 10px;
        margin-bottom: 5px;
    }
}

@media screen and (min-width: 768px) {
    .newsletter-list img {
        -webkit-box-shadow: 0 5px 15px -12px rgba(50, 50, 93, .25), 0 10px 36px -18px rgba(0, 0, 0, .3), 0 -12px 36px -8px rgba(0, 0, 0, .025);
        box-shadow: 0 5px 15px -7px rgba(50, 50, 93, .25), 0 10px 16px -18px rgba(0, 0, 0, .3), 0 -12px 36px -8px rgba(0, 0, 0, .025);
    }
}

@media screen and (max-width: 767px) {
    .newsletter-list img {
        border: 1px solid #ccc;
    }
}

.newsletter-date {
    font-size: 16px;

}

@media screen and (max-width: 767px) {
    .newsletter-date {
        font-size: 13px;

    }
}

.newsletter-list a {
    display: block;
    background-color: #589DD9;
    color: #fff;
    padding: 15px 20px;
    border-radius: 5px;
    font-size: 15px;
    line-height: 1.8;
    transition: .3s;
    margin-top: 15px;
}

@media screen and (max-width: 991px) {
    .newsletter-list a {
        padding: 10px 15px;
        font-size: 14px;
        margin-top: 10px;
    }
}

@media screen and (max-width: 767px) {
    .newsletter-list a {
        padding: 10px 5px;
        font-size: 14px;
        margin-top: 15px;
    }
}

#blog .blog-aside-col .popular-posts h2 {
    display: block;
    font-size: 22px;
    margin-bottom: 20px;
    font-family: 'Lato', sans-serif;
    font-weight: 500;
    vertical-align: middle;
    text-align: left;
    line-height: 1;
    position: relative;
    color: #1578cc;
}

#blog .blog-aside-col .popular-posts h2:after {
    content: "";
    width: 100%;
    position: absolute;
    bottom: -10px;
    left: 0;
    border-bottom: 1px solid #1678CC;
}

#blog .blog-aside-col .menu.side-ranking li {
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    padding-bottom: 10px;
}

#blog .blog-aside-col .menu.side-ranking li:last-of-type {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

#blog .blog-aside-col .menu.side-ranking li a {
    display: flex;
    align-items: center;
    width: calc(100% - 35px);
    margin-left: 5px;
}

.side-ranking li .left-col {
    width: 20%;
    margin-right: 5%;
}

.side-ranking li .right-col {
    width: 75%;
}

.side-ranking li a .right-col p {
    transition: .3s;
    font-size: 12px;
    text-align: justify;
    word-break: break-all;
    text-justify: inter-ideograph;
    text-justify: inter-character;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.side-ranking li a:hover .right-col p {
    color: #58c5d9;
}

.side-ranking .left-col figure {
    position: relative;
    margin-bottom: 0;
}

.side-ranking .left-col figure:before {
    content: "";
    display: block;
    padding-top: 100%;
}

.side-ranking .left-col figure img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    object-fit: cover;
    transition: .3s;
}

.side-ranking li a:hover .left-col figure img {
    opacity: 0.6
}

/* 順位カウンタをリセットする記述 */
.ranking-ul {
    counter-reset: wpp-ranking;
}

/* 順位を表示する記述１ */
.ranking-ul li {
    position: relative;
    border-bottom: 1px dashed #ccc;
}

/* 順位を表示する記述２ */
.ranking-ul li:before {
    /*content: counter(wpp-ranking, decimal)'位';
    counter-increment: wpp-ranking;
    color: #333;
    font-weight: bold;
    font-size: 14px;
    line-height: 1;
    white-space: nowrap;
    width: 10%;
    margin-right: 5px;*/
}

.ranking-ul li:nth-child(1):before {
    content: '';
    background-image: url("../images/blog/rank_01.svg");
    background-size: cover;
    background-repeat: no-repeat;
    display: block;
    width: 30px;
    height: 30px;
}

/* 2位 */
.ranking-ul li:nth-of-type(2):before {
    content: '';
    background-image: url("../images/blog/rank_02.svg");
    background-size: cover;
    background-repeat: no-repeat;
    display: block;
    width: 30px;
    height: 30px;
}

/* 3位 */
.ranking-ul li:nth-of-type(3):before {
    content: '';
    background-image: url("../images/blog/rank_03.svg");
    background-size: cover;
    background-repeat: no-repeat;
    display: block;
    width: 30px;
    height: 30px;
}

/* 4位 */
.ranking-ul li:nth-of-type(4):before {
    content: '';
    background-image: url("../images/blog/rank_04.svg");
    background-size: cover;
    background-repeat: no-repeat;
    display: block;
    width: 30px;
    height: 30px;
}

/* 5位 */
.ranking-ul li:nth-of-type(5):before {
    content: '';
    background-image: url("../images/blog/rank_05.svg");
    background-size: cover;
    background-repeat: no-repeat;
    display: block;
    width: 30px;
    height: 30px;
}

/*YouTube_レスポンシブ*/
.wp-block-embed__wrapper {
    width: 100%;
    aspect-ratio: 16 / 9;
}

.wp-block-embed__wrapper iframe {
    width: 100%;
    height: 100%;
}

.blog-li-inner {
    padding: 10px;
    height: 100%;
    border-radius: 3px;
    transition: .3s;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
}

@media screen and (max-width: 767px) {
    .blog-li .blog-li-inner {
        padding: 0;
    }
}

.blog-li-inner.kagawa {
    border: 1px solid #589DD9;
}

.blog-li:hover .blog-li-inner.kagawa {
    background-color: #589DD9;
}

.blog-li-inner.tokyo {
    border: 1px solid #4ABE88;
}

.blog-li:hover .blog-li-inner.tokyo {
    background-color: #4ABE88;
}

.blog-li-inner.osaka {
    border: 1px solid #FE6C39;
}

.blog-li:hover .blog-li-inner.osaka {
    background-color: #FE6C39;
}

@media screen and (max-width: 767px) {
    .blog-li .blog-li-inner.kagawa, .blog-li .blog-li-inner.tokyo, .blog-li .blog-li-inner.osaka {
        border: none;
    }

    .blog-li:hover .blog-li-inner.kagawa, .blog-li:hover .blog-li-inner.tokyo, .blog-li:hover .blog-li-inner.osaka {
        background-color: transparent;
    }
}

@media screen and (min-width: 768px) {
    .blog-li .post-list-category {
        transition: .3s;
        line-height: 1.5;
        padding: 2px 5px;
        padding-top: 3px;
        display: inline-block;
        color: #333333;
        border: 1px solid #8d8d8d;
        font-size: 11px;
        border-radius: 2px;
    }

    .blog-li:hover .post-list-category {
        color: #fff;
        border: 1px solid #fff;
    }

    .blog-li .post-list-title {
        transition: .3s;
        margin-bottom: 5px;
    }

    .blog-li:hover .post-list-title {
        color: #fff;
    }

    .blog-li .post-list-company {
        transition: .3s;
    }

    .blog-li:hover .post-list-company.kagawa, .blog-li:hover .post-list-company.tokyo, .blog-li:hover .post-list-company.osaka {
        color: #FFF;
    }

    .blog-li .post-list-date {
        transition: .3s;
    }

    .blog-li:hover .post-list-date {
        color: #FFF;
    }

    .blog-li .post-list-poster {
        transition: .3s;
    }

    .blog-li:hover .post-list-poster {
        color: #FFF;
    }

    .blog-li .post-list-date::before {
        transition: .3s;
    }
}

@media screen and (max-width: 767px) {
    .blog-li .post-list-date::before {
        display: none;
    }
}

.blog-li:hover .post-list-date::before {
    background-image: url(../images/blog/watch-w.svg);
}

.blog-single .tag-wrapper {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

.blog-body .poster-img {
    line-height: 1;
}

.time-poster-wrap {
    display: flex;
    line-height: 1;
}

@media screen and (min-width: 768px) {
    .time-poster-wrap {
        flex-flow: column;
    }
}

@media screen and (max-width: 767px) {
    .time-poster-wrap {
        display: flex;
        flex-direction: row-reverse;
        justify-content: flex-end;
        align-items: center;
        margin-top: 5px;
    }

    .blog-body .poster-col {
        margin-top: 0;
    }

    .blog-body .poster-img img {
        width: 20px;
        height: 20px;
    }

    .blog-li .post-list-date {
        margin-left: 10px;
    }
}

@media screen and (max-width: 767px) {
    .blog-body .poster-text {
        /*display: none;*/
    }
}

.top-newsletter {
    margin-bottom: 80px;
}

@media screen and (min-width: 768px) {
    .top-newsletter .container-fluid {
        padding-left: 50px;
        padding-right: 50px;
    }
}

.top-newsletter .newsletter-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding-top: 30px;
}

.top-newsletter .button-area {
    text-align: center;
}

.top-newsletter .button-area a {
    background-color: #0d296f;
    color: #fff;
    padding: 15px;
    font-size: 16px;
    width: 300px;
    display: inline-block;
    transition: .3s;
}

@media screen and (max-width: 767px) {
    .top-newsletter .button-area a {
        padding: 10px;
        font-size: 16px;
        width: 50%;
        border-radius: 50px;
    }
}

.top-newsletter .button-area a:hover {
    background-color: #586b9d;
}

.top-newsletter .newsletter-list {
    margin-bottom: 0;
}

.top-newsletter .title {
    color: #0d2a6f;
}

.top-movie .title {
    color: #0d2a6f;
}

section.top-message {
    background-color: #fff;
    padding: 50px;
    height: 100%;
    margin-bottom: 0;
}

@media screen and (max-width: 767px) {
    section.top-message {
        padding: 0 15px;
        margin-top: 30px;
    }
}

section.top-message .container-fluid {
    padding: 0;
}

section.top-message .top-message-row {
    position: relative;
    /*height: auto;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    justify-content: space-around;*/
    align-items: center;
    margin: 0;
    overflow: hidden;
    display: block;
}

section.top-message .title-box-wrap {
    position: absolute;
    z-index: 3;
    bottom: 30px;
    right: 0;
}

@media screen and (max-width: 767px) {
    section.top-message .title-box-wrap {
        position: absolute;
        z-index: 3;
        bottom: 20px;
        right: 0;
    }
}

section.top-message .title-box {}

section.top-message .title-box .en-title {
    font-family: 'Lato', sans-serif;
    font-size: 110px;
    line-height: 1;
    font-weight: bold;
    color: #0d2a6f;
    transform: skewX(-5deg);
    word-break: normal;
    overflow-wrap: normal;
}

@media screen and (min-width: 1200px) {
    section.top-message .title-box .en-title {
        font-size: 130px;
    }
}

section.top-message .title-box .title {
    font-size: 20px;
    line-height: 1;
    /* margin-top: 20px; */
    /* transform: skewX(5deg); */
    color: #0d2a6f;
    margin-top: 0;
}

@media screen and (max-width: 991px) {
    section.top-message .title-box .en-title {
        font-size: 80px;
    }

    section.top-message .title-box .title {
        font-size: 18px;
    }
}

@media screen and (max-width: 767px) {
    section.top-message .title-box .en-title {
        font-size: 50px;
    }
}

section.top-message .title-box .button {
    /* transform: skewX(5deg); */
    display: block;
    margin-top: 15px;
    width: 180px;
    text-align: right;
    margin-left: auto;
    margin-right: 0;
}

@media screen and (max-width: 767px) {
    section.top-message .title-box .button {
        display: none;
    }
}

section.top-message .title-box .button a {
    background-color: #FFF;
    color: #0d2a6f;
    border: 1px solid #0d2a6f;
    padding: 10px;
    display: inline-block;
    width: 100%;
    font-family: 'Lato', sans-serif;
    transition: .3s;
    text-align: center;
    font-size: 14px;
}

section.top-message .title-box .button a:hover {
    background-color: #0d2a6f;
    color: #fff;
}

section.top-message .top-message-bg {
    width: 70%;
}

@media screen and (max-width: 767px) {
    section.top-message .top-message-bg {
        width: 85%;
    }
}

section.top-message .top-message-bg a {
    display: block;
}

@media screen and (min-width: 768px) {
    section.top-message .title-box-sp .button {
        display: none;
    }
}

.blog-single #blog .blog-main-col aside .title-box h3 {
    display: block;
    font-weight: bold;
    border-bottom: 3px solid #1578cc;
    color: #1578cc;
    padding-bottom: 10px;
    padding-left: 5px;
    margin-top: 50px;
    margin-bottom: 25px;
    position: relative;
    font-size: 24px;
}

@media screen and (max-width: 767px) {
    .blog-single #blog .blog-main-col aside .title-box h3 {
        border-bottom: 2px solid #1578cc;
        font-size: 20px;
        text-align: center;
    }
}

.blog-single #blog .blog-main-col aside h3::before, .blog-single #blog .blog-main-col aside h3::after {
    display: none;
}

.blog-single #blog .blog-main-col aside .blog-li h3 {
    display: block;
    font-weight: bold;
    border-bottom: none;
    padding-bottom: 0;
    padding-left: 0;
    margin-top: 5px;
    margin-bottom: 5px;
    position: relative;
    font-size: 18px;
    line-height: 1.4;
}

@media screen and (max-width: 767px) {
    .blog-single #blog .blog-main-col aside .blog-li h3 {
        font-size: 14px;
        margin-top: 0;
        margin-bottom: 0;
    }
}

aside .blog-li .post-list-company {
    font-size: 20px;
}

@media screen and (max-width: 767px) {
    aside .blog-li .post-list-company {
        font-size: 16px;
        text-align: left;
        padding-left: 0;
        margin-top: 5px;
    }

    .blog-body aside .post-list-tag {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    section.top-message .title-box-sp {
        width: 100%;
        text-align: center;
    }

    section.top-message .title-box-sp .button a {
        background-color: #0d2a6f;
        color: #fff;
        padding: 10px;
        display: inline-block;
        font-family: 'Lato', sans-serif;
        margin-top: 15px;
        border-radius: 50px;
        width: 50%;
        font-size: 14px;
    }
}

.top-message-row-inner {
    position: relative;
}

.blog-ul li.no-post {
    white-space: nowrap;
    width: 100%;
    padding: 0;
}

#owl-example .item-box .bosyu {
    /*display: flex;
    align-items: center;*/
    display: inline-block;
}

#owl-example .item-box .bosyu.tokyo, #owl-example .item-box .bosyu.osaka {
    margin-left: 10px;
}

#owl-example .item-box .bosyu a {
    padding: 15px 35px;
    border-radius: 5px;
    letter-spacing: 0.1rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    position: relative;
    transition: .3s;
}

@media screen and (max-width: 767px) {
    #owl-example .item-box .bosyu a {
        justify-content: center;
    }
}

#owl-example .item-box .bosyu.kagawa a {
    color: #fff;
    background-color: #2a71cc;
}

#owl-example .item-box .bosyu.osaka a {
    color: #fff;
    background-color: #fe6c39;
}

#owl-example .item-box .bosyu.tokyo a {
    color: #fff;
    background-color: #218f5c;
}

@media screen and (max-width: 767px) {
    #owl-example .item-box .bosyu.kagawa a:hover {
        background-color: #589dd9;
    }

    #owl-example .item-box .bosyu.osaka a:hover {
        color: #fff;
        background-color: #d24e20;
    }

    #owl-example .item-box .bosyu.tokyo a:hover {
        background-color: #4ABE88;
    }
}

#owl-example .item-box .bosyu a::after {
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    background-image: url("../images/slide/top-arrow_w.svg");
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    position: absolute;
    right: 20px;
    transition: .3s;
}

#owl-example .item-box .bosyu a:hover::after {
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    background-image: url("../images/slide/top-arrow_w.svg");
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    position: absolute;
    right: 15px;
}

@media screen and (max-width: 991px) {
    #owl-example .item-box .bosyu a::after {
        display: none;
    }

    #owl-example .item-box .bosyu a:hover::after {
        display: none;
    }
}

#owl-example .item-box .bosyu p {
    margin: 0;
    padding-right: 20px;
}

@media screen and (max-width: 767px) {
    #owl-example .item-box .bosyu p {
        padding-right: 0;
        font-size: 13px !important;
    }
}

#owl-example .item-box .bosyu-box {
    display: flex;
    align-items: center;
}

section.top-services {
    background-color: #fff;
    padding: 50px;
    padding-bottom: 100px;
    height: 100%;
    margin-bottom: 0;
}

@media screen and (max-width: 767px) {
    section.top-services {
        padding: 0 15px;
        margin-top: 50px;
    }
}

section.top-services .container-fluid {
    padding: 0;
}

section.top-services .top-services-row {
    position: relative;
    /*height: auto;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    justify-content: space-around;*/
    align-items: center;
    margin: 0;
    overflow: hidden;
    display: block;
}

.top-services-row-inner {
    position: relative;
    display: flex;
    flex-direction: row-reverse;
}

section.top-services .top-services-bg {
    width: 70%;
}

@media screen and (max-width: 767px) {
    section.top-services .top-services-bg {
        width: 85%;
    }
}

section.top-services .top-services-bg a {
    display: block;
}

@media screen and (min-width: 768px) {
    section.top-services .title-box-sp .button {
        display: none;
    }
}

section.top-services .title-box-wrap {
    position: absolute;
    z-index: 3;
    bottom: 30px;
    left: 0;
}

@media screen and (max-width: 767px) {
    section.top-services .title-box-wrap {
        position: absolute;
        z-index: 3;
        bottom: 20px;
        right: 0;
    }
}

section.top-services .title-box {}

section.top-services .title-box .en-title {
    font-family: 'Lato', sans-serif;
    font-size: 110px;
    line-height: 1;
    font-weight: bold;
    color: #0d2a6f;
    transform: skewX(-5deg);
    word-break: normal;
    overflow-wrap: normal;
}

@media screen and (min-width: 1200px) {
    section.top-services .title-box .en-title {
        font-size: 130px;
    }
}

section.top-services .title-box .title {
    font-size: 20px;
    line-height: 1;
    /* margin-top: 20px; */
    /* transform: skewX(5deg); */
    color: #0d2a6f;
    margin-top: 0;
}

@media screen and (max-width: 991px) {
    section.top-services .title-box .en-title {
        font-size: 80px;
    }

    section.top-services .title-box .title {
        font-size: 18px;
    }
}

@media screen and (max-width: 767px) {
    section.top-services .title-box .en-title {
        font-size: 50px;
    }
}

section.top-services .title-box .button {
    /* transform: skewX(5deg); */
    display: block;
    margin-top: 15px;
    width: 180px;
    text-align: left;
    margin-left: 0;
    margin-right: auto;
}

@media screen and (max-width: 767px) {
    section.top-services .title-box .button {
        display: none;
    }
}

section.top-services .title-box .button a {
    background-color: #FFF;
    color: #0d2a6f;
    border: 1px solid #0d2a6f;
    padding: 10px;
    display: inline-block;
    width: 100%;
    font-family: 'Lato', sans-serif;
    transition: .3s;
    text-align: center;
    font-size: 14px;
}

section.top-services .title-box .button a:hover {
    background-color: #0d2a6f;
    color: #fff;
}

section.top-services.top-services-bg {
    width: 70%;
}

@media screen and (max-width: 767px) {
    section.top-services .top-services-bg {
        width: 85%;
    }
}

section.top-services .top-services-bg a {
    display: block;
}

@media screen and (min-width: 768px) {
    section.top-services .title-box-sp .button {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    section.top-services .title-box-sp {
        width: 100%;
        text-align: center;
    }

    section.top-services .title-box-sp .button a {
        background-color: #0d2a6f;
        color: #fff;
        padding: 10px;
        display: inline-block;
        font-family: 'Lato', sans-serif;
        margin-top: 15px;
        border-radius: 50px;
        width: 50%;
        font-size: 14px;
    }
}

.top-brand {
    padding-top: 80px;
    padding-bottom: 100px;
}

@media screen and (max-width: 991px) {
    .top-brand {
        padding-top: 30px;
        padding-bottom: 30px;
    }
}

@media screen and (min-width: 768px) {
    .top-brand .container-fluid {
        padding-left: 50px;
        padding-right: 50px;
    }
}

.top-brand .text {
    font-size: 16px;
    line-height: 2;
    margin-bottom: 15px;
    text-align: justify;
    word-break: break-all;
    text-justify: inter-ideograph;
    text-justify: inter-character;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

@media screen and (max-width: 767px) {
    .top-brand .text {
        line-height: 1.8;
    }
}

.top-brand .copy {
    font-size: 24px;
    line-height: 1.8;
    display: inline-block;
    margin-bottom: 15px;
    font-weight: bold;
    letter-spacing: 0.06em;
    text-align: justify;
    word-break: break-all;
    text-justify: inter-ideograph;
    text-justify: inter-character;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.top-brand .copy span {
    font-size: 20px;
    line-height: 1.8;
    display: block;
}

@media screen and (min-width: 1400px) {
    .top-brand .copy {
        font-size: 34px;
    }

    .top-brand .copy span {
        font-size: 22px;
    }

    .top-brand .text {
        font-size: 17px;
    }
}

@media screen and (min-width: 1200px) and (max-width: 1399px) {
    .top-brand .copy {
        font-size: 28px;
    }

    .top-brand .copy span {
        font-size: 20px;
    }

    .top-brand .text {
        font-size: 15px;
    }
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
    .top-brand .copy {
        font-size: 22px;
    }

    .top-brand .copy span {
        font-size: 18px;
    }

    .top-brand .text {
        font-size: 14px;
    }
}

@media screen and (max-width: 767px) {
    .top-brand .copy {
        font-size: 24px;
        line-height: 1.4;
        margin-bottom: 20px;
    }

    .top-brand .copy span {
        font-size: 16px;
        line-height: 1.8;
        display: block;
    }
}

.top-brand-row {
    align-items: center;
}

@media screen and (min-width: 992px) {
    .top-brand .image-box {
        padding-left: 30px;
    }
}

@media screen and (max-width: 991px) {
    .top-brand .image-box {
        margin-bottom: 30px;
    }
}

@media screen and (min-width: 992px) {
    .image-box-sp {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    .poster-wrap .right-side {
        margin-top: 15px;
    }
}

/*----------20231127----------*/
#blog .blog-aside-col .menu.tag {
    display: none;
}

/*----------20231225_追加----------*/
label[for="sekkei"] {
    display: none;
}

/*20240105_追加*/
/*合わせて4842行をコメントアウト_2267行padding: 10px 15px;に変更*/
#setsubi:checked~#setsubi_content {
    display: block;
}

/*20240109_追加*/
.menu-mege .menu__second-level>li a p {
    line-height: 1.4;
}

header ul.main-menu .menu__second-level li:last-of-type {
    padding-right: 5px;
}

header ul.main-menu .entry .menu__second-level {
    flex-wrap: wrap;
}

header ul.main-menu .entry .menu__second-level>li {
    width: 33.33%;
}

header ul.main-menu .entry .menu__second-level>.bottom-li {
    padding-top: 5px;
}

header ul.main-menu .entry .menu__second-level>.beginner a {
    position: relative;
}

header ul.main-menu .entry .menu__second-level>.beginner a:before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 30px;
    background-image: url("../images/beginner.svg");
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    position: absolute;
    left: 10px;
}

header ul.main-menu .entry .menu__second-level>.beginner a:after {
    content: '';
    display: inline-block;
    width: 20px;
    height: 30px;
    background-image: url("../images/beginner.svg");
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    position: absolute;
    right: 10px;
}

.modal-nav .beginner a:after {
    content: '';
    display: inline-block;
    width: 10px;
    height: 18px;
    background-image: url("../images/beginner.svg");
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
}

/*20240207*/
.interview-hero-box h2.copy, .interview-content-box h3.copy, .interview-content-box h3.midashi, .message-text h3.title, .department-col h3.title, #interview h3, #message h3, #works h3, #works h4.title {
    display: block;
}

.interview-content-box .interview-sec .copy, .interview-content-box.kagawa .offtime .midashi, #message h3 {
    line-height: 1.6;
}

.interview-content-box .message-text h3.title {
    font-size: 16px;
    padding-bottom: 10px;
    line-height: 1;
    color: #fff;
}

.interview-content-box .message-text h3.title:after {
    content: '';
    width: 80px;
    border-bottom: solid 2px white;
    display: block;
    padding-top: 10px;
}

/*20240216_リファラル採用*/
.referral .page-title-box-inner .en-title span {
    color: #589DD9;
}

@media screen and (max-width: 767px) {
    #referral {
        margin-top: 30px;
    }
}

#referral .referral-col {
    padding-top: 50px;
    /*padding-bottom: 50px;
    border-bottom: 1px solid #C1D8EB;*/
}

#referral .referral-col .title {
    color: #589DD9;
    font-size: 30px;
    margin-bottom: 15px;
    font-weight: 600;
}

@media screen and (max-width: 767px) {
    #referral .referral-col .title {
        font-size: 26px;
        text-align: center;
        position: relative;
        margin-bottom: 30px;
    }

    #referral .referral-col .title:before {
        content: "";
        position: absolute;
        background: #eef7ff;
        width: 70px;
        height: 70px;
        border-radius: 50%;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        z-index: -1;
    }
}

#referral .referral-col .text {
    font-size: 16px;
    margin-bottom: 0;
    line-height: 2;
    text-align: justify;
    word-break: break-all;
    text-justify: inter-ideograph;
    text-justify: inter-character;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

#referral .referral-col img {
    padding: 15px;
}

@media screen and (max-width: 767px) {
    #referral .referral-col img {
        padding: 15px 40px;
    }
}

#referral .referral-col .referral-link-box {
    margin-top: 50px;
}

@media screen and (max-width: 767px) {
    #referral .referral-col .referral-link-box {
        display: block;
    }
}

#referral .referral-col a {
    color: #fff;
    padding: 30px;
    width: 100%;
    display: block;
    text-align: center;
    font-size: 20px;
    font-weight: 600;
    border-radius: 10px;
    transition: .3s;
}

@media screen and (max-width: 991px) {
    #referral .referral-col a {
        padding: 20px;
    }
}

@media screen and (max-width: 767px) {
    #referral .referral-col a {
        padding: 20px 0;
        font-size: 16px;
        margin-bottom: 15px;
    }
}

#referral .referral-col .kagawa a {
    background-color: #589DD9;
}

#referral .referral-col .kagawa a:hover {
    background-color: #457dae;
}

#referral .referral-col .tokyo a {
    background-color: #4ABE88;
}

#referral .referral-col .tokyo a:hover {
    background-color: #399168;
}

#referral .referral-col .osaka a {
    background-color: #FE6C39;
}

#referral .referral-col .osaka a:hover {
    background-color: #d24e20;
}

#referral .referral-col hr {
    background-color: #C1D8EB;
    margin-top: 50px;
    margin-bottom: 0;
}

#referral .referral-col:last-of-type {
    margin-bottom: 100px;
}

/*20240219*/
@media screen and (min-width: 768px) {
    .hero-banner {
        position: absolute;
        bottom: 50px;
        z-index: 1;
        width: 180px;
        right: 30px;
        background-color: #fff;
        border-radius: 5px;
    }
}

@media screen and (max-width: 767px) {
    .hero-banner {
        position: absolute;
        top: 60px;
        z-index: 1;
        width: 100px;
        left: 15px;
    }
}

.hero-banner a {
    transition: .3s;
}

.hero-banner a:hover {
    opacity: 0.6;
}

footer .footer-footer .footer-col ul.second a.referral:before {
    color: #88a6bd;
}

/*--------------ローディング--------------*/
.load_inner {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    margin-left: -20px;
    margin-top: -20px;
}

.loading-wrap {
    position: fixed;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 2023;
    top: 0;
    left: 0;
}

.load {
    position: relative;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #cbedc4;
}

.load:after {
    position: absolute;
    top: 4px;
    left: 4px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #fff;
    z-index: 1;
    content: "";
}

.load div {
    width: 40px;
    height: 20px;
    border-radius: 20px 20px 0 0;
}

.load div:first-child {
    background: #53bbe3;
    transform-origin: 20px 20px;
    transform: rotate(0deg);
    animation: load1 0.5s linear 0s infinite normal;
}

@keyframes load1 {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@-webkit-keyframes load1 {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}


/*20240516_スライダー追加*/
.swiper-wrapper {
    /* wrapperのサイズを調整 */
    width: 100%;
}

.swiper-slide {
    /* スライドのサイズを調整、中身のテキスト配置調整、背景色 */
    color: #ffffff;
    width: 100%;
    height: 100%;
    text-align: center;
    padding: 0 10px;
}

/*.swiper-slide:nth-child(3n + 1) {
  background-color: #de4439;
}

.swiper-slide:nth-child(3n + 2) {
  background-color: #fcd500;
}

.swiper-slide:nth-child(3n + 3) {
  background-color: #53c638;
}*/

.swiper-pagination-bullets {
    width: 100px;
}

.swiper-pagination-bullet {
    width: 12px !important;
    height: 12px !important;
    margin: 0 0 0 10px !important;
    background: #fff;
}

.swiper-pagination-bullet:first-child {
    margin: 0 !important;
}

.swiper {
    padding-top: 30px;
    overflow: visible;
}

.swiper-scrollbar-wrapper {
    max-width: 100%;
    width: calc(100% - 300px);
    position: absolute;
    top: -20px;
    z-index: 111111;
    right: 0;
}

.swiper-scrollbar {
    position: relative !important;
    margin-top: 0;
    width: 100% !important;
    left: 0 !important;
    bottom: 0 !important;
    height: auto !important;
    border-radius: 0;
    background-color: transparent;
}

.swiper-scrollbar-drag {
    height: 20px;
    padding: 8px 0;
    cursor: pointer;
    background-color: #5C68D7;
    background-clip: content-box;
    border-radius: 0 !important;
}

.swiper-scrollbar::after {
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    margin: auto;
    content: "";
    background-color: #eee;
}

.swiper-button-wrapper {
    position: absolute;
    top: -50px;
    right: 0;
}

.swiper-button-wrapper-inner {
    position: relative;
    width: 100px;
}

.swiper-button-prev, .swiper-button-next {
    /*width: 50px;
    height: 50px;
    padding: 15px; */
}

.swiper-button-prev:after, .swiper-button-next:after {
    font-size: 28px;
    color: #0d296f;
}

@media screen and (max-width: 767px) {
    .swiper {
        display: flex;
        flex-flow: column;
    }

    .swiper-scrollbar-wrapper {
        order: 2;
        margin-top: 15px;
        margin-bottom: 15px;
        max-width: 100%;
        width: 100%;
        position: relative;
        top: 0;
        z-index: 111111;
        right: 0;
    }

    .swiper-button-wrapper {
        order: 3;
        position: relative;
        top: 0;
        right: 0;
        height: 30px;
    }

    .swiper-wrapper {
        width: 100%;
        order: 1;
    }

    .swiper-button-wrapper-inner {
        position: relative;
        width: 100%;
    }

    .swiper-button-next, .swiper-button-prev {
        margin-top: 0;
        height: 30px;
    }
}

.top-movie {
    overflow: hidden;
}


/*------ イニシャル化 ------*/
.initial {
    font-family: 'Lato', sans-serif;
}

.top-interview .initial {
    font-size: 24px;
}

.top-interview li.kagawa .initial {
    color: #589DD9;
}

.top-interview li.tokyo .initial {
    color: #4ABE88;
}

.top-interview li.osaka .initial {
    color: #fe6c39;
}

.interview-all-col .text-box .initial {
    font-size: 24px;
}

.interview-all-col .text-box .initial.kagawa {
    color: #589DD9;
}

.interview-all-col .text-box .initial.tokyo {
    color: #4abe88;
}

.interview-all-col .text-box .initial.osaka {
    color: #fe6c39;
}

.interview-all-col .text-box .joining {
    font-size: 14px;
    margin-top: 0;
}

.interview-hero-wrap .initial {
    font-size: 24px;
    color: #FFF;
}

/*-----大阪支店インタビュー-----*/
.osaka .interview-hero-box-inner .profile-box {
    background-color: #fe6c39;
}

.osaka .interview-hero-box-inner .tag p {
    color: #fe6c39;
}

.osaka .interview-hero-box {
    /* background-color: rgba(32, 59, 81, 0.1); */
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 60%, rgb(89 54 8 / 80%));
}

.interview-content-box.osaka .interview-sec .copy {
    color: #fe6c39;
}

.interview-content-box.osaka .offtime .midashi {
    color: #fe6c39;
}

.interview-content-box.osaka .message-box {
    background-color: #fe6c39;
}

.interview-content-box.osaka .offtime {
    background-color: #f9f9fc;
}

.section-title-box .en-title.osaka {
    color: #fe6c39;
}

.interview-all-col .text-box .en-title.osaka {
    color: #fe6c39;
}

.interview-all-col .mask.osaka {
    background-color: rgba(254, 108, 57, 0.7);
}

.top-interview .osaka .area {
    color: #fe6c39;
    text-transform: uppercase;
}

.top-interview li.osaka .en-title {
    color: #fe6c39;
}

.top-interview .button-area .osaka a {
    background-color: #fe6c39;
    color: #fff;
    padding: 20px 35px;
    font-size: 16px;
    transition: .3s;
}

.top-interview .button-area .kagawa {
    margin-right: 0;
}

.top-interview .button-area>div {
    padding: 0 7.5px
}

@media screen and (max-width: 767px) {
    .top-interview .button-area .osaka {
        margin: 0 auto;
        width: 50%;
        padding-left: 7.5px;
    }

    .top-interview .button-area .osaka a {
        background-color: #fe6c39;
        color: #fff;
        padding: 10px 0;
        font-size: 14px;
        border-radius: 3px;
    }

    .top-interview .button-area .osaka span {
        display: none;
    }
}

@media screen and (min-width: 768px) {
    .top-interview li a .image-box .mask.osaka {
        background-color: rgba(254, 108, 57, 0.7);
    }
}