<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";
/* Top CSS */
/* _setting CSS */
/* Desktops and laptops */
@media print, screen and (min-width: 751px) {
  .eng_title {
    display: block;
    background-repeat: no-repeat;
    text-indent: 120%;
    white-space: nowrap;
    overflow: hidden;
    z-index: 1;
  }

  .link_btn {
    text-align: center;
  }
  .link_btn a {
    display: block;
    background-repeat: no-repeat;
    text-indent: 120%;
    white-space: nowrap;
    overflow: hidden;
    width: 166px;
    height: 45px;
    background: url("../images/common/more_link.svg") no-repeat;
    margin: 0 auto;
  }
  .link_btn a:hover {
    opacity: .8;
  }

  .link_staff_btn {
    text-align: center;
  }
  .link_staff_btn a {
    display: block;
    background-repeat: no-repeat;
    text-indent: 120%;
    white-space: nowrap;
    overflow: hidden;
    width: 266px;
    height: 45px;
    background: url("../images/top/staff_link.svg") no-repeat;
    margin: 0 auto;
  }
  .link_staff_btn a:hover {
    opacity: .8;
  }

  #mv_top {
    width: 100%;
    height: calc(100vw * 696 / 1300);
    max-height: calc(100vh - 85px);
    min-height: 595px;
    position: relative;
    margin-bottom: 130px;
  }
  #mv_top #movie {
    overflow: hidden;
    position: relative;
    height: 596px;
    height: calc(100vw * 696 / 1300);
    min-height: 595px;
    max-height: calc(100vh - 85px);
  }
  #mv_top #movie iframe {
    position: absolute;
    width: 100%;
    max-width: 1500px;
    height: 100%;
    left: 50%;
    top: 50%;
    transform: translate3d(-50%, -50%, 0) scale(1.28);
    z-index: -1;
  }

  #kv_top {
    position: relative;
    width: 100%;
    min-width: 1000px;
    height: calc(100vw * 696 / 1300);
    max-height: calc(100vh - 85px);
    background: url("../images/top/kv01.jpg") center center/cover no-repeat;
    margin-bottom: 130px;
  }
  #kv_top .kv_desc {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    display: block;
    background-repeat: no-repeat;
    text-indent: 120%;
    white-space: nowrap;
    overflow: hidden;
    background: url("../images/top/kv_title.png") center center/cover no-repeat;
    width: 382px;
    height: 251px;
  }

  #message {
    position: relative;
    padding-top: 50px;
    margin-bottom: 125px;
    overflow: hidden;
  }
  #message .bg {
    width: 1300px;
    background-color: #f3f0ed;
    padding-top: 70px;
    padding-bottom: 40px;
    margin: 0 auto;
  }
  #message .eng_title {
    position: absolute;
    background: url("../images/top/message_eng_title.svg") center 0/100% no-repeat;
    width: 404px;
    height: 63px;
    top: 5px;
    right: 0;
  }
  #message .inner {
    position: relative;
    width: 1150px;
    margin: 0 auto;
  }
  #message .cont_wrap {
    padding-left: 630px;
  }
  #message .message_title {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 3.2rem;
    margin-bottom: 30px;
  }
  #message .message_stitle {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 2.2rem;
    margin-bottom: 35px;
  }
  #message .desc {
    font-size: 1.6rem;
    line-height: 2.25;
    margin-bottom: 30px;
  }
  #message .image {
    position: absolute;
    top: -120px;
    left: -105px;
  }
  #message .link_btn a {
    margin-right: 70px;
  }

  #features {
    margin-bottom: 145px;
  }
  #features .title {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 3.2rem;
    text-align: center;
    background: url("../images/top/features_title.svg") no-repeat;
    background-position: center bottom;
    background-size: 85px 22px;
    padding-bottom: 40px;
    margin-bottom: 60px;
  }
  #features .title span {
    display: inline-block;
    font-size: 4rem;
    padding: 0 8px;
  }
  #features .list {
    width: 1050px;
    display: flex;
    justify-content: space-between;
    margin: 0 auto 85px;
  }
  #features .list .item {
    position: relative;
    width: 330px;
  }
  #features .list .item.item1 {
    background-color: #e5d7d1;
  }
  #features .list .item.item1:before {
    background: url("../images/top/feature_feature1_num.svg") center top/100% no-repeat;
  }
  #features .list .item.item2 {
    background-color: #d1dde5;
  }
  #features .list .item.item2:before {
    background: url("../images/top/feature_feature2_num.svg") center top/100% no-repeat;
  }
  #features .list .item.item3 {
    background-color: #e4e5d1;
  }
  #features .list .item.item3:before {
    background: url("../images/top/feature_feature3_num.svg") center top/100% no-repeat;
  }
  #features .list .item:before {
    content: '';
    display: block;
    position: absolute;
    left: -10px;
    top: -10px;
    width: 56px;
    height: 56px;
    z-index: 1;
  }
  #features .list a {
    display: block;
    text-align: center;
    text-decoration: none;
    padding-bottom: 23px;
  }
  #features .list a:hover img {
    transform: scale(1.1);
  }
  #features .list .image {
    overflow: hidden;
    margin-bottom: 31px;
  }
  #features .list .image img {
    transition: all linear 200ms;
  }
  #features .list .name {
    position: relative;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 2rem;
    padding-bottom: 15px;
    margin-bottom: 12px;
  }
  #features .list .name:after {
    content: '';
    width: 150px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
  }
  #features .list .desc {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 1.5rem;
    line-height: 1.86667;
  }

  #service {
    position: relative;
    background: url("../images/top/service_bg.png") right 0/contain no-repeat;
    margin-bottom: 115px;
  }
  #service .service_wrap {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 3.1%, rgba(243, 243, 237, 0.5) 3.1%, rgba(243, 243, 237, 0.5) 68.7%, #ffffff 68.7%, #ffffff 100%);
  }
  #service .eng_title {
    position: absolute;
    background: url("../images/top/service_eng_title.svg") center 0/100% no-repeat;
    width: 398px;
    height: 42px;
    top: -15px;
    left: 0;
  }
  #service .title {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 3.4rem;
    text-align: center;
    letter-spacing: .25em;
    padding-top: 115px;
    margin-bottom: 30px;
  }
  #service .desc {
    font-size: 1.6rem;
    line-height: 2.25;
    text-align: center;
    margin-bottom: 55px;
  }
  #service .cont_wrap {
    width: 1150px;
    display: flex;
    justify-content: space-between;
    background-color: #fff;
    border: 1px solid #222;
    padding: 35px 35px 50px;
    margin: 0 auto 45px;
  }
  #service .cont_wrap .cont {
    position: relative;
    width: 350px;
    padding-right: 37px;
    margin-right: 37px;
  }
  #service .cont_wrap .cont:after {
    content: '';
    display: block;
    position: absolute;
    top: 10px;
    right: 0;
    background-color: #ccc;
    width: 1px;
    height: 400px;
  }
  #service .cont_wrap .cont .image {
    overflow: hidden;
    text-align: center;
    margin-bottom: 27px;
  }
  #service .cont_wrap .cont .image img {
    width: 100%;
    transition: all linear 200ms;
  }
  #service .cont_wrap .cont .cont_title {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 2.6rem;
    line-height: 1.38462;
    text-align: center;
    margin-bottom: 25px;
  }
  #service .cont_wrap .cont .detail {
    font-size: 1.4rem;
    line-height: 1.9;
    text-align: center;
  }
  #service .cont_wrap .cont03 {
    width: 312px;
    padding-right: 0;
    margin-right: 0;
  }
  #service .cont_wrap .cont03:after {
    display: none;
  }
  #service .cont_wrap .cont03 .image {
    margin-bottom: 38px;
  }
  #service .cont_wrap .cont03 .cont_title {
    padding-bottom: 23px;
  }
  #service .cont_wrap a {
    display: block;
  }
  #service .cont_wrap a:hover {
    text-decoration: none;
  }
  #service .cont_wrap a:hover .image img {
    transform: scale(1.1);
  }

  #works {
    position: relative;
    padding-top: 50px;
    margin-bottom: 150px;
    overflow: hidden;
  }
  #works .eng_title {
    position: absolute;
    background: url("../images/top/works_eng_title.svg") center 0/100% no-repeat;
    width: 379px;
    height: 43px;
    top: 10px;
    right: 0;
  }
  #works .stitle {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 3rem;
    letter-spacing: .1em;
    margin-bottom: 25px;
    padding-left: 550px;
  }
  #works .desc {
    font-size: 1.5rem;
    line-height: 2.3;
    padding-left: 550px;
  }
  #works .wrap {
    position: relative;
    overflow: hidden;
    background: linear-gradient(90deg, rgba(237, 240, 243, 0.5) 0%, rgba(237, 240, 243, 0.5) 94.23%, rgba(0, 0, 0, 0) 94.23%, rgba(0, 0, 0, 0) 100%);
  }
  #works .wrap:after {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    display: block;
    background: url("../images/top/works_bg.png") left 0/cover no-repeat;
    width: 515px;
    height: 464px;
  }
  #works .wrap .desc_inner {
    position: relative;
    width: 980px;
    padding: 80px 0 227px;
    margin: 0 auto;
  }
  #works .image {
    margin-bottom: 75px;
  }
  #works .image .inner {
    position: relative;
    width: 980px;
    height: 800px;
    margin: 0 auto;
  }
  #works .image .item {
    position: absolute;
    width: 450px;
    height: 430px;
    overflow: hidden;
  }
  #works .image .item .item_image {
    position: absolute;
    top: 0;
    left: 0;
    width: 450px;
    height: 430px;
    transition: all linear 200ms;
    z-index: -1;
  }
  #works .image .item .title {
    position: relative;
    z-index: 1;
  }
  #works .image .item h3, #works .image .item h4 {
    display: block;
    background-repeat: no-repeat;
    text-indent: 120%;
    white-space: nowrap;
    overflow: hidden;
  }
  #works .image .item a {
    display: block;
  }
  #works .image .item a:hover {
    opacity: .9;
  }
  #works .image .item a:hover .item_image {
    transform: scale(1.1);
  }
  #works .image .item01 {
    top: -280px;
    left: 0;
  }
  #works .image .item01 .item_image {
    background-image: url("../images/top/works_img01.jpg");
    background-position: center 0;
    background-size: 100%;
    background-repeat: no-repeat;
  }
  #works .image .item01 .title {
    background-image: url("../images/top/works_img01_title.png");
    background-position: center bottom;
    background-size: 100%;
    background-repeat: no-repeat;
    width: 334px;
    height: 87px;
    padding-top: 395px;
    margin: 0 auto;
  }
  #works .image .item02 {
    top: -140px;
    right: 0;
  }
  #works .image .item02 .item_image {
    background: url("../images/top/works_img02.jpg") center 0/100% no-repeat;
  }
  #works .image .item02 .title {
    background: url("../images/top/works_img02_title.png") center bottom/100% no-repeat;
    width: 331px;
    height: 116px;
    margin-top: 25px;
    margin-left: 118px;
  }
  #works .image .item03 {
    left: 140px;
    bottom: 0;
  }
  #works .image .item03 .item_image {
    background: url("../images/top/works_img03.jpg") center 0/100% no-repeat;
  }
  #works .image .item03 .title {
    background: url("../images/top/works_img03_title.png") center bottom/100% no-repeat;
    width: 342px;
    height: 113px;
    margin-left: 10px;
  }

  #event {
    padding-top: 90px;
    margin-bottom: 155px;
    margin-bottom: 90px;
  }
  #event .stitle {
    text-align: center;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 3.7rem;
    padding-bottom: 35px;
    margin: 0 auto 50px;
    background: url("../images/top/event_title.png") center bottom no-repeat;
  }
  #event .archive_wrap {
    width: 980px;
    margin: 0 auto;
  }
  #event .list {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  #event .item {
    width: 290px;
    margin-bottom: 80px;
  }
  #event .item:not(:nth-child(3n)) {
    margin-right: 55px;
  }
  #event .item a {
    display: block;
  }
  #event .item a:hover {
    text-decoration: none;
  }
  #event .item a:hover img {
    transform: translate(-50%, -50%) scale(1.1);
  }
  #event .item .wrap .info {
    display: flex;
    flex-direction: column;
  }
  #event .item .wrap .image {
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
    margin-bottom: 15px;
    background-color: #F1F1F1;
  }
  #event .item .wrap img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    max-width: 100%;
    max-height: 100%;
    -webkit-transition: all linear 100ms;
    -o-transition: all linear 300ms;
    transition: all linear 300ms;
  }
  #event .item .wrap .cats {
    order: 1;
    margin-bottom: 15px;
  }
  #event .item .wrap .cats .cat {
    font-size: 1.2rem;
    padding: 3px 13px;
    margin-bottom: 5px;
    text-align: center;
    border: 1px solid #222;
  }
  #event .item .wrap .cats .cat:not(:last-child) {
    margin-left: 5px;
  }
  #event .item .wrap .title {
    order: 2;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: 10px;
  }
  #event .item .wrap .desc {
    order: 3;
    font-size: 1.4em;
    line-height: 1.8;
    margin-bottom: 13px;
  }
  #event .item .wrap .date {
    order: 4;
    font-size: 1.4rem;
  }

  #company {
    position: relative;
    padding-top: 65px;
    margin-bottom: 130px;
    overflow: hidden;
  }
  #company .eng_title {
    position: absolute;
    background: url("../images/top/company_eng_title.svg") center 0/100% no-repeat;
    width: 409px;
    height: 65px;
    top: 10px;
    right: 0;
  }
  #company .wrap {
    position: relative;
    overflow: hidden;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 5.77%, #f3edf0 5.77%, #f3edf0 100%);
  }
  #company .inner {
    display: flex;
    justify-content: space-between;
    padding: 75px 0 50px;
  }
  #company .image {
    width: 575px;
    padding-right: 40px;
  }
  #company .desc_area {
    position: relative;
    width: 575px;
    padding: 5px 90px 0 60px;
    margin: 0 auto;
  }
  #company .stitle {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 3rem;
    letter-spacing: .1em;
    margin-bottom: 25px;
  }
  #company .desc {
    font-size: 1.5rem;
    line-height: 2.3;
    margin-bottom: 40px;
  }
  #company .name_wrap {
    position: relative;
    margin-bottom: 21px;
  }
  #company .name_wrap:after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background-color: #000;
    position: absolute;
    top: 8px;
    left: 0;
  }
  #company .name {
    position: relative;
    font-size: 1.6rem;
    display: inline-block;
    background-color: #f3edf0;
    z-index: 1;
    padding-right: 15px;
  }
  #company dl {
    margin-bottom: 8px;
  }
  #company dl:last-of-type {
    margin-bottom: 50px;
  }
  #company dl dt, #company dl dd {
    display: inline-block;
    font-size: 1.4rem;
  }
  #company dl dt {
    width: 74px;
    text-align: center;
    border: 1px solid #000;
    padding: 7px 0;
    margin-right: 10px;
  }
  #company .link_staff_btn a {
    margin: 0;
  }

  #modal_movie {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    display: none;
  }
  #modal_movie .overlay {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.8);
  }
  #modal_movie .btn {
    background-color: transparent;
    width: 30px;
    height: 30px;
    margin: 0 auto;
    display: block;
    position: absolute;
    top: calc(50% - 260px);
    left: calc(50% + 396px);
    border-radius: 4px;
    cursor: pointer;
  }
  #modal_movie .btn:hover {
    opacity: .8;
  }
  #modal_movie .btn:before {
    content: '';
    width: 100%;
    height: 2px;
    position: absolute;
    top: 50%;
    left: 0;
    background-color: #fff;
    transform: rotate(45deg);
  }
  #modal_movie .btn:after {
    content: '';
    width: 100%;
    height: 2px;
    position: absolute;
    top: 50%;
    left: 0;
    background-color: #fff;
    transform: rotate(-45deg);
  }
  #modal_movie .movie_wrap {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 853px;
    height: 450px;
    z-index: 2;
  }
  #modal_movie .movie_wrap iframe {
    width: 100%;
    height: 100%;
  }
}
/* Smartphones (portrait and landscape) */
@media screen and (max-width: 750px) {
  .eng_title {
    display: block;
    background-repeat: no-repeat;
    text-indent: 120%;
    white-space: nowrap;
    overflow: hidden;
    z-index: 1;
  }

  .link_btn {
    text-align: center;
  }
  .link_btn a {
    display: block;
    background-repeat: no-repeat;
    text-indent: 120%;
    white-space: nowrap;
    overflow: hidden;
    width: 180px;
    height: 39px;
    background: url("../images/common/sp_more_link.svg") center 0/100% no-repeat;
    margin: 0 auto;
  }
  .link_btn a:hover {
    opacity: .8;
  }

  .link_staff_btn {
    text-align: center;
  }
  .link_staff_btn a {
    display: block;
    background-repeat: no-repeat;
    text-indent: 120%;
    white-space: nowrap;
    overflow: hidden;
    width: 224px;
    height: 39px;
    background: url("../images/top/sp_staff_link.svg") center 0/100% no-repeat;
    margin: 0 auto;
  }
  .link_staff_btn a:hover {
    opacity: .8;
  }

  #slide_area {
    width: 100%;
    height: calc(93.33vw + 90px);
    margin: 0 auto;
  }
  #slide_area #slide {
    display: none;
    position: relative;
    width: 100%;
    height: 93.33vw;
    margin-bottom: 90px;
  }
  #slide_area #slide.slick-initialized {
    display: block;
  }
  #slide_area .slick-dots {
    position: relative;
    width: 150px;
    margin: 15px auto 0;
    display: flex;
    justify-content: center;
    list-style-type: none;
  }
  #slide_area .slick-dots li {
    margin: 0 10px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #ccc;
  }
  #slide_area .slick-dots li.slick-active {
    background: #414040;
  }

  #kv_top {
    position: relative;
    width: 100%;
    height: calc(100vw * 696 / 750);
    background: url("../images/top/sp_kv.jpg") center center/cover no-repeat;
    margin-bottom: 85px;
  }
  #kv_top .kv_desc {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    display: block;
    background-repeat: no-repeat;
    text-indent: 120%;
    white-space: nowrap;
    overflow: hidden;
    background: url("../images/top/sp_kv_title.png") center center/cover no-repeat;
    width: 267px;
    height: 175px;
  }

  #message {
    position: relative;
    background: linear-gradient(180deg, #f3f0ed 0%, #f3f0ed 68%, #ffffff 68%, #ffffff 100%);
    margin-bottom: 85px;
  }
  #message .eng_title {
    position: absolute;
    top: -23px;
    right: 0;
    background: url("../images/top/sp_message_eng_title.svg") center center/100% no-repeat;
    width: 164px;
    height: 37px;
    z-index: 10;
    opacity: 1;
    transform: translateZ(0);
  }
  #message .message_title {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 2.1rem;
    text-align: center;
    margin-bottom: 15px;
  }
  #message .message_stitle {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 1.6rem;
    line-height: 2;
    padding-left: 4.5em;
    text-indent: -4.5em;
    margin-left: 3em;
    letter-spacing: .05em;
    margin-bottom: 15px;
  }
  #message .desc {
    font-size: 1.4rem;
    line-height: 1.71429;
    text-align: center;
    margin-bottom: 25px;
  }
  #message .image {
    width: 76%;
    margin: 0 auto 30px;
  }
  #message .cont_wrap {
    padding-top: 65px;
  }

  #features {
    padding-top: 27px;
    margin-bottom: 100px;
  }
  #features .title {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 2.4rem;
    text-align: center;
    padding-bottom: 25px;
    margin-bottom: 40px;
    background: url("../images/top/sp_features_eng_title.svg") center bottom/63px 16px no-repeat;
  }
  #features .list {
    width: 89.33%;
    display: flex;
    justify-content: space-between;
    margin: 0 auto 40px;
  }
  #features .list .item {
    position: relative;
    width: 32.83%;
  }
  #features .list .item.item1 .wrap {
    background-color: #e5d7d1;
  }
  #features .list .item.item2 .wrap {
    background-color: #d1dde5;
  }
  #features .list .item.item3 .wrap {
    background-color: #e4e5d1;
  }
  #features .list a {
    display: block;
    text-align: center;
    text-decoration: none;
    padding-bottom: 23px;
  }
  #features .list a:hover img {
    transform: scale(1.1);
  }
  #features .list .image {
    width: 95.45%;
    margin-bottom: 3%;
  }
  #features .list .image img {
    transition: all linear 200ms;
  }
  #features .list .name {
    position: relative;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 1.3rem;
    line-height: 1.44;
    padding-top: 15px;
    padding-bottom: 7px;
    margin-bottom: 7px;
  }
  #features .list .name:after {
    content: '';
    width: 54.54%;
    height: 1px;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
  }
  #features .list .desc {
    font-size: 1.1rem;
    line-height: 1.36364;
    padding-bottom: 12px;
  }

  #service {
    position: relative;
    margin-bottom: 70px;
    background: url("../images/top/sp_service_bg.jpg") center 0/100% no-repeat;
  }
  #service .eng_title {
    position: absolute;
    background: url("../images/top/sp_service_eng_title.svg") center 0/100% no-repeat;
    width: 164px;
    height: 25px;
    top: 18px;
    left: 0;
  }
  #service .title_wrap {
    width: 89.33%;
    padding-top: 60px;
    margin: 0 auto 40px;
  }
  #service .title {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 2.3rem;
    text-align: center;
    margin-bottom: 30px;
  }
  #service .stitle {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 2.5rem;
    text-align: center;
    letter-spacing: .08em;
    padding-bottom: 17px;
  }
  #service .stitle .large {
    font-size: 3.8rem;
  }
  #service .stitle span {
    display: inline-block;
    vertical-align: middle;
  }
  #service .desc {
    font-size: 1.4rem;
    line-height: 1.60714;
    margin: 0 auto;
  }
  #service .cont_wrap {
    width: 89.33%;
    border: 1px solid #222;
    background-color: #fff;
    padding: 35px 25px 0;
    margin: 0 auto 45px;
  }
  #service .cont {
    border-bottom: 1px solid #cccccc;
    padding-bottom: 30px;
    margin-bottom: 35px;
  }
  #service .cont:last-child {
    margin-bottom: 0;
    border-bottom: none;
  }
  #service .cont .image {
    margin-bottom: 25px;
  }
  #service .cont .cont_title {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 2rem;
    text-align: center;
    margin-bottom: 23px;
  }
  #service .cont .detail {
    font-size: 1.4rem;
    text-align: center;
    line-height: 1.60714;
  }

  #works {
    position: relative;
    overflow: hidden;
    padding-top: 40px;
    margin-bottom: 110px;
  }
  #works .eng_title {
    position: absolute;
    background: url("../images/top/sp_works_eng_title.svg") center 0/100% no-repeat;
    width: 132px;
    height: 25px;
    top: 20px;
    right: 0;
  }
  #works .title {
    display: none;
  }
  #works .stitle {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 2.4rem;
    letter-spacing: .1em;
    text-align: center;
    margin-bottom: 30px;
  }
  #works .desc {
    width: 83.33%;
    margin: 0 auto 18px;
    font-size: 1.35rem;
    line-height: 1.77;
  }
  #works .wrap {
    position: relative;
    overflow: hidden;
    background: url("../images/top/sp_works_bg.png") left 0/cover no-repeat;
  }
  #works .wrap:after {
    top: 0;
    left: 0;
    content: '';
    display: block;
  }
  #works .wrap .desc_inner {
    position: relative;
    padding: 42px 0 57px;
  }
  #works .image .inner {
    position: relative;
    margin: 0 auto;
  }
  #works .image .item {
    width: 76%;
    margin: 0 auto 30px;
    transform: translateY(-54px);
  }
  #works .image .item:last-child {
    margin-bottom: 0;
  }
  #works .image .item a {
    width: 100%;
    display: block;
    height: 0;
    padding-top: 66.67%;
  }
  #works .image .item h3, #works .image .item h4 {
    display: none;
  }
  #works .image .item01 a {
    background: url("../images/top/sp_works_img01.jpg?id=20220207") center 0/100% no-repeat;
  }
  #works .image .item02 a {
    background: url("../images/top/sp_works_img02.jpg?id=20220207") center 0/100% no-repeat;
  }
  #works .image .item03 a {
    background: url("../images/top/sp_works_img03.jpg?id=20220207") center 0/100% no-repeat;
  }

  #event {
    width: 89.33%;
    margin: 0 auto 75px;
  }
  #event .stitle {
    text-align: center;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 2.3rem;
    padding-bottom: 18px;
    margin-bottom: 35px;
    background: url("../images/top/event_title.png") center bottom/29px 11px no-repeat;
  }
  #event .archive_wrap {
    margin: 0 auto;
  }
  #event .list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #event .item {
    width: 48%;
  }
  #event .item:not(:last-child) {
    margin-bottom: 30px;
  }
  #event .item:last-child {
    margin-bottom: 55px;
  }
  #event .item a {
    display: block;
  }
  #event .item a:hover {
    text-decoration: none;
  }
  #event .item .wrap {
    display: flex;
    flex-direction: column;
  }
  #event .item .wrap .image {
    width: 94.02%;
    margin-bottom: 13px;
  }
  #event .item .wrap .info {
    width: 100%;
    display: flex;
    flex-direction: column;
  }
  #event .item .wrap .title {
    order: 2;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: 10px;
  }
  #event .item .wrap .date {
    order: 4;
    font-size: 1.4rem;
  }

  #company {
    position: relative;
    margin-bottom: 70px;
    background: linear-gradient(180deg, #f3edf0 0%, #f3edf0 25%, #ffffff 25%, #ffffff 100%);
  }
  #company .eng_title {
    position: absolute;
    background: url("../images/top/sp_company_eng_title.svg") center 0/100% no-repeat;
    width: 170px;
    height: 38px;
    top: -20px;
    left: 0;
  }
  #company .inner {
    padding: 60px 0 50px;
  }
  #company .image {
    width: 76%;
    margin: 0 auto 25px;
  }
  #company .stitle {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 2.3rem;
    text-align: center;
    letter-spacing: .1em;
    margin-bottom: 35px;
  }
  #company .desc {
    width: 76%;
    margin: 0 auto 35px;
    font-size: 1.4rem;
    line-height: 1.85714;
  }
  #company .name_wrap {
    width: 76%;
    position: relative;
    margin: 0 auto 20px;
  }
  #company .name_wrap:after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background-color: #000;
    position: absolute;
    top: 8px;
    left: 0;
  }
  #company .name {
    position: relative;
    font-size: 1.6rem;
    display: inline-block;
    background-color: #fff;
    z-index: 1;
    padding-right: 15px;
  }
  #company dl {
    width: 76%;
    margin: 0 auto 10px;
  }
  #company dl:last-of-type {
    margin-bottom: 50px;
  }
  #company dl dt, #company dl dd {
    display: inline-block;
  }
  #company dl dt {
    width: 58px;
    text-align: center;
    border: 1px solid #000;
    padding: 7px 0;
    margin-right: 15px;
    font-size: 1.1rem;
    vertical-align: top;
  }
  #company dl dd {
    width: calc(100% - 80px);
    font-size: 1.2rem;
    line-height: 1.66667;
  }

  #modal_movie {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    display: none;
  }
  #modal_movie .overlay {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.8);
  }
  #modal_movie .btn {
    background-color: transparent;
    width: 30px;
    height: 30px;
    margin: 0 auto;
    display: block;
    position: absolute;
    top: 24%;
    right: 0;
    border-radius: 4px;
    cursor: pointer;
  }
  #modal_movie .btn:hover {
    opacity: .8;
  }
  #modal_movie .btn:before {
    content: '';
    width: 100%;
    height: 2px;
    position: absolute;
    top: 50%;
    left: 0;
    background-color: #fff;
    transform: rotate(45deg);
  }
  #modal_movie .btn:after {
    content: '';
    width: 100%;
    height: 2px;
    position: absolute;
    top: 50%;
    left: 0;
    background-color: #fff;
    transform: rotate(-45deg);
  }
  #modal_movie .movie_wrap {
    position: fixed;
    top: 30%;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 0;
    padding: 56.25% 0 0 0;
    position: relative;
  }
  #modal_movie .movie_wrap iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }

  /* ___________________Smartphones Layout */
  /* ___________________Smartphones header */
  /* ___________________Smartphones global navigation */
  /* ___________________Smartphones footer */
}
@media screen and (max-width: 374px) {
  #qa .qa_title {
    font-size: 4.6vw;
    line-height: 1;
  }
}
</pre></body></html>