@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;500;600;700&display=swap');

body {
    font-family: "Lato", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", Osaka, 'MS PGothic', arial, helvetica, sans-serif;
    color: #333;
}

.sp_only {
    display: none;
}

.container {
    padding: 50px 0;
    position: relative;
}

.inner {
    max-width: 1140px;
    margin: auto;
}

#container .inner {
    max-width: 1000px;
}

#container #p-fv .inner,
#container #read .inner {
    max-width: 1140px;
}

img {
    max-width: 100%;
}

h1.page_title {
    color: #7EBCDC;
    font-size: 64px;
    font-weight: 400;
    display: flex;
    align-items: center;
    letter-spacing: 0.1em;
}

h1.page_title.ja {
    color: #333;
    font-size: 48px;
    font-weight: 500;
}
h1.page_title.en {
    color: #333;
    font-size: 48px;
    font-weight: 100;
}
h1.page_title.small {
    font-size:42px;
}

h1.page_title img {
    margin-right: 19px;
    width: 17.8%;
}

h2 {
    text-align: center;
    color: #4b4b4b;
    padding-bottom: 30px;
    font-size: 24px;
    line-height: 38px;
    font-weight: 300;
    background: url(images/h2-back.svg) center bottom no-repeat;
    letter-spacing: 0.1em;
}

h2 p {
    position: relative;
    display: inline-block;
    font-size: 16px;
}

p {
    font-size: 14px;
    color: #4b4b4b;
    line-height: 28px;
}

h3 {
    font-size: 24px;
    text-align: center;
    font-weight: bold;
    line-height: 48px;
}

.concept h3 {
    font-size: 36px;
    line-height: 54px;
    font-weight: normal;
    color: #171C61;
}

h4 {
    font-size: 24px;
    text-align: center;
    font-weight: normal;
    line-height: 48px;
}

.page-recruit p.read_l {
    font-size: 96px;
    line-height: 96px;
    font-weight: bold;
    color: #f3f4f7;
    font-family: "LATO";
    letter-spacing: 0.1em;
}

.page-recruit p.read_l.d_h {
    position: absolute;
    transform-origin: left top;
    transform: rotate(90deg);
    left: 87px;
}

.back-type1:after {
    content: '';
    display: block;
    position: absolute;
    top: 250px;
    left: -20px;
    width: 240px;
    height: 380px;
    background: url(images/back-type1.svg) center center no-repeat;
}

.back-type2:after {
    content: '';
    display: block;
    position: absolute;
    top: 184px;
    right: 0;
    width: 316px;
    height: 304px;
    background: url(images/back-type2.svg) center right -40px no-repeat;
    z-index: -1;
}

.back-type3:after {
    content: '';
    display: block;
    position: absolute;
    top: 260px;
    right: 0;
    width: 240px;
    height: 380px;
    background: url(images/back-type1.svg) center center no-repeat;
    z-index: -1;
}

.back-type4:after {
    content: '';
    display: block;
    position: absolute;
    top: 400px;
    left: 30px;
    width: 100px;
    height: 97px;
    background: url(images/back-type3.svg) center center no-repeat;
}

#header {
    padding: 15px 0;
    position: relative;
    z-index: 999;
}

#header.page-recruit {
    background-color: #171C61;
}

#logo {
    width: 17%;
    max-width: 200px;
    padding: 12px 0;
}

#fv {
    line-height: 0;
    overflow: hidden;
    position: relative;
}

#fv img {
    width: 100%;
}

#main_img {
    text-align: center;
}

#main_img img {
    max-width: 1200px;
    width: 100%;
}


.v_wrap {
    text-align: -webkit-center;
    text-align: center;
}

.v_wrap video {
    width: 100%;
}

.playBtn {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    max-width: 100%;
    max-height: 100%;
}

/* .playBtn {
  opacity: 0;
} */
.playBtn.stop::before {
    position: absolute;
    content: "";
    background: url(images/stopbtn.png)no-repeat center;
    background-size: contain;
    top: 0;
    bottom: 15px;
    left: 0;
    right: 0;
    margin: auto;
    width: 82px;
    height: 82px;
    opacity: 0;
    transition: all ease .5s;
}

.playBtn.stop:hover::before {
    opacity: 1;
}

.playBtn.play:before {
    position: absolute;
    content: "";
    background: url(images/playbtn.png)no-repeat center;
    background-size: contain;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100px;
    height: 100px;
}

#navi a {
    color: #222;
}

.page-recruit #navi a {
    color: #fff;
}

#navi a:hover,
#navi a:hover span {
    color: #00b9fa;
}

/* #sec1 {
  background: url(images/sec1-1.png)no-repeat center right 25%;
  background-size: 20vw;
} */
/* #sec1 .inner {
  background: url(images/sec1-1.png)no-repeat center right;
  background-size: contain;
} */
#sec1 .inner {
    position: relative;
}

#sec1 .inner:after {
    content: '';
    position: absolute;
    top: -60px;
    right: 0;
    width: 264px;
    height: 483px;
    background: url(images/genking2.png)no-repeat center center;
    background-size: contain;
}

#sec1 .txtwrap {
    width: 75%;
    max-width: 680px;
}

#sec1 .txtwrap p {
    line-height: 36px;
}

#sec1 h3 {
    color: #465b6c;
    letter-spacing: .1rem;
    line-height: 1.6em;
}

#sec1 h3 span {
    color: #fff;
    background: #00b9fa;
    padding: 0 15px;
}

#sec1 strong {
    display: block;
    text-align: center;
    font-size: 130%;
    font-weight: bold;
    line-height: 1.6em;
    margin: 1.5em auto;
    letter-spacing: .3rem;
    color: #222;
}

.sec1-2 {
    text-align: center;
}

/* top recruit section */
.recruit h2 {
    width: 180px;
    margin: 0 auto;
    background-color: #fff;
    position: relative;
    z-index: 1;
}

.recruit .inner {
    max-width: 900px;
    border: 3px solid rgb(126 188 220 / 40%);
    position: relative;
    top: -30px;
    padding: 80px 3.5% 50px;
    z-index: 0;
    text-align: center;
    box-sizing: border-box;
}

.recruit p {
    font-size: 14px;
    line-height: 35px;
}

.container.media {
    background-color: #F4F6FA;
}

.media_list {
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
    gap: 50px 0;
}

.media_list li {
    width: 29%;
}

.media_list video {
    max-width: 100%;
}

.media_list .iframe_wrapper {
    max-width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    position: relative;
}

.media_list .iframe_wrapper iframe {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}

.media_keisai_list {
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
}

.news .inner {
    max-width: 1000px;
}

.news_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.news_list::after {
    display: block;
    content: "";
    width: 30%;
}

.news_list li {
    width: 30%;
    font-size: 14px;
    position: relative;
    padding-bottom: 30px;
}

.news_list .post_title {
    color: #333;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    margin: 10px 0;
    padding: 0 10px;
}

.news_list a:hover .post_title {
    color: #00b9fa;
}

.news_list .post_date {
    color: rgb(51 51 51 / 40%);
    text-align: right;
    position: relative;
    padding: 5px 10px;
}

.news_list .post_tag {
    position: absolute;
    top: -10px;
    left: 10px;
    z-index: 1;
    background-color: #7EBCDC;
    color: #fff;
    padding: 5px 10px;
}

.news_list .post_img {
    position: relative;
    overflow: hidden;
padding-top: 70%;
    background-size: cover;
    background-repeat: no-repeat;
background-position: top;
}

.about p,
.real p {
    font-size: 16px;
}

/* about page */
.page-about-en .read ,
.page-about-zh .read ,
.page-about .read {
    text-align: center;
    font-weight: bold;
    line-height: 32px;
    padding-top: 50px;
}

#about_our_company {
    display: flex;
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    justify-content: space-between;
}

#about_our_company li:nth-of-type(1) {
    width: 220px;
    text-align: center;
}

#about_our_company li:nth-of-type(3) {
    width: 220px;
    text-align: center;
}

#about_our_company li:nth-of-type(5) {
    width: 220px;
    text-align: center;
}

#about_our_company li:nth-of-type(2) {
    padding-top: 58px;
}

#about_our_company li:nth-of-type(4) {
    padding-top: 58px;
}

#about_our_company li {
    font-size: 12px;
    line-height: 24px;
}

#about_our_company li span {
    font-size: 14px;
    font-weight: bold;
    display: block;
    letter-spacing: 0.1en;
}

.container.koudou .inner {
    background: url(images/genking-sp3.png) no-repeat top 16% left;
    background-size: 39%;
    min-height: 640px;
    max-width: 940px;
    box-sizing: border-box;
    padding: 45px 0 0 22%;
}
@media all and (min-width:1440px) {
    .container.koudou .inner {
        padding: 45px 0 0 317px;
    }
    
}

.koudou_list {
    float: left;
    width: 50%;
    text-align: left;
}

.koudou_list li {
    background: url(images/back_policy.png) no-repeat center left;
    background-size: auto;
    min-height: 100px;
    text-align: center;
    padding: 0 20px 0 56px;
    box-sizing: border-box;
    font-size: 18px;
    font-weight: bold;
    color: #171C61;
    margin-bottom: 50px;
    white-space: nowrap;
}

body.en .koudou_list li {
    background: url(images/back_policy.png) no-repeat top left;
    padding: 0 20px 0 76px;
    text-align: left;
}

.koudou_list li span {
    letter-spacing: 0.1em;
    font-family: "Lato";
    font-size: 34px;
    display: block;
}

.container.service {
    background-color: #F4F6FA;
}

.container.service .inner {
    max-width: 900px;
    position: relative;
    min-height: 450px;
    height: 450px;
}

.container.about_company:after {
    content: '';
    display: block;
    position: absolute;
    bottom: -30px;
    right: 15px;
    width: 150px;
    height: 145px;
    background: url(images/back-type4.svg) center center no-repeat;
    z-index: 1;
}

.container.service:after {
    content: '';
    display: block;
    position: absolute;
    bottom: -174px;
    left: -113px;
    width: 361px;
    height: 304px;
    background: url(images/back-type7.svg) center center no-repeat;
    z-index: 1;
}

.container.koudou:after {
    content: '';
    display: block;
    position: absolute;
    bottom: 29px;
    left: 27px;
    width: 264px;
    height: 201px;
    background: url(images/back-type8.svg) center center no-repeat;
    z-index: 1;
}

.page-about .container.concept:after {
    content: '';
    display: block;
    position: absolute;
    top: 260px;
    right: 0;
    width: 218px;
    height: 250px;
    background: url(images/back-type9.svg) center right -40px no-repeat;
}

.container.service .inner.section1 .service_img {
    position: relative;
    top: -60px;
    left: -60px;
    z-index: 2;
    width: 64%;
}

.container.service .inner.section1 .service_txt {
    position: absolute;
    top: 90px;
    right: 0;
    width: 55%;
    background-color: rgb(255 255 255 / 80%);
    border-radius: 10px;
    padding: 75px 8%;
    box-sizing: border-box;
    z-index: 1;
}

.container.service .inner.section1:after {
    content: '';
    display: block;
    position: absolute;
    top: 75px;
    right: 30px;
    width: 426px;
    height: 318px;
    background: url(images/back-type5.svg) center center no-repeat;
    z-index: 0;
}


.container.service .inner.section2 .service_txt {
    position: relative;
    top: 75px;
    right: 0;
    width: 55%;
    background-color: rgb(255 255 255 / 80%);
    border-radius: 10px;
    padding: 60px 11%;
    box-sizing: border-box;
    z-index: 1;
}

.container.service .inner.section2 .service_img {
    position: absolute;
    top: -60px;
    right: -60px;
    z-index: 2;
    width: 64%;
}

.container.service .inner.section2:after {
    content: '';
    display: block;
    position: absolute;
    top: 55px;
    left: -20px;
    width: 514px;
    height: 358px;
    background: url(images/back-type6.svg) center center no-repeat;
    z-index: 0;
}

.container.kouken {
    background-color: #F4F6FA;
}

#kouken-img {
    display: flex;
    max-width: 960px;
    margin: 0 auto;
    justify-content: space-between;
    align-items: center;
    position: relative;
    top: -40px;
    font-size: 16px;
    line-height: 32px;
    font-weight: bold;
}

#kouken-img div:nth-of-type(1) {
    width: 33%;

}

body.en #kouken-img div:nth-of-type(1) ,
body.zh #kouken-img div:nth-of-type(1) {
    margin-right: -60px;
}

#kouken-img div:nth-of-type(2) {
    font-size: 14px;
    width: 33%;
}

body.en #kouken-img div:nth-of-type(2) ,
body.zh #kouken-img div:nth-of-type(2) {
    width: 52%;
    white-space: nowrap;
}

#kouken-img div:nth-of-type(3) {
    width: 33%;
}

body.en #kouken-img div:nth-of-type(3) ,
body.zh #kouken-img div:nth-of-type(3) {
    margin-left: -60px;
}


#kouken-img h3 {
    font-size: 45px;
    line-height: 70px;
    font-weight: bold;
    color: #171C61;
}

#kouken-img h4 {
    font-size: 30px;
    line-height: 60px;
    font-weight: bold;
    color: #171C61;
}

.kouken_desc {
    max-width: 1010px;
    margin: 0 auto;
    position: relative;
    top: -110px;
    box-shadow: 0 0 15px #ddd;
    background-color: #fff;
    box-sizing: border-box;
    padding: 30px 6%;
}

h4.subttl {
    font-weight: normal;
    font-size: 14px;
    line-height: 28px;
}

.map_wrap {
    display: flex;
}

#address {
    width: 49%;
    font-size: 14px;
    line-height: 28px;
}

#address table {
    margin-bottom: 20px;
    line-height: 28px;
}

#address table th {
    width: 26%;
    font-weight: bold;
    text-align: left;
}

#address table td {
    width: 74%;
    text-align: left;
}

#gmap {
    width: 61%;
}


.contact_form a {
    text-decoration: underline;
}

.contact_form dl {
    max-width: 772px;
    margin: 0 auto;
    font-size: 12px;
}

.contact_form label {
    cursor: pointer;
    font-size: 14px;
}

.contact_form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.contact_form select,
.contact_form textarea {
    width: 100%;
    border: 1px solid rgb(51 51 51 / 40%);
    box-sizing: border-box;
    padding: 15px;
}

.contact_form select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.contact_form .select_wrap {
    position: relative;
}

.page-contact-en .contact_form .select_wrap:after ,
.page-contact-zh .contact_form .select_wrap:after ,
.page-contact .contact_form .select_wrap:after {
    content: "";
    position: absolute;
    right: 15px;
    top: 20px;
    width: 10px;
    height: 10px;
    border-top: 2px solid rgb(51 51 51 / 40%);
    border-left: 2px solid rgb(51 51 51 / 40%);
    transform: translateY(-50%) rotate(-135deg);
    font-size: 20px;
    pointer-events: none;
}

.contact_form dt {
    padding: 30px 0 11px;
}

.page-contact-confirm-en .contact_form dt ,
.page-contact-confirm-zh .contact_form dt ,
.page-contact-confirm .contact_form dt {
    font-size: 16px;
}

.page-contact-confirm-en .contact_form dd ,
.page-contact-confirm-zh .contact_form dd ,
.page-contact-confirm .contact_form dd {
    font-size: 16px;
    font-weight: bold;
}

.page-contact-confirm-en .policy_check ,
.page-contact-confirm-zh .policy_check ,
.page-contact-confirm .policy_check {
    display: none;
}

.page-contact-en .contact_form dt span:nth-of-type(1) ,
.page-contact-zh .contact_form dt span:nth-of-type(1) ,
.page-contact .contact_form dt span:nth-of-type(1) {
            background-color: #7EBCDC;
    display: inline-block;
    border-radius: 5px;
    font-size: 12px;
    font-weight: bold;
    padding: 1px 6px;
    color: #fff;
    margin-right: 5px;
}

.page-contact-en .contact_form dt span:nth-of-type(2),
.page-contact-confirm-en .contact_form dt span:nth-of-type(1),
.page-contact-zh .contact_form dt span:nth-of-type(2),
.page-contact-confirm-zh .contact_form dt span:nth-of-type(1),
.page-contact .contact_form dt span:nth-of-type(2),
.page-contact-confirm .contact_form dt span:nth-of-type(1) {
    display: none;
}

.service_txt h3 {
    color: rgb(23 28 97 / 80%);
    font-size: 28px;
}

#sec2 {
    text-align: center;
}

.about_bgsec {
    background: url(images/sec2-bg.jpg)no-repeat center;
    background-size: cover;
    padding: 50px 0;
    margin-bottom: 50px;
}

#sec2 .catch {
    padding: 60px 0;
    font-size: 18px;
    line-height: 1.8em;
    font-weight: bold;
}

#movie_sec .video_list {
    width: 48%;
    margin: 30px 1%;
    float: left;
}

/*#movie_sec .video_list:nth-child(2){
  width:32%;
  margin:50px 2%;
}*/
#movie_sec .video_list video {
    max-width: 100%;
}

#movie_sec .video_list .iframe_wrapper {
    height: 0;
    padding-bottom: 56.25%;
    /* 16:9用アスペクト比指定 */
    position: relative;
}

#movie_sec .video_list .iframe_wrapper iframe {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}

#sec3 {
    background: url(images/sec3-bg.jpg)no-repeat center;
    background-size: cover;
}

#sec3 h3 {
    font-size: 24px;
    font-weight: bold;
    color: #0054a5;
    text-align: center;
    margin: 15px 0 10px;
}

#sec3 li a:hover,
#sec3 li a:hover h3,
#sec3 li a:hover p {
    opacity: .7;
    transition: all .3s;
}

.newswrap {
    margin-top: 50px;
}

.newswrap li {
    border-top: 1px solid #dadada;
    padding: 12px 0;
}

.newswrap li a {
    color: #222;
    padding-left: 15px;
    display: inline-block;
    margin-top: 5px;
}

.newswrap li a:hover {
    color: #00b9fa;
}

.newswrap li:last-child {
    border-bottom: 1px solid #dadada;
}

.newswrap .date {
    color: #4b4b4b;
    font-size: 14px;
    margin: 0 50px 0 20px;
    padding-left: 20px;
    position: relative;
}

.newswrap .date::before {
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    border-top: 3px solid #00b9fa;
    border-right: 3px solid #00b9fa;
    transform: rotate(45deg);
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}

.newsbtn {
    display: block;
    text-align: right;
    margin-top: 30px;
}

input[type=submit],
.bl-btn {
    background: #171C61;
    border: 1px solid #171C61;
    border-radius: 5px;
    padding: 8px 40px;
    color: #fff;
    font-size: 14px;
    display: inline-block;
    cursor: pointer;
}

input[type=submit]:hover,
.bl-btn:hover {
    background: #fff;
    color: #171C61;
}

.wh-btn {
    background: #fff;
    border: 1px solid #171C61;
    border-radius: 8px;
    padding: 10px 49px;
    color: #333;
    font-size: 14px;
    display: inline-block;
    font-weight: 300;
}

.wh-btn.bg-grey {
    background: #F4F6FA;
}

.wh-btn:hover {
    background: #171C61;
    color: #fff;
}

#sec5,
#guideline {
    background: linear-gradient(to bottom, #75d9fc, #24c3fb, #00b9fa);
    background: -moz-linear-gradient(to bottom, #75d9fc, #24c3fb, #00b9fa);
    text-align: center;
}

#sec5 h2 p::before,
#sec5 h2 p::after,
#guideline h2 p::before,
#guideline h2 p::after {
    background: #0054a5;
}

#sec5 p {
    color: #222;
    font-size: 16px;
    line-height: 1.8em;
}

#sec5 .catch {
    margin: 60px auto 30px;
    color: #fff;
}

.bg-opw {
    background: rgba(255, 255, 255, .9);
    padding: 40px 35px;
    margin: 40px 0 70px;
}

.bg-opw p {
    text-align: left;
}

#access.rowbox {
    flex-direction: row-reverse;
}

#access .txtwrap {
    background: #fff;
    padding: 30px 35px 70px;
    text-align: left;
    color: #222;
    box-sizing: border-box;
}

#access h3 {
    font-weight: bold;
    border-left: 5px solid #00b9fa;
    padding-left: 15px;
    margin-bottom: 15px;
}

.overview_belongs {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.overview_belongs .overview {
    width: 35%;
}

.overview_belongs .belongs {
    width: 60%;
}

.overview_belongs .belongs li {
    padding-left: 25px;
}

.overview_belongs .belongs .nopd {
    padding-left: 0px;
}

.overview_belongs .belongs .toppd {
    padding-top: 20px;
}

@media all and (max-width:769px) {
    .overview_belongs .overview {
        width: auto;
    }

    .overview_belongs .belongs {
        width: auto;
    }
}


.imglistarea {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-top: 40px;
}

.imglistarea .box {
    width: 48.5%;
}

.imglistarea .subttl {
    margin-bottom: 20px;
}

.imglistarea .box .imglist {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.imglistarea .box .imglist li {
    width: 48%;
    line-height: 0px;
    margin-bottom: 20px;
}

.imglistarea .box .imglist li:nth-child(n+3) {
    margin-bottom: 0px;
}

.imglistarea .box .imglist li img {
    width: 100%;
    margin-right: 0px;
}

@media all and (max-width:769px) {
    .imglistarea .box {
        width: auto;
    }

    .imglistarea .box:nth-child(1) {
        margin-bottom: 30px;
    }
}


#map {
    width: 100%;
    line-height: 0;
}

#footer {
    background-color: #171C61;
    position: relative;
    color: #fff;
}

.ftr_wrap {
    padding: 30px 0 20px;
}

.copyright {
    border-top: 1px solid rgb(255 255 255 / 20%);
    padding: 10px 0;
    font-size: 12px;
}

#topbtn {
    position: absolute;
    content: "";
    width: 90px;
    height: 50px;
    background: #fff;
    border-radius: 100%;
    top: -25px;
    left: 0;
    right: 0;
    margin: auto;
    cursor: pointer;
    transition: all .3s;
}

#topbtn:hover {
    box-shadow: 0 2px 4px 0px rgba(0, 0, 0, 0.5);
    transform: translateY(-5px);
}

#topbtn::before {
    position: absolute;
    content: "";
    background: url(images/top-icon.png)no-repeat center;
    background-size: contain;
    width: 45px;
    height: 16px;
    top: 10px;
    left: 0;
    right: 0;
    margin: auto;
}

#topbtn p {
    text-align: center;
    padding-top: 25px;
}

/* ------------------------------------------
新着情報
--------------------------------------------- */
#p-fv {
    height: 35vh;
}

.News_pg #p-fv {
    background: url(images/news_fv.jpg)no-repeat center;
    background-size: cover;
}

#p-fv h1 {
    text-align: center;
    padding: 15vh;
    font-size: 33px;
    color: #fff;
}

#breadcrumb {
    padding: 10px 0;
    margin-bottom: 30px;
    font-size: 14px;
    color: #555555;
}

#breadcrumb a {
    color: #555555;
}

.news-box {
    text-align: left;
    background: #fff;
    min-height: 0;
    border-bottom: 1px solid rgb(51 51 51 / 20%);
    padding: 15px 0;
    margin: 0;

}

.news-box a {
    display: flex;
    justify-content: space-between;
}

.trim {
    overflow: hidden;
    width: 30%;
    position: relative;
    height: 56px;
}

.new-txt {
    width: 68%;
    box-sizing: border-box;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.new-txt h4 {
    font-size: 14px;
    line-height: 28px;
    padding: 0;
    text-align: left;
}

.box-inner {
    color: #666;
}

.n-newswrap {
    padding-bottom: 70px;
}

#pager {
    text-align: center;
    margin: 50px auto 20px;
}

.wp-pagenavi a,
.wp-pagenavi span {
    border-color: #00b3f9;
    background: #fff;
    border-radius: 5px;
    color: #555555;
    padding: 3px 7px;
    border: none;
}

#pager span.current,
#pager a {
    width: 46px;
    height: 46px;
    border: 1px solid #171C61;
    border-radius: 23px;
    font-size: 14px;
    display: inline-block;
    padding: 0;
    margin: 10px;
    line-height: 46px;
    box-sizing: border-box;
    text-align: center;
}

#pager span.current {
    background: #171C61;
    color: #fff;
    font-weight: normal;
}

.search_box {
    display: flex;
    gap: 20px;
}

.condition-title {
    color: #171C61;
    font-size: 18px;
}

.condition select {
    border: none;
    border-bottom: 1px solid #333;
    height: 36px;
    line-height: 36px;
    padding-top: 10px;
    background: #fff;
}

#main.inner {
    max-width: 1080px;
}

/* ------------------------------------------
採用情報
--------------------------------------------- */
.aobox {
    width: 100%;
    max-width: 1200px;
    margin: auto;
}

.aobox img {
    width: 100%;
}

.text-center {
    text-align: center;
}

.flexbox {
    display: flex;
}

.box1 {
    width: 22%;
    margin: auto;
}

.box2 {
    width: 22%;
    margin: auto;
}

.box3 {
    width: 22%;
    margin: auto;
}

.box4 {
    width: 22%;
    margin: auto .5rem;
}

@media screen and (max-width: 640px) {
    .flexbox {
        display: block;
    }

    .flexbox .box1 {
        width: 100%;
        margin: 0 auto;
    }

    .flexbox .box2 {
        width: 100%;
        margin: 0 auto;
    }

    .flexbox .box3 {
        width: 100%;
        margin: 0 auto;
    }

    .flexbox .box4 {
        width: 100%;
        margin: 0 auto;
    }
}

.Recruit_pg {
    background: #171C61;
}

.Recruit_pg #p-fv {
    position: relative;
    overflow: hidden;
    padding-top: 40%;
    background: url(images/recruit-top.jpg?=20250417)no-repeat center;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    height: unset;
}


#read {
    background-color: #171C61;
    color: #fff;
    padding: 20px 0 60px;

}

.Recruit_pg #p-fv .inner {
    height: 100%;
    position: relative;
}

.Recruit_pg #p-fv h1 {
    padding: 0;
    text-align: left;
    position: absolute;
    bottom: 20px;
    font-weight: bold;
    font-size: 48px;
}

@media screen and (max-width: 768px) {
    .Recruit_pg #p-fv h1 {
        font-size: 4vw;
    }
}

.pt100 {
    padding-top: 100px;
}

.pt120 {
    padding-top: 120px;
}

.page-recruit h2 {
    font-size: 32px;
    font-weight: bold;
    line-height: 48px;
    color: #171C61;
    background: none;
    padding-bottom: 0;
}

.page-recruit p.read {
    font-size: 16px;
    line-height: 42px;
    font-weight: bold;
}

.page-recruit p {
    font-size: 16px;
    line-height: 32px;
text-shadow: 1px 1px 0px white;
}

.page-recruit .sec0 {
    padding-top: 120px;
}

.page-recruit .sec1 .inner {
    max-width: 1080px;
    padding: 0 20px;
    position: relative;
    box-sizing: border-box;
}

.page-recruit .sec1 h2 {
    line-height: 70px;
    position: absolute;
    top: 73px;
    left: calc(47% - 260px);
text-shadow: 2px 2px 0px white;

}

.page-recruit .sec1 {
    margin-top: 80px;
    background: url(images/recruit01.png) center left no-repeat;
    background-size: contain;
}

.page-recruit #about_us {
    padding-left: 47%;
}

.page-recruit .sec2 {
    margin-top: 120px;
    background: url(images/recruit02.png) center right no-repeat;
    background-size: auto 80%;
}

.page-recruit .sec2 .inner {
    text-align: left;
    /*background: url(images/charion_sense.svg) center left no-repeat;*/
    background-size: contain;
    position: relative;
}

.page-recruit .sec2 .inner #sense {
    padding: 120px 85px;
}

.page-recruit .sec2 h2 {
    text-align: left;
    font-size: 18px;
    color: #000;
}

.page-recruit .sec2 h2 span {
    font-size: 20px;
}

.page-recruit .sec2 ul {
    font-size: 18px;
    color: #171C61;
    border-top: 1px solid rgb(23 28 97 / 20%);
    border-bottom: 1px solid rgb(23 28 97 / 20%);
    width: 53%;
    margin: 25px 0;
    padding: 25px 0;
}

.page-recruit .sec2 ul li {
    height: 80px;
    line-height: 80px;
}

.page-recruit .sec2 ul span {
    font-size: 34px;
    font-weight: bold;
    padding-right: 20px;
}

.page-recruit .sec2 ul li:nth-of-type(4) div {
    display: inline;
}

.page-recruit .sec3 .inner,
.page-recruit .sec4 .inner {
    max-width: 1010px;

}

.page-recruit .sec4 {
    background: linear-gradient(180deg, #f3f4f7 0%, #f3f4f7 65%, #ffffff 65%, #ffffff 100%);
}

.page-recruit .sec4 h2 {
    text-align: left;
    font-size: 18px;
    color: #171C61;
}

.page-recruit .sec4 h2 span {
    font-size: 20px;
}

.page-recruit .sec4 ul {
    display: flex;
    justify-content: space-between;
}

.page-recruit .sec4 ul li {
    padding: 0 5px;
}

.staff_prof {
    background-color: #fff;
    position: relative;
    top: -80px;
padding: 13px 20px 0 20px;
    font-weight: 500;
    border-bottom: 4px solid #171C61;

}

.staff_prof_read {
    font-size: 18px;
    line-height: 36px;
}

.staff_prof_job {
    display: inline-block;
    font-size: 13px;
    line-height: 32px;
    letter-spacing: 0.1em;
    border-radius: 5px;
    padding: 0 15px;
    background: linear-gradient(130deg, rgba(227, 237, 243, 1) 0%, rgba(211, 212, 225, 1) 100%);
}

.staff_prof_name {
    font-size: 18px;
    line-height: 36px;
    padding-bottom: 5px;
}

.page-recruit .sec5 {
    margin-top: 40px;
    background: #454981;
}

.page-recruit .sec5 p {
    color: #fff;
    font-size: 16px;
    line-height: 42px;
}

.page-recruit .sec5 ul {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    max-width: 920px;
    margin: 60px auto 0;
    padding-bottom: 60px;
    gap: 60px 1%;

}

.page-recruit .sec5 ul li {
    width: 24%;
    padding: 0;
    box-sizing: border-box;
    position: relative;
}

.page-recruit .sec5 ul li div {
    position: absolute;
    top: 60%;
    width: 100%;
    text-align: center;
    font-size: 16px;
    line-height: 32px;
    font-weight: bold;
}

.page-recruit .sec5 ul li div span {
    font-size: 12px;
    white-space: nowrap;
}

.page-interview .sec6,
.page-recruit .sec6 {
    display: flex;
    justify-content: space-between;
    padding-top: 160px;
    background: #fff;
}

.page-interview .sec6 {
    padding-top: 130px;
}

.page-interview #sec6-1,
.page-recruit #sec6-1 {
    width: 68%;
    background: rgb(227, 237, 243);
    background: linear-gradient(130deg, rgba(227, 237, 243, 1) 0%, rgba(211, 212, 225, 1) 100%);
    padding: 160px 33% 160px 2%;
    text-align: right;
    box-sizing: border-box;
    font-size: 96px;
    font-weight: bold;
    font-family: "Lato";
    color: #171C61;
    letter-spacing: 0.1em;
}

.page-interview #sec6-2,
.page-recruit #sec6-2 {
    width: 32%;
    background: #454981;
    padding: 100px 5%;
    box-sizing: border-box;
    margin-top: 120px;
    font-size: 18px;
    font-weight: bold;
    font-family: "Lato";
    color: #fff;
    letter-spacing: 0.1em;

}

.page-interview #sec6-2 a,
.page-interview #sec6-2 a:visited,
.page-interview #sec6-2 a:active,
.page-interview #sec6-2 a:hover,
.page-recruit #sec6-2 a,
.page-recruit #sec6-2 a:visited,
.page-recruit #sec6-2 a:active,
.page-recruit #sec6-2 a:hover {
    color: #fff;
}

.page-interview #sec6-2:hover,
.page-recruit #sec6-2:hover {
    opacity: 0.8;
}

.page-interview {
    background: #fafafa;
}

.page-interview .container.sec1 {
    background: linear-gradient(180deg, #fff 0%, #fff 40%, #fafafa 40%, #fafafa 100%);
}

.page-interview .tab {
    max-width: 840px;
    width: 100%;
    margin: 0 auto;
}

.page-interview .tab ul {
    display: flex;
    justify-content: space-between;
}

.page-interview .tab ul li {
    width: 30%;
    font-weight: bold;
    border-bottom: 4px solid #cdcedb;
    line-height: 40px;
    cursor: pointer;
}

.page-interview .tab ul li.active {
    border-bottom: 4px solid #171C61;
}

.page-interview .tab ul span {
    display: block;
    font-size: 14px;
    font-weight: normal;
    line-height: 28px;
}

.page-interview .interview .inner {
    max-width: 1000px;
}

.page-interview .interview .sec1 {
    display: flex;
    justify-content: space-between;
}

.page-interview .interview {
    padding-top: 25px;
    padding-bottom: 0;
}

.title-time-schedule,
.page-interview .interview .prof_back_name {
    font-size: 96px;
    line-height: 96px;
    color: #efeff2;
    font-family: "Lato";
    font-weight: bold;
    letter-spacing: 0.1em;
    position: relative;
    bottom: -25px;
    z-index: 0;
    white-space: nowrap;
    width: 100%;
    overflow: hidden;
}

.page-interview #interview3 .prof_back_name {
    letter-spacing: 0;
}

.page-interview .interview .prof_img {
    width: 40%;
    z-index: 1;
}

.page-interview .interview .prof_name {
    width: 55%;
}

.page-interview .interview .read {
    font-size: 32px;
    line-height: 64px;
    text-align: left;
}

.page-interview .interview h2 {
    font-size: 24px;
    line-height: 40px;
    text-align: left;
    padding-top: 18px;
    padding-bottom: 30px;
    background: none;
    border-bottom: 1px dotted #cdcedb;
    font-weight: bold;
}

.page-interview .interview h2 span {
    font-size: 18px;
    line-height: 40px;
    text-align: left;
    display: inline-block;
    padding-left: 20px;
}

.page-interview .interview h3 {
    font-size: 18px;
    line-height: 36px;
    font-weight: bold;
    text-align: left;
    padding-top: 30px;
}

.page-interview .interview h3 span {
    display: block;
}

.page-interview .interview p {
    padding-top: 30px;
    font-size: 16px;
    line-height: 32px;
}

.page-interview .interview #name {
    position: relative;
    bottom: -14px;
    z-index: -1;
}

.title-border {
    display: flex;
    align-items: center;
    width: 70px;
}

.title-border:after {
    border-top: 1px solid;
    content: "";
    flex-grow: 1;
}

.title-border:after {
    margin-left: 1rem;
}

.page-requirements-thanks h1,
.page-requirements-confirm h1,
.page-requirements h1 {
    font-size: 36px;
    font-weight: bold;
    color: #171C61;
}

.page-requirements h2 {
    font-size: 24px;
    font-weight: bold;
    color: #171C61;
    background: none;
    padding-bottom: 0;
}

.page-requirements p {
    font-size: 16px;
    line-height: 32px;
    background: none;
    padding-bottom: 0;
}

.page-requirements .tab ul {
    display: flex;
    justify-content: space-between;
    max-width: 970px;
    width: 100%;
    margin: 0 auto;
    gap: 10px;
    box-sizing: border-box;
}

.page-requirements .tab ul li {
/*    max-width: 195px;*/
    width: 100%;
    height: 50px;
    line-height: 50px;
    text-align: center;
    background: #d1d2df;
    font-size: 14px;
    margin-top: 10px;
    cursor: pointer;
}

.page-requirements .tab ul li.active {
    background: #171C61;
    color: #fff;
    margin-top: 0;
    padding: 5px 0;
}

.page-requirements .tab {
    border-bottom: 4px solid #171C61;
}

.job .inner {
    max-width: 880px;
}

.job .inner h2 {
    height: 120px;
    background: #171C61;
    display: flex;
    justify-content: center;
    align-items: center;
}

.job .inner h2 div {
    display: inline-block;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    padding-bottom: 5px;
    border-bottom: 1px solid #fff;
}

.job table {
    max-width: 690px;
    width: 100%;
    margin: 0 auto;
}

.job table th {
    font-size: 13px;
    font-weight: bold;
    width: 23%;
    text-align: left;
    padding: 30px 10px;
    box-sizing: border-box;
    border-bottom: 1px solid #eeeef3;
}

.job table td {
    font-size: 13px;
    padding: 30px 10px;
    box-sizing: border-box;
    border-bottom: 1px solid #eeeef3;
}

.entry_form {
    background: #d6d9e5;
    text-align: center;
    margin-top: 100px;
}

.entry_form a {
    text-decoration: underline;
}

.entry_form_wrap {
    max-width: 1000px;
    margin: 0 auto;
    padding: 50px;
    background: #fff;
    margin-top: 50px;
    box-sizing: border-box;

}

.entry_form dl {
    font-size: 12px;
    box-sizing: border-box;
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 30px 0;
}

.entry_form dl dt {
    width: 20%;
    text-align: left;
}

.entry_form dl dd {
    width: 78%;
    text-align: left;
}

.entry_form label {
    cursor: pointer;
    font-size: 14px;
}

.entry_form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.entry_form select,
.entry_form textarea {
    width: 100%;
    border: 1px solid #f2f2f6;
    box-sizing: border-box;
    padding: 15px;
    background: #f2f2f6;
}

.entry_form select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.entry_form .select_wrap {
    position: relative;
}

.page-requirements .entry_form .select_wrap:after {
    content: "";
    position: absolute;
    right: 15px;
    top: 20px;
    width: 10px;
    height: 10px;
    border-top: 2px solid rgb(51 51 51 / 40%);
    border-left: 2px solid rgb(51 51 51 / 40%);
    transform: translateY(-50%) rotate(-135deg);
    font-size: 20px;
    pointer-events: none;
}

.entry_form dt {
    padding: 12px 0;
}

.page-requirements-confirm .entry_form dt {
    font-size: 16px;
}

.page-requirements-confirm .entry_form dd {
    font-size: 16px;
    font-weight: bold;
    padding: 12px 0;
}

.page-requirements-confirm .policy_check {
    display: none;
}

.page-requirements .entry_form dt span:nth-of-type(1) {
    background-color: #171C61;
    display: inline-block;
    border-radius: 5px;
    font-size: 12px;
    font-weight: bold;
    padding: 1px 6px;
    color: #fff;
    margin-right: 5px;
}

.page-requirements .entry_form dt span.spacer {
    background-color: #fff;
    display: inline-block;
    width: 20px;
}

.page-requirements .entry_form dt span:nth-of-type(2),
.page-requirements-confirm .entry_form dt span:nth-of-type(1) {
    display: none;
}





#guideline .inner {
    padding: 50px 0 90px;
}

#guideline h3 {
    font-size: 20px;
}

#guideline h2 p,
#guideline h3,
.guidetable caption,
.guidetable tr {
    color: #222;
}

#guideline .w-bg {
    background: #fff;
    border-radius: 10px;
}

.guidetable {
    font-size: 14px;
}

.guidetable tr {
    border-top: 1px solid #ddd;
}

.guidetable tr:first-child {
    border-top: none;
}

.guidetable th {
    font-weight: bold;
    background-color: #eee;
}

.guidetable td {
    text-align: left;
}

.entrybtn {
    background: url(images/btnbg.png)no-repeat center;
    background-size: cover;
    border-radius: 10px;
    display: block;
    padding: 30px 0;
    color: #fff;
    text-align: center;
    transition: all .3s;
}

.entrybtn:hover {
    opacity: .6;
}

.entrybtn span {
    position: relative;
    padding-right: 30px;
    font-size: 26px;
}

.entrybtn span::before {
    position: absolute;
    content: "";
    width: 30px;
    height: 39px;
    background: url(images/entry-icon.png)no-repeat center;
    background-size: contain;
    top: 0;
    bottom: 0;
    right: -20px;
    margin: auto;
}

.demo {
    width: 100%;
    margin: 0 auto;
    padding: 0 0 10px 0;
    font-family: sans-serif;
    color: #3cb3e4;
}

.heading {
    margin: 10px 0
}

.aotit .heading {
    color: #fff;
    position: relative;
    height: 40px;
    padding: 0;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    border-radius: 6px;
    background: #3cb3e4;
    border: 1px solid #3cb3e4;
    line-height: 40px;
}

.aotit .heading .caption:before {
    display: block;
    content: ' ';
    width: 0;
    height: 0;
    overflow: hidden;
    position: absolute;
    right: 99.9%;
    top: 0;
    border: 0 solid transparent;
    border-width: 40px 20px 0 0;
    border-right-color: #3cb3e4;
}

.aotit .heading .title {
    float: left;
    padding-left: 8px;
}

.demo7 .heading {
    position: relative;
    height: 30px;
    padding: 0;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    border-radius: 6px;
    border: 1px solid #3cb3e4;
    line-height: 30px;
}

.demo7 .heading .caption {
    position: absolute;
    font-size: 80%;
    right: 0;
    top: 0;
    padding-left: 25px;
    padding-right: 40px;
    background: #3cb3e4;
    color: #fff;
}

.demo7 .heading .caption:before {
    display: block;
    content: ' ';
    width: 0;
    height: 0;
    overflow: hidden;
    position: absolute;
    right: 99.9%;
    top: 0;
    border: 0 solid transparent;
    border-width: 30px 20px 0 0;
    border-right-color: #3cb3e4;
}

.demo7 .heading .title {
    float: left;
    font-size: 0.85rem;
    padding-left: 20px;
}

@media screen and(min-width:768px) {
    .wp-block-gallery {
        display: block !important;
        padding: 0;
    }
}

/* ------------------------------------------
フォーム
--------------------------------------------- */
.Form #p-fv {
    background: url(images/form_fv.jpg)no-repeat center;
    background-size: cover;
}

#form {
    background: rgba(255, 255, 255, .7);
    margin: 60px auto;
    padding: 0 20px;
    border-radius: 10px;
}

.form_table tr {
    border-top: 1px solid #e5e5e5;
}

.form_table tr:last-child {
    border-bottom: 1px solid #e5e5e5;
}

.form_table td input,
.form_table td textarea {
    display: block;
    width: 100%;
    border-radius: 5px;
    border: 1px solid #e1e1e1;
    box-sizing: border-box;
    padding: 10px;
    font-size: 13px;
}

.form_table td input[type="checkbox"] {
    display: inline-block;
    width: 15px;
    margin-right: 0;
}

span.wpcf7-list-item:first-child {
    margin: 0;
}

::-webkit-input-placeholder {
    color: #999999;
}

.form_table td.scroll .scroll_inner {
    background: #fff;
    padding: 15px;
    height: 200px;
    overflow-y: scroll;
    border: 1px solid #e1e1e1;
    border-radius: 5px;
    font-size: 80%;
}

.acceptance {
    font-size: 15px;
    margin-top: 10px;
}

.acceptance span.wpcf7-list-item {
    width: 15px;
    margin-left: 0;
    margin-right: 10px;
    vertical-align: sub;
}

#submit {
    display: block;
    text-align: center;
    padding: 30px 0;
}

#submit input[type="submit"] {
    background: #00b9fa;
    width: 100%;
    max-width: 220px;
    color: #fff;
    border: none;
    padding: 10px 0;
    cursor: pointer;
}

#submit input[type="submit"]:hover {
    background: #0053a6;
}

/* ------------------------------------------
シングルページ
--------------------------------------------- */

.singlepg .article {
    background: #fff;
    width: 66%;
    box-sizing: border-box;

}
.singlepg .article img{
width: 100%;

}
	

.singlepg h1 {
    text-align: left;
    font-size: 24px;
    font-weight: bold;
}

.singlepg h4 {
    text-align: left;
    ?font-size: 1rem;
}

.othernews h3 {
    text-align: left;
    font-size: 18px;
    line-height: 36px;
    font-weight: normal;
    border-bottom: 1px solid rgba(51, 51, 51, .2);
}

.singlepg .article p {
    line-height: 2em;
}

.post-meta {
    text-align: left;
    font-size: 14px;
    line-height: 32px;
    height: 32px;
}

.post-meta span {
    display: inline-block;
    border: 1px solid #7EBCDC;
    border-radius: 20px;
    height: 32px;
    line-height: 32px;
    padding: 0 20px;
    margin-left: 20px;
    box-sizing: border-box;
    color: #7EBCDC;
}

#news_pager {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 30px;
    padding-top: 8px;
}

#news_pager a {
    color: #666;
    font-size: 75%;
}

#news_pager a:hover {
    color: #00b9fa;
}

.othernews .new-txt {}

/* ------------------------------------------
プライバシーポリシー
--------------------------------------------- */
#policy {
    max-width: 900px;
    margin: 0 auto;
    font-size: 14px;
    line-height: 28px;
    padding-bottom: 50px;
}

#policy h2 {
    font-size: 20px;
    line-height: 40px;
    font-weight: bold;
    text-align: left;
    padding-top: 50px;
    background: none;
    padding-bottom: 0;
}

#policy p {
    padding-top: 20px;
}

#policy ol {
    list-style: auto;
    padding-left: 20px;
}

#policy .sig {
    padding-top: 20px;
    padding-left: 70%;

}
body.en #policy .sig{
    padding-left: 0;

}

.policy_tbl {
    margin-top: 20px;
}

.policy_tbl th,
.policy_tbl td {
    border: 1px solid #E2E1E1;
    padding: 5px 10px;
}

.policy_tbl th {
    text-align: center;
    background: #E2E1E1;
}

.Policy_pg #p-fv {
    height: 25vh;
    background: #00b9fa;
}

.Policy_pg #p-fv h1 {
    padding: 10vh;
}

#company_tbl {
    font-size: 14px;
    line-height: 28px;
    max-width: 880px;
    width: 100%;
    margin: 0 auto;
}

#company_tbl th,
#company_tbl td {
    padding: 30px 10px 30px 0;
    border-bottom: 1px solid rgba(51, 51, 51, .2);
    text-align: left;
}

#company_tbl th {
    font-weight: bold;
}
body.en #company_tbl th{
    width:20%;
}


#company_tbl td p.list {
    padding-left: 15px;
    position: relative;
}

#company_tbl td p.list:before {
    content: "･";
    position: absolute;
    left: 0;
}

#badge {
    display: flex;
    width: 100%;
    max-width: 750px;
    gap: 20px;
    justify-content: space-around;
    margin: 0 auto;
    align-items: center;
	text-align: center;
}

.company.policy {
    margin-bottom: 50px;
    overflow: hidden;
    padding: 2% 5%;
    background: #fff;
    font-size: 13px;
}

.company h2 {
    font-size: 30px;
    line-height: 50px;
    font-weight: 300;
    margin-bottom: 20px;
    text-align: left;
}

.company.policy h3 {
    font-size: 18px;
    margin: 30px 0 10px;
    text-align: left;
}

.company p {
    color: #666;
    line-height: 2em;
}

.company.policy .tar {
    margin-top: 50px;
    font-size: 14px;
    color: #666;
}

.border_table td,
.border_table th {
    border: 1px solid;
    padding: 5px;
}

.border_table th {
    background: #ccc;
}

/* ------------------------------------------
404 not foundページ
--------------------------------------------- */
.notfound h2 {
    font-size: 34px;
    font-weight: bold;
    margin-bottom: 40px;
}

.notfound h2 img {
    width: 10%;
    max-width: 100px;
    vertical-align: middle;
}

.cntdown {
    margin-top: 20px;
}

.backtotop {
    width: 95%;
    max-width: 300px;
    margin: 30px auto 0;
}

.backtotop a {
    display: block;
    border: 1px solid #15aeec;
    background-color: #49c0f0;
    background-image: -webkit-linear-gradient(top, #49c0f0, #2cafe3);
    background-image: linear-gradient(to bottom, #49c0f0, #2cafe3);
    border-radius: 4px;
    color: #fff;
    line-height: 50px;
    -webkit-transition: none;
    transition: none;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
    font-size: 24px;
}

.backtotop a:hover {
    border: 1px solid #1090c3;
    background-color: #1ab0ec;
    background-image: -webkit-linear-gradient(top, #1ab0ec, #1a92c2);
    background-image: linear-gradient(to bottom, #1ab0ec, #1a92c2);
}

.backtotop a:active {
    background: #1a92c2;
    box-shadow: inset 0 3px 5px rgba(0, 0, 0, .2);
    color: #1679a1;
    text-shadow: 0 1px 1px rgba(255, 255, 255, .5);
}

/*footer*/
.ftr_navi {
    display: table;
    font-size: 14px;
}

.ftr_navi li {
    display: table-cell;
    padding: 10px 24px;
}

.ftr_navi li a {
    color: #fff;
    text-decoration: none;
    display: inline-block;
    margin-top: 20px;
}

.ftr_navi li a:hover {
    color: #666;
}

.ftr_navi2 {
    display: table;
    font-size: 14px;
}

.ftr_navi2 li {
    display: table-cell;
    padding: 10px 24px;
}

.ftr_navi2 li a,
.ftr_navi2 li a:hover {
    color: #fff;
    text-decoration: underline;
    display: inline-block;
    margin-top: 20px;
}

.ftr_navi2 li a:hover {
    color: #666;
}

@media all and (min-width:769px) {

    /* ------------------------------------------
  PC用のスタイル記述
  --------------------------------------------- */
    #h-contact {
        line-height: 1.7em;
        color: #4b4b4b;
    }

    .tel {
        font-size: 24px;
        position: relative;
        padding-left: 34px;
    }

    .tel::before {
        position: absolute;
        content: "";
        background: url(images/tel-icon.png)no-repeat center;
        background-size: contain;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        width: 28px;
        height: 28px;
    }

    #h-contact span {
        font-size: 13px;
    }

    #navi {
        padding: 22px 0;
        text-align: center;
        position: relative;
        z-index: 2;
    }

    #navi ul {
        display: table;
        width: 100%;
    }

    #navi ul li {
        display: table-cell;
        vertical-align: middle;
        line-height: 0.2em;
        padding-left: 60px;
    }

    #navi ul li:last-child {}

    #navi li span {
        display: block;
        font-size: 70%;
        margin-top: 17px;
        color: #666;
    }

    h2 p::before,
    h2 p::after {
        position: absolute;
        content: "";
        background: #00b9fa;
        width: 15px;
        height: 5px;
        top: 0;
        bottom: 0;
        margin: auto;
    }

    h2 p::before {
        left: -30px;
    }

    h2 p::after {
        right: -30px;
    }

    .actionli_wrap li {
        float: left;
        width: 32%;
        margin-right: 2%;
        margin-bottom: 2%;
    }

    .actionli_wrap li:nth-child(3n) {
        margin-right: 0;
    }

    #sec3 .rowbox li {
        max-width: 275px;
    }

    .rowbox {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .rowbox.reverse {
        flex-direction: row-reverse;
    }

    .bg-opw img {
        width: 44%;
        margin-right: 2%;
    }

    #access {
        max-width: 1200px;
        margin: 0 auto 80px;
    }


    /* ------------------------------------------
  新着情報
  --------------------------------------------- */
    .n-newswrap li {
        float: left;
        width: 23.5%;
        margin-right: 2%;
    }

    .n-newswrap li:nth-child(4n) {
        margin-right: 0;
    }

    /* ------------------------------------------
  採用情報
  --------------------------------------------- */

    #guideline .w-bg {
        padding: 60px 100px;
    }

    .guidetable th {
        width: 20%;
        vertical-align: middle;
    }

    .guidetable tr:first-child th {
        border-radius: 10px 0 0 0;
    }

    .guidetable tr:last-child th {
        border-radius: 0 0 0 10px;
    }

    .guidetable td {
        width: 80%;
        padding: 15px;
    }

    /* ------------------------------------------
  フォーム
  --------------------------------------------- */
    .form_table {
        width: 100%;
        color: #222;
        font-size: 15px;
    }

    .form_table th {
        text-align: left;
        width: 30%;
        padding: 0 40px;
    }

    .form_table td {
        text-align: left;
        width: 70%;
        padding: 15px 40px 15px 0;
    }

    /* ------------------------------------------
  シングルページ
  --------------------------------------------- */
    .othernews {
        width: 29%;
        background: #fff;
        box-sizing: border-box;
    }

    /* ------------------------------------------
  404 not foundページ
  --------------------------------------------- */
    .notfound {
        width: 90%;
        max-width: 900px;
        margin: 100px auto;
        border: 10px solid #0053a6;
        border-radius: 20px;
        padding: 8% 5%;
        box-shadow: 0 0 7px #777;
        box-sizing: border-box;
    }

}

@media screen and (max-width:1288px) {
    .v_wrap video {
        ? width: 100%;
    }
}

@media screen and (min-width:769px) and (max-width:1220px) {
    .inner {
        width: 95% !important;
    }

    #navi ul li{
        padding-left:5vw;

    }
}

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

    /* ------------------------------------------
  tablet用ポートレート表示のスタイル記述
  --------------------------------------------- */
    .sp_only {
        display: block;
    }

    #sec1 p {
        line-height: 1.4em;
        text-shadow: 1px 1px 0px #ffffff;
    }

    .v_wrap {
        border-bottom: 1px solid #00b9fa;
    }

    .inner {
        width: 90%;
    }

    #header {
        padding: 0;
        line-height: 0;
    }

    #header .inner {
        margin: 0;
        width: 100%;
    }

    #header #logo {
        width: 31%;
        margin-left: 5%;
    }

    #spbtn_wrap {
        letter-spacing: -5px;
    }

    .h-cbtn {
        position: relative;
        max-width: 60px;
        display: inline-block;
        vertical-align: middle;
    }

    .h-cbtn::before {
        position: absolute;
        content: "";
        width: 35px;
        height: 35px;
        background: url(images/tel-icon.png)no-repeat center;
        background-size: contain;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
    }

    #openmenu {
        display: inline-block;
        position: relative;
        width: 53px;
        height: 53px;
        vertical-align: middle;
        padding: 13px;
        box-sizing: border-box;
        background: #171C61;
        z-index: 100;
    }

    #openmenu span {
        position: absolute;
        left: 0;
        width: 70%;
        height: 3px;
        background-color: #fff;
        border-radius: 4px;
        width: 60%;
        margin: auto;
        left: 0;
        right: 0;
    }

    #openmenu span:nth-of-type(1) {
        top: 14px;
    }

    #openmenu span:nth-of-type(2) {
        top: 25px;
    }

    #openmenu span:nth-of-type(3) {
        bottom: 14px;
    }

    #openmenu.active span:nth-of-type(1) {
        -webkit-transform: translateY(9px) rotate(-45deg);
        transform: translateY(9px) rotate(-45deg);
    }

    #openmenu.active span:nth-of-type(2) {
        opacity: 0;
    }

    #openmenu.active span:nth-of-type(3) {
        -webkit-transform: translateY(-15px) rotate(45deg);
        transform: translateY(-15px) rotate(45deg);
        bottom: 12px;
    }

    #navi {
        display: none;
        position: absolute;
        background: #171C61;
        width: 80%;
        right: 0;
        top: 0;
        padding-top: 58px;
        text-align: center;
        z-index: 50;
    }

    #navi a {
        color: #fff;
        font-size: 14px;
        line-height: 1;
    }

    
    #navi li {
        margin: 25px auto;
        padding-left: 40px;
        height: auto;
        text-align: left;
    }
    #navi li div a{
        display: inline-block;
        margin-top: 25px;
    }
    #navi li div a:last-of-type{
        margin-bottom: 10px;
    }

    #navi li span {
        display: block;
        font-size: 70%;
    }

    .playBtn.stop::before {
        background: url(images/stopbtn.png)no-repeat center;
        background-size: contain;
        top: 85%;
        left: 2%;
        margin: unset;
        width: 20px;
        height: 20px;
        opacity: 1;
        transition: 0s;
    }

    /*
  h2 span {
    display: block;
    margin-bottom: 15px;
    position: relative;
  }
  h2 span:before {
    position: absolute;
    content: "";
    background: #222;
    width: 50px;
    height: 3px;
    left: 0;
    right: 0;
    bottom: -12px;
    margin: auto;
  }*/
    #sec1 {
        background-size: 50%;
        background-position: top 200px right 0%;
    }

    #sec1 .txtwrap {
        width: 100%;
    }

    #sec1 strong {
        text-align: left;
        letter-spacing: 0;
        text-shadow: 1px 1px 0px #ffffff;
    }

    .about_bgsec {
        text-align: -webkit-center;
    }

    .actionli_wrap li {
        float: left;
        width: 49%;
        margin-right: 2%;
        margin-bottom: 2%;
    }

    .actionli_wrap li:nth-child(2n) {
        margin-right: 0;
    }

    #sec2 .catch {
        padding: 50px 0;
    }

    #sec3 .rowbox li a {
        margin: 30px auto;
        display: flex;
        justify-content: space-around;
        align-items: center;
    }

    #sec3 .rowbox li a.reverse {
        flex-direction: row-reverse;
    }

    #sec3 .rowbox li a img {
        width: 45%;
    }

    #sec3 .rowbox li a .txtbox {
        width: 50%;
        text-align: left;
    }

    .bg-opw {
        padding: 20px;
    }

    #sec5 .bg-opw p {
        font-size: 14px;
        line-height: 1.6em;
        margin-top: 10px;
    }

    .newswrap .date {
        display: block;
        margin: 0;
    }

    .newsbtn {
        text-align: center;
    }

    #access .txtwrap {
        margin-right: 0;
        padding: 5%;
    }

    #map {
        width: 100%;
    }

    .ftr_wrap #logo.fl {
        margin: auto;
        width: 50%;
    }

    .ftr_wrap a.sp {
        text-align: right;
        color: #222222;
        margin-top: 15px;
        text-decoration: underline;
    }

    /* ------------------------------------------
  新着情報
  --------------------------------------------- */
    #p-fv h1 {
        line-height: 1.2em;
        padding: 13vh;
    }

    #p-fv span.fs-xs {
        display: block;
        white-space: nowrap;
        font-size: 60%;
    }

    .n-newswrap li {
        float: left;
        width: 48%;
        margin-right: 4%;
        min-height: 0;
    }

    .n-newswrap li:nth-child(2n) {
        margin-right: 0;
    }

    .trim {
        height: 15vh;
    }

    /* ------------------------------------------
  採用情報
  --------------------------------------------- */

    #guideline .w-bg {
        padding: 10px;
    }

    #guideline h3 {
        font-size: 16px;
    }

    #guideline .m40 {
        margin: 20px auto;
    }

    .guidetable th,
    .guidetable td {
        display: block;
        width: 100%;
        padding: 10px;
        box-sizing: border-box;
    }

    .guidetable th {
        padding-bottom: 0;
        font-size: 110%;
    }

    .guidetable tr:first-child th {
        border-radius: 10px 10px 0 0;
    }

    .entrybtn span {
        font-size: 20px;
    }

    .entrybtn span::before {
        width: 23px;
        height: 24px;
        right: -10px;
    }

    /* ------------------------------------------
  フォーム
  --------------------------------------------- */
    .form_table tr {}

    .form_table th,
    .form_table td {
        display: block;
        width: 100%;
        padding: 10px 0;
    }

    .form_table th {
        padding-bottom: 0;
    }

    span.wpcf7-list-item {
        display: block;
        margin: 0;
    }

    .acceptance span.wpcf7-list-item {
        display: inline-block;
    }

    /* ------------------------------------------
  シングルページ
  --------------------------------------------- */
    .singlepg .article {
        float: none;
        width: 100%;
        display: block;
        padding: 4%;
    }

    .post-meta {
        margin-top: 20px;
    }

    #news_pager {
        margin-top: 10px;
    }

    /* ------------------------------------------
  404 not foundページ
  --------------------------------------------- */
    .notfound {
        margin: 70px auto;
    }

    .notfound h2 img {
        width: 30%;
        margin-bottom: 15px;
    }

    .notfound h2 {
        margin-bottom: 50px;
    }

    .backtotop {
        margin: 50px auto 0;
    }


    #movie_sec .video_list {
        width: 100%;
        margin: 30px 0;
        float: none;
    }

    #movie_sec .video_list:nth-child(2) {
        width: 100%;
        margin: 30px 0;
    }
}

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

    /* ------------------------------------------
  スマホ用ポートレート表示のスタイル記述
  --------------------------------------------- */
    #sec3 h3 {
        font-size: 5vw;
        text-align: left;
    }

    .playBtn::before {
        max-width: 50px;
        max-height: 50px;
    }

    /* ------------------------------------------
404 not foundページ
--------------------------------------------- */
    .notfound h2 {
        font-size: 8vw;
    }

    .backtotop a {
        font-size: 6vw;
    }

}

@media screen and (min-width:769px) and (max-width:1220px) {
    .inner {
        width: 95% !important;
    }
}

@media screen and (max-width:768px) {
    .ftr_navi {
        clear: both;
        float: none;
    }

    .ftr_navi li {
        display: block;
        padding: 10px 24px;
    }

    .ftr_navi2 li a,
    .ftr_navi li a {
        color: #fff;
        text-decoration: none;
        display: inline-block;
        margin-top: 20px;
    }

    .copyright {
        text-align: center;
    }

    .ftr_navi2 {
        clear: both;
        float: none;
        display: flex;
        justify-content: space-around;
        flex-direction: row-reverse;
    }

    .ftr_navi2 li {
        display: table-cell;
        padding: 10px 1%;
    }

    .ftr_navi2 li a {
        text-decoration: underline;
    }

    /*header*/
    #main_img {
        width: 90%;
        margin: 0 auto;
    }

    h1.page_title {
        margin-top: 40px;
        font-size: 36px;
    }

    h1.page_title img {
        margin-right: 0;
        width: 29%;
    }

    h1.page_title.ja {
        font-size: 6vw;
    }

    h1.page_title.en ,
    h1.page_title.small {
            font-size:25px;
    }

    #header>.inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    #header>.inner.clearfix:after {
        display: none;
    }

    /* privacy policy */
    #policy .sig {
        padding-left: 0;
        text-align: right;
    }

    .policy_tbl th:nth-of-type(1) {
        width: 40%;
    }

    .policy_tbl:nth-of-type(2) th:nth-of-type(1) {
        width: 50%;
    }

    .policy_tbl:nth-of-type(3) th:nth-of-type(1) {
        width: 30%;
    }

    /* company */
    #company_tbl th {
        font-size: 1.1rem;
        width: 100%;
        display: block;
        border-bottom: 1px solid rgba(51, 51, 51, .2);
        padding: 25px 0 10px 0;
    }

    #badge {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        max-width: 750px;
        gap: 20px 0;
        justify-content: space-around;
        margin: 0 auto;
        align-items: center;
    }

    #badge div {
        width: 30%;
        text-align: center;
    }

    /*media*/
    .media_list li {
        width: 100%;
    }

    /*news*/
    .search_box {
        flex-direction: column;
    }

    /*news*/
    .news_list li {
        width: 100%;
        margin-top: 50px;
        padding-bottom: 0px !important;
    }

    /*access*/
    .map_wrap {
        flex-direction: column;
        gap: 20px 0;
    }

    #address {
        width: 100%;
    }

    #gmap {
        width: 100%;
    }

    /*interview*/
    .page-interview .tab ul li {
        width: 100%;
        white-space: nowrap;
        padding: 0 5px;
        box-sizing: border-box;
    }

    .page-interview .interview .sec1 {
        flex-direction: column;
    }

    .page-interview .interview .prof_img {
        width: 100%;
    }

    .page-interview .interview .prof_name {
        width: 100%;
    }

    .page-interview .interview .read {
        font-size: 24px;
        line-height: 48px;
        text-align: left;
    }

    .page-interview .interview h2 span {
        font-size: 16px;
        line-height: 40px;
    }

    .staff_schedule {
        padding-top: 0;
    }

    .staff_schedule_img {
        position: relative;
        bottom: -14px;
        z-index: -1;
    }

    .page-interview .sec6,
    .page-recruit .sec6 {
        display: block;
        position: relative;
    }

    .page-interview #sec6-2,
    .page-recruit #sec6-2 {
        position: absolute;
        right: 0;
        bottom: 0;
        width: 80%;
        padding: 64px 17%;
        margin-top: 0;
        font-size: 18px;

    }


    .page-interview #sec6-1,
    .page-recruit #sec6-1 {
        width: 100%;
        padding: 0;
        padding-bottom: 200px;
        text-align: center;
        font-size: 72px;
    }

    .page-interview #sec6-1 div,
    .page-recruit #sec6-1 div {
        position: relative;
        top: -48px;
    }

    .page-interview #sec6-1 img,
    .page-recruit #sec6-1 img {
        position: relative;
        top: -35px;
        max-width: 80%;
    }

    /*entry*/
    .page-requirements-thanks h1,
    .page-requirements-confirm h1,
    .page-requirements h1 {
        font-size: 24px;
    }

    .page-requirements h2 {
        font-size: 18px;
    }

    .page-requirements p {
        font-size: 14px;
        line-height: 35px;
    }

    .page-requirements .tab {
        width: 100%;
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
    }

    .page-requirements .tab ul {
        width: 800px;
        max-width: 800px;
    }

    .page-requirements .tab ul li {
        padding-left: 10px;
        padding-right: 10px;
    }

    .job table th {
        border-bottom: none;
        display: block;
        width: 100%;
        padding-bottom: 15px;
    }

    .job table td {
        display: block;
        width: 100%;
        padding-top: 15px;
    }

    .entry_form dl {
        gap: 0px 0;
        flex-direction: column;
    }

    .entry_form dl dt {
        width: 100%;
        text-align: left;
    }

    .entry_form dl dd {
        width: 100%;
        text-align: left;
        padding-bottom: 30px;
    }

    .entry_form_wrap {
        padding: 50px 5%;
    }

    .page-requirements .entry_form dt span.spacer {
        display: none;
    }

    /*top*/
    h3 {
        font-size: 20px;
        line-height: 40px;
    }

    .back-type1:after {
        top: auto;
        bottom: -332px;
        left: -25px;
        width: 49%;
        height: 100%;
        background: url(images/back-type1.svg) center center no-repeat;
        background-size: 100% auto;
        z-index: -1;
    }

    .container.real {
        padding-top: 75px;
    }

    .back-type2:after {
        top: 184px;
        right: 0;
        width: 45%;
        height: 304px;
        background: url(images/back-type2.svg) center right -40px no-repeat;
        background-size: 100% auto;
        z-index: -1;
    }

    .concept h3 {
        font-size: 20px;
        text-align: left;
        line-height: 30px;
    }

    .concept h4 {
        font-size: 20px;
        line-height: 40px;
        text-align: left;
    }

    .concept #sec1 .inner:after {
        content: '';
        display: none;
    }

    .concept #sec1 {
        padding-top: 0;
        margin-top: 20px !important;
    }

    .concept #txtwrap_inner {
        position: relative;
    }

    .concept #sec1 .txtwrap #txtwrap_inner img {
        width: 56%;
        position: absolute;
        right: -18px;
        top: -117px;
        bottom: 0;
        top: auto;
        /* max-height: 376px; */
        max-width: 167px;
    }



    .concept #sec1 p {
        line-height: 35px;
        position: relative;
        z-index: 100;
    }

    .back-type3:after {
        content: '';
        display: block;
        position: absolute;
        top: auto;
        bottom: -226px;
        right: 0;
        width: 50%;
        height: 380px;
        background: url(images/back-type1.svg) top center no-repeat;
        background-size: 100% auto;
        z-index: -1;
    }

    .back-type4:after {
        display: none;
    }

    .page-about-en .read ,
    .page-about-zh .read ,
    .page-about .read {
        font-size: 16px;
        line-height: 32px;
    }

    #about_our_company {
        flex-wrap: wrap;
    }

    #about_our_company li:nth-of-type(3) {
        width: 100%;
        order: 1;
    }

    #about_our_company li:nth-of-type(2) {
        width: 50%;
        order: 2;
        height: 100px;
        padding-top: 10px;
    }

    #about_our_company li:nth-of-type(2) img {
        transform-origin: right top;

        transform: rotate(-62deg);
        width: 80px;
    }

    #about_our_company li:nth-of-type(4) {
        width: 50%;
        order: 3;
        padding-top: 10px;
    }

    #about_our_company li:nth-of-type(4) img {
        transform-origin: left top;
        transform: rotate(62deg);
        width: 80px;
    }

    #about_our_company li:nth-of-type(1) {
        width: 50%;
        order: 4;
    }

    #about_our_company li:nth-of-type(5) {
        width: 50%;
        order: 5;
    }

    #our_company .inner p {
        display: none;
    }

    .container.about_company:after {
        bottom: -65px;
        right: 0;
        width: 30%;
        height: 145px;
        background: url(images/back-type4.svg) center center no-repeat;
        z-index: 1;
        background-size: contain;
    }

    .container.service .inner.section2 .service_img,
    .container.service .inner.section1 .service_img {
        width: 100%;
        position: relative;
        top: 0;
        left: 0;
    }

    .container.service .inner.section2 .service_txt,
    .container.service .inner.section1 .service_txt {
        position: relative;
        top: -84px;
        left: 0;
        width: 100%;
        padding: 50px 5% 40px;

    }

    .container.service .inner.section2 .service_txt p,
    .container.service .inner.section1 .service_txt p {
        font-size: 12px;
        line-height: 24px;
        padding-top: 25px;
    }

    .container.service .inner.section2:after,
    .container.service .inner.section1:after {
        display: none;
    }

    .container.service .inner.section2 .service_txt_wrap,
    .container.service .inner.section1 .service_txt_wrap {
        position: relative;
    }

    .container.service .inner.section1 .service_txt_wrap:after {
        content: '';
        display: block;
        position: absolute;
        top: -84px;
        right: 0;
        width: 100%;
        height: 600px;
        background: url(images/back-type5.svg) top center no-repeat;
        z-index: 0;
        background-size: contain;
    }

    .container.service .inner {
        padding-top: 50px;
        height: auto;
        min-height: auto;
    }

    .container.service .inner.section2 {
        display: flex;
        flex-direction: column-reverse;
        padding-top: 0;
        margin-top: 0 !important;
        top: -40px;
    }

    .container.service .inner.section2 .service_txt_wrap:after {
        content: '';
        display: block;
        position: absolute;
        top: -64px;
        left: 0;
        width: 100%;
        height: 600px;
        background: url(images/back-type6.svg) top center no-repeat;
        z-index: 0;
        background-size: 100% auto;
    }

    .container.service:after {
        display: none;
    }

    .container.service {
        padding-bottom: 0;
    }

    .container.concept {
        padding-top: 100px;
    }

    .page-about .container.concept:after {
        bottom: auto;
        top: -64px;
        left: -70px;
        width: 60%;
        height: 500px;
        background: url(images/back-type7.svg) top center no-repeat;
        z-index: 1;
        background-size: 100% auto;
    }

    .service_txt h3 {
        font-size: 18px;
        line-height: 36px;
    }


    .container.koudou .inner {
        background: url(images/genking-sp2.png) no-repeat center left;
        background-size: contain;
        min-height: auto;
        max-width: 940px;
        box-sizing: border-box;
        padding: 45px 0 0 40%;
        width: 80%;
        background-position-y: bottom;
        background-position-x: left;

    }

    .koudou_list {
        float: none;
        clear: both;
        padding-top: 0 !important;
        width: 100%;

    }

    .koudou_list li span {
        font-size: 18px;
    }

    .koudou_list li {
        font-size: 10px;
        min-height: 59px;
        background-size: contain;
        margin-bottom: 20px;
        padding-top: 10px;
    }

    .container.koudou:after {
        bottom: -91px;
        left: 10px;
        width: 42%;
        height: 201px;
        background: url(images/back-type8.svg) center center no-repeat;
        z-index: 1;
        background-size: 100% auto;
    }

    /*recruit*/
    .page-recruit .sec0 {
        padding-top: 60px;
    }

    .page-recruit p {
        font-size: 14px;
    }

    .page-recruit p.read_l {
        font-size: 48px;
    }

    .page-recruit h2 {

        font-size: 24px;
        line-height: 36px;
    }

    .page-recruit p.read {
        font-size: 15px;
        line-height: 32px;
    }

    .page-recruit #about_us {
        padding-left: 0;
    }

    #about_us p.read_l {
        padding-top: 0 !important;
        text-align: right;
    }

    .page-recruit .sec1 {
        margin-top: 50px;
        background: url(images/recruit01.png) bottom left no-repeat;
        background-size: 90% auto;
        min-height: 390px;
    }

    .page-recruit .sec1 .inner {
        padding: 0;
    }

    .page-recruit .sec1 h2 {
        font-size: 24px;
        line-height: 48px;
        position: relative;
        top: 0;
        left: auto;
        right: 0;
        width: 100%;
        text-align: right;
		text-shadow: 2px 2px 0px white;
    }

    .page-recruit .sec2 {
        margin-top: 50px;
        background: none;
    }

    .page-recruit p.read_l.d_h {
        left: 60px;
        white-space: nowrap;
    }

    .page-recruit .sec2 .inner #sense {
        padding: 0 0 0 5%;
        position: relative;
        z-index: 100;
    }

    .page-recruit .sec2 ul {
        width: 100%;
    }

    .page-recruit .sec2 ul span {
        font-size: 24px;
        font-weight: bold;
        padding-right: 20px;
    }

    .page-recruit .sec2 ul {
        font-size: 14px;
        color: #171C61;
        border-top: 1px solid rgb(23 28 97 / 20%);
        border-bottom: none;
        width: 100%;
        margin: 25px 0 0;
        padding: 25px 0 0;
        box-sizing: border-box;
    }

    .page-recruit .sec2 ul li:nth-of-type(4) {
        display: flex;
        align-items: baseline;
    }

    .page-recruit .sec2 ul li:nth-of-type(4) span {
        display: inline-block;
    }

    .page-recruit .sec2 ul li:nth-of-type(4) div {
        display: inline-block;
        line-height: 18px;
    }

    .page-recruit .sec4 h2 {
        text-align: left;
        font-size: 18px;
        color: #171C61;
    }

    .page-recruit .sec4 ul {
        display: flex;
        justify-content: space-between;
        flex-direction: column;
    }

    .staff_prof {
        font-weight: 500;
    }


    .title-time-schedule,
    .page-interview .interview .prof_back_name {
        font-size: 2.2rem;
        line-height: 48px;
        color: #efeff2;
        font-family: "Lato";
        font-weight: bold;
        letter-spacing: 0.1em;
        position: relative;
        bottom: -12px;
        z-index: 0;
        white-space: nowrap;
        width: 100%;
        overflow: hidden;
        padding-top: 50px;
    }


    .page-recruit .sec5 p {
        color: #fff;
        font-size: 14px;
        line-height: 36px;
    }

    .page-recruit .sec5 ul {
        justify-content: space-between;
    }

    .page-recruit .sec5 ul li {
        width: 46%;
    }

    .page-recruit .sec5 ul li div {
        font-size: 14px;
        line-height: 29px;
        white-space: nowrap;
    }

    .page-recruit .sec5 ul li div span {
        font-size: 10px;
    }

    .page-recruit .sec5 h2 {
        font-size: 24px !important;
    }

    .page-recruit .sec5 h2 img {
        width: 48%;
    }

}

@media screen and (max-width: 1000px) {
    #kouken-img {
        flex-wrap: wrap;
        top: 0;
    }

    #kouken-img div:nth-of-type(1) {
        order: 2;
        width: 50%;

    }

    #kouken-img div:nth-of-type(2) {
        order: 1;
        font-size: 14px;
        width: 100%;
    }

    #kouken-img div:nth-of-type(3) {
        order: 3;
        width: 50%;

    }

    #kouken-img h3 {
        font-size: 36px;
        line-height: 60px;
    }

    .kouken_desc {
        top: -240px;
    }

    .container.kouken {
        padding-bottom: 240px;
    }



}


.prof_schedule h4 {
    font-size: 18px;
    font-weight: bold;
    border-bottom: 1px dotted #ccc;
}

.prof_schedule dl {
    display: flex;
    box-sizing: border-box;
    padding-bottom: 20px;
    position: relative;
    background: url("http://test.charion.co.jp/wp-content/themes/charion_renewal/images/schedule-back.gif") repeat-y;
}

.prof_schedule dl:nth-of-type(1) {
    margin-top: 20px;
}

.prof_schedule dl:last-child {
    background: none;
}

.prof_schedule dl dt {
    width: 64px;
    height: 64px;
    border-radius: 32px;
    font-size: 14px;
    font-weight: bold;
    line-height: 64px;
    text-align: center;
    box-shadow: 0 0 10px #ccc;
    box-sizing: border-box;
    background: #fff;
}

.prof_schedule dl dd {
    width: calc(100% - 64px);
    padding: 25px 20px 0;
    box-sizing: border-box;
}

.prof_schedule dl dd h5 {
    padding: 0;
    margin: 0;
    font-size: 14px;
    line-height: 14px;
    font-weight: bold;
    color: #171C61;
}

.interview .prof_schedule dl dd p {
    padding-top: 10px !important;
    font-size: 14px;
    line-height: 28px;
}

.inner-schedule {
    background-color: #fff;
    margin-top: 150px;
}

.inner-schedule .inner {
    position: relative;
    top: -75px;
}

@media screen and (max-width:768px) {
    .inner-schedule {
        margin-top: 60px;
    }

    .inner-schedule .inner {
        top: 0;
    }
}


.go3 {
    float: left;
}

.go3txt {
    clear: left;
}

.page-aokitest .read {
    text-align: center;
    font-weight: bold;
    line-height: 32px;
    padding-top: 50px;
}

.sdgs {
    text-align: center;
}

/*bihaku_page_20220214*/
.bihakurogo {
    opacity: 1 !important;
    padding-top: 15vw;
    padding-bottom: 5vw;
    width: 35%;
    margin: auto;
}

.bihakurogo-2 {
    margin-top: 10px;
    margin-bottom: 130px;
    width: 3%;
    margin: auto;
}

.page-concept_design {
    margin-top: 15vw;
}

.design01 {
    display: flex;
    margin-top: 8vw;
    width: 100%;
}

.design01__img {
    display: block;
    width: 50%;
}

.design02 {
    display: flex;
    flex-direction: row-reverse;
    margin-top: 8vw;
    width: 100%;
}

.design02__img {
    display: block;
    width: 50%;
}

.design03 {
    display: flex;
    margin-top: 8vw;
    margin-bottom: 8vw;
    width: 100%;
    flex-direction: row-reverse;
}

.design03__img {
    display: block;
    width: 50%;
}

.page_text_1 {
    font-size: 1.2vw !important;
    line-height: 2.5em !important;
    font-family: 游ゴシック;
    text-align: center !important;
    color: #2C2C2C;
    font-weight: 500;
    width: 50%;
}

.page_text_2 {
    font-size: 1.2vw !important;
    line-height: 2.5em !important;
    font-family: 游ゴシック;
    text-align: center !important;
    color: #2C2C2C;
    font-weight: 500;
    width: 50%;
}

.page_text_3 {
    font-size: 1.2vw !important;
    line-height: 2.5em !important;
    font-family: 游ゴシック;
    text-align: center !important;
    color: #2C2C2C !important;
    font-weight: 500;
    width: 50%;
}

.page_text_4 {
    font-size: 1.2vw !important;
    line-height: 2.5em !important;
    font-family: 游ゴシック;
    text-align: center !important;
    color: #2C2C2C;
    font-weight: 500;
    width: 50%;
}

.page-title_01 {
    font-size: 3.5vw;
    font-weight: normal;
    border-bottom: 1.5px solid #707070;
    width: 80%;
    font-family: Libre Baskerville;
    color: #707070;
    text-align: left !important;
}

.page-title_02 {
    font-size: 3.5vw;
    font-weight: normal;
    border-bottom: 1.5px solid #707070;
    width: 80%;
    font-family: Libre Baskerville;
    color: #707070;
    text-align: right !important;
}

.page-title_03 {
    font-size: 3.5vw;
    font-weight: normal;
    border-bottom: 1.5px solid #707070;
    width: 80%;
    font-family: Libre Baskerville;
    color: #707070;
    text-align: left !important;
}

.page-title_04 {
    font-size: 3.5vw;
    font-weight: normal;
    border-bottom: 1.5px solid #707070;
    width: 80%;
    font-family: Libre Baskerville;
    color: #707070;
    text-align: right !important;
}

.page_sub-title_01 {
    font-family: 'Noto Serif JP', serif;
    font-size: 2.5vw;
    color: #707070;
    text-align: left;
    width: 80%;
    margin-top: 1vw;
}

.page_sub-title_02 {
    font-family: 'Noto Serif JP', serif;
    font-size: 2.5vw;
    color: #707070;
    width: 80%;
    text-align: right;
    margin-top: 1vw;
}

.page_sub-title_03 {
    font-family: 'Noto Serif JP', serif;
    font-size: 2.5vw;
    color: #707070;
    text-align: left;
    width: 80%;
    margin-top: 1vw;
}

.page_sub-title_04 {
    font-family: 'Noto Serif JP', serif;
    font-size: 2.5vw;
    color: #707070;
    width: 80%;
    margin-top: 1vw;
    text-align: right;
}



/* ------------------------------------------
  スマホ用/ipad用
  --------------------------------------------- */
@media screen and (max-width: 768px) {
    .bihakurogo {
        opacity: 1 !important;
        width: 90%;
        padding-top: 100px;
        padding-bottom: 30px;
        text-align: center;
    }

    .bihakurogo-2 {
        margin-top: 10px;
        margin-bottom: 100px;
        width: 5%;
    }

    .design01 {
        text-align: center !important;
        width: 100%;
        margin-top: 50px;
        margin-bottom: 60px !important;
        display: block;
    }

    .design01__img {
        width: 80%;
        margin: 0 auto;
    }

    .design02 {
        text-align: center !important;
        width: 100% !important;
        margin-top: 50px;
        margin-bottom: 60px !important;
        display: block;
    }

    .design02__img {
        width: 80%;
        margin: 0 auto;
    }

    .design03 {
        text-align: center !important;
        width: 100% !important;
        margin-top: 50px;
        margin-bottom: 60px !important;
        display: block;
    }

    .design03__img {
        width: 80%;
        margin: 0 auto;
    }

    .page_text_1 {
        text-align: center;
        width: 100%;
        font-size: 3.5vw !important;
        line-height: 2.8em !important;
        font-family: 游ゴシック;
        margin-bottom: 30px;
    }

    .page_text_2 {
        text-align: center;
        width: 100%;
        font-size: 3.5vw !important;
        line-height: 2.8em !important;
        font-family: 游ゴシック;
        color: #2C2C2C;
        font-weight: 500;
        margin-bottom: 30px;
    }

    .page_text_3 {
        text-align: center;
        width: 100%;
        font-size: 3.5vw !important;
        line-height: 2.8em !important;
        font-family: 游ゴシック;
        color: #2C2C2C !important;
        font-weight: 500;
        margin-bottom: 30px;
    }

    .page_text_4 {
        text-align: center;
        width: 100%;
        font-size: 3.5vw !important;
        line-height: 2.8em !important;
        font-family: 游ゴシック;
        color: #2C2C2C;
        font-weight: 500;
        margin-bottom: 30px;
    }

    .page-title_01 {
        font-size: 8vw;
        font-weight: normal;
        line-height: 40px;
        border-bottom: 1px solid #707070;
        width: 80%;
        font-family: Libre Baskerville;
        color: #707070;
        text-align: center !important;
    }

    .page_sub-title_01 {
        font-family: 'Noto Serif JP', serif;
        font-size: 5.3vw;
        color: #707070;
        text-align: center;
        margin-top: 1vw;
    }

    .page-title_02 {
        font-size: 8vw;
        font-weight: normal;
        line-height: 40px;
        border-bottom: 1px solid #707070;
        width: 80%;
        font-family: Libre Baskerville;
        color: #707070;
        text-align: center !important;
    }

    .page_sub-title_02 {
        font-family: 'Noto Serif JP', serif;
        font-size: 5.3vw;
        color: #707070;
        text-align: center;
        margin-top: 1vw;
    }

    .page-title_03 {
        font-size: 8vw;
        font-weight: normal;
        line-height: 40px;
        border-bottom: 1px solid #707070;
        width: 80%;
        font-family: Libre Baskerville;
        color: #707070;
        text-align: center;
    }

    .page_sub-title_03 {
        font-family: 'Noto Serif JP', serif;
        font-size: 5.3vw;
        color: #707070;
        text-align: center;
        margin-top: 1vw;
    }

    .page-title_04 {
        font-size: 8vw;
        font-weight: normal;
        line-height: 40px;
        border-bottom: 1px solid #707070;
        width: 80%;
        font-family: Libre Baskerville;
        color: #707070;
        text-align: center !important;
    }

    .page_sub-title_04 {
        font-family: 'Noto Serif JP', serif;
        font-size: 5.3vw;
        color: #707070;
        text-align: center;
        margin-top: 1vw;
    }
}

/* ------------------------------------------
  20220314/AOKI追加コード
  --------------------------------------------- */
.bihaku_wrap {
    display: flex;
    max-width: 900px;
}

.bihaku_wrap2 {
    display: flex;
    flex-flow: row-reverse;
    max-width: 900px;
}

.righth5 {
    font-size: 40px;
    font-weight: bold;
    line-height: 48px;
    border-bottom: 3px solid #707070;
    width: 80% !important;
    font-family: 'Vollkorn', serif;
    text-align: right !important;
    color: #707070;
}

.lefth5 {
    font-size: 40px;
    font-weight: bold;
    line-height: 48px;
    border-bottom: 3px solid #707070;
    width: 80% !important;
    color: #707070;
    font-family: 'Vollkorn', serif;
    text-align: left !important;
}

.page_sub-title_99 {
    font-family: 游明朝 !important;
    font-size: 30px;
    color: #707070;
    text-align: right;
    width: 80%;
    margin-top: 10px;
}

.page_sub-title_98 {
    font-family: 游明朝 !important;
    font-size: 30px;
    color: #707070;
    text-align: left;
    margin-top: 10px;
    width: 80%;
}

.txtarealeft {
    width: 50%;
    font-size: 14px;
    line-height: 28px;
}

.imgarearight {
    display: block;
    width: 50%;
}

.txtarearight {
    width: 50%;
    font-size: 14px;
    line-height: 28px;
    text-align: right;
}

.imgarealeft {
    display: block;
    width: 50%;
}

.mtm100 {
    margin-top: -100px;
}

/* ------------------------------------------
  20220315/AOKI追加コードスマホ用
--------------------------------------------- */
@media screen and (max-width: 768px) {

    .bihaku_wrap,
    .bihaku_wrap2 {
        flex-direction: column;
        gap: 20px 0;
    }

    .righth5 {
        font-size: 32px;
        font-weight: bold;
        line-height: 48px;
        border-bottom: 3px solid #707070;
        width: 100% !important;
        text-align: center !important;
        color: #707070;
        font-family: 'Vollkorn', serif;
    }

    .lefth5 {
        font-size: 32px;
        font-weight: bold;
        line-height: 48px;
        border-bottom: 3px solid #707070;
        width: 100% !important;
        color: #707070;
        text-align: center !important;
        font-family: 'Vollkorn', serif;
    }

    .page_sub-title_99 {
        font-family: 游明朝 !important;
        font-size: 20px;
        color: #707070;
        text-align: center;
        width: 100%;
        margin-top: 10px;
    }

    .page_sub-title_98 {
        font-family: 游明朝 !important;
        font-size: 20px;
        color: #707070;
        text-align: center;
        margin-top: 10px;
        width: 100%;
    }

    .txtarealeft {
        width: 100%;
        font-size: 14px;
        line-height: 28px;
        text-align: center;
    }

    .imgarearight {
        display: block;
        width: 100%;
    }

    .txtarearight {
        width: 100%;
        font-size: 14px;
        line-height: 28px;
        text-align: center;
    }

    .imgarealeft {
        display: block;
        width: 100%;
    }
}

/* ------------------------------------------
  20220316/AOKI追加コード
  --------------------------------------------- */
.bihaku_area1140 {
    display: flex;
    max-width: 1240px;
    /* ---------ズレ調整のため、100px余分に幅取り-------- */
    align-items: center;
    padding-right: 100px;
}

.bihaku_area1140 p {
    font-size: 15px;
    line-height: 2.5em !important;
    font-weight: 500;
}

.bihaku2_area1140 {
    display: flex;
    flex-flow: row-reverse;
    max-width: 1140px;
    align-items: center;
}

.bihaku2_area1140 p {
    font-size: 15px;
    line-height: 2.5em !important;
    font-weight: 500;
}

.right2h5 {
    font-size: 40px;
    font-weight: bold;
    line-height: 48px;
    border-bottom: 3px solid #707070;
    width: 1140px !important;
    font-family: 'Vollkorn', serif;
    text-align: right !important;
    color: #707070;
}

.left2h5 {
    font-size: 40px;
    font-weight: bold;
    line-height: 48px;
    border-bottom: 3px solid #707070;
    width: 1140px !important;
    color: #707070;
    font-family: 'Vollkorn', serif;
    text-align: left !important;
}

.page_sub-title_97 {
    font-family: 游明朝 !important;
    font-size: 30px;
    color: #707070;
    text-align: right;
    width: 1140px;
    margin-top: 10px;
}

.page_sub-title_96 {
    font-family: 游明朝 !important;
    font-size: 30px;
    color: #707070;
    text-align: left;
    margin-top: 10px;
    width: 1140px;
}

.txtarea2left {
    width: 50%;
}

.imgarea2right {
    display: block;
    width: 50%;
}

.imgarea2right img {
    padding-left: 100px;
}

.txtarea2right {
    width: 50%;
    text-align: right;
    padding-left: 200px;
}

.imgarea2left {
    display: block;
    width: 50%;
}

/* ------------------------------------------
  20220316/AOKI追加コードスマホ用
--------------------------------------------- */
@media screen and (max-width: 768px) {
    .bihaku_area1140 {
        display: block;
        width: 100%;
        text-align: center !important;
        padding-right: 0px !important;
    }

    .bihaku_area1140 p {
        font-size: 0.8rem;
        line-height: 2.5em !important;
        font-weight: 500;
        text-align: center !important;
    }

    .bihaku2_area1140 {
        display: block;
        width: 100%;
        text-align: center !important;
    }

    .bihaku2_area1140 p {
        font-size: 0.8rem;
        line-height: 2.5em !important;
        font-weight: 500;
    }

    .right2h5 {
        font-size: 2rem;
        font-weight: bold;
        line-height: 48px;
        border-bottom: 3px solid #707070;
        width: 100% !important;
        font-family: 'Vollkorn', serif;
        color: #707070;
        text-align: center !important;
    }

    .left2h5 {
        font-size: 2rem;
        font-weight: bold;
        line-height: 48px;
        border-bottom: 3px solid #707070;
        width: 100% !important;
        color: #707070;
        font-family: 'Vollkorn', serif;
        text-align: center !important;
    }

    .page_sub-title_97 {
        font-family: 游明朝 !important;
        font-size: 1.5rem;
        color: #707070;
        text-align: center !important;
        width: 100%;
        margin-top: 10px;
    }

    .page_sub-title_96 {
        font-family: 游明朝 !important;
        font-size: 1.5rem;
        color: #707070;
        text-align: center !important;
        margin-top: 10px;
        width: 100%;
    }

    .txtarea2left {
        width: 100%;
    }

    .imgarea2right {
        display: block;
        width: 100%;
    }

    .imgarea2right img {
        padding-left: 0px;
    }

    .txtarea2right {
        width: 100%;
        text-align: right;
        padding-left: 0px !important;
    }

    .imgarea2left {
        display: block;
        width: 100%;
    }
}

#member span {
    font-weight: bold;
}

@media screen and (max-width: 767px) {
    #company_tbl td {
        display: block;
        font-size: 0.8rem;
        padding: 20px 0 20px 0;
        border-bottom: 1px solid rgba(51, 51, 51, .2);
        text-align: left;
    }
}

#company_tbl span {
    font-weight: bold;
}

/* ------------------------------------------
  20230607/HAMADA追加コードスマホ切替
--------------------------------------------- */
.sp{
display:none;
}

@media screen and (max-width: 768px){
.sp{
display:block;
}
.pc{
display:none;
}
}
/* ------------------------------------------
  20250327/AOKI追加コードカルーセル
--------------------------------------------- */
#carousel3d{
  .carousel-3d-slide{
    display: flex;
    flex:1;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    background-color: #fff;
    padding: 10px;
    transition: all .4s;
    &.current{
      background-color: #333;
      color: #fff;
      span{
        font-size: 20px;
        font-weight: 500;
      }
    }
  }
}