@charset "UTF-8";
/*common*/
.pc-only { display: block !important; }
.sp-only { display: none !important; }

section, main { position: relative; display: block; }
html, body { width: 100%; overflow-x: hidden; }
img { max-width: 100%; height: auto; }

@media screen and (max-width: 767px) {
    .pc-only { display: none !important; }
    .sp-only { display: block !important; }
    html, body { width: 100%; overflow-x: hidden; }
}

/*no-js*/
/*.no-js .js-scroll-fade,
.no-js .top_main_txt,
.no-js .top_main_txt .catch,
.no-js .top_main_txt .read,
.no-js .top_main_scroll { opacity: 1!important; }
.no-js body.home #loading { display: none; }
.no-js body#home #header {-webkit-transform: translateY(0);transform: translateY(0);}
.no-js body:not(.home) #loading { display: none; }*/
/*loading*/

body #loading { background: #fff; display: block; height: 100%; left: 0; position: fixed; top: 0; width: 100%; z-index: 100010; pointer-events: none; -webkit-transition: opacity 1.5s cubic-bezier(0.16, 1, 0.3, 1) 0.5s; transition: opacity 1.5s cubic-bezier(0.16, 1, 0.3, 1) 0.5s; }

body #loading.is-animation { opacity: 0; }

/*loop*/
@keyframes loop {
    0% { transform: translateX(100%); }
  to { transform: translateX(-100%); }
}
@keyframes loop2 {
    0% { transform: translateX(0); }
  to { transform: translateX(-200%); }
}

/*fade*/
.js-scroll-fade:not(.top_about_ph):not(.hd_anime) { opacity: 0; }

.isActive:not(.top_about_ph):not(.hd_anime) { -webkit-animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1); animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1); -webkit-animation-duration: 1.8s; animation-duration: 1.8s; -webkit-animation-name: fadeUp; animation-name: fadeUp; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; }

@-webkit-keyframes fadeUp {
    0% { opacity: 0; -webkit-transform: translateY(50px); transform: translateY(50px); }
  10% { opacity: 0; }
  to { opacity: 1; -webkit-transform: none; trfooter_logo_setansform: none; } 
}
@keyframes fadeUp { 
    0% { opacity: 0; -webkit-transform: translateY(50px); transform: translateY(50px); }
  10% { opacity: 0; }
  to { opacity: 1; -webkit-transform: none; transform: none; } 
}

/*header*/
header { width: 100%; height: 8.6rem; background: #013650; position: fixed; top: 0; left: 0; z-index: 10002; }
.header_logo { width: 25.1rem; position: absolute; top: 50%; left: 1.71%; transform: translate(0%,-50%); opacity: 1; transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1); }
body.open .header_logo { opacity: 0; pointer-events: none; }

body.home header { transform: translateY(-100%); transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); }
body.home header.fixed { transform: translateY(0%); }

.btn_humberger_box { cursor: pointer; }
.btn_humberger_box .line { width: 3.8rem; height: 2.3rem; display: inline-block; position: absolute; right: 1.5rem; top: 50%; transform: translate(0%,-50%); }
.btn_humberger_box .line > span { display: inline-block; width: 3.8rem; height: 2px;background: #A69A82; position: absolute; transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1); }
.btn_humberger_box .line > span:nth-child(1) { top: 0; left: 0; }
.btn_humberger_box .line > span:nth-child(2) { top: calc(50% - 1px); left: 0; }
.btn_humberger_box .line > span:nth-child(3) { bottom: 0; left: 0; }

body.open .btn_humberger_box .line > span:nth-child(1) { top: 50%;  transform: rotate(45deg) translate(0%,-50%);}
body.open .btn_humberger_box .line > span:nth-child(2) { opacity: 0; }
body.open .btn_humberger_box .line > span:nth-child(3) { bottom: 50%; transform: rotate(-45deg) translate(0%,50%);}

.op_global_nav { width: 100%; height: 100vh; background: #013650; z-index: 10001; position: fixed; right: 0; opacity: 0; pointer-events: none; -webkit-transition: opacity 1.0s cubic-bezier(0.16, 1, 0.3, 1); transition: opacity 1.0s cubic-bezier(0.16, 1, 0.3, 1); }
body.open .op_global_nav { opacity: 1; pointer-events: visible;}
.op_global_nav > .inner { width: 64%; margin: 0 auto; padding: 0; display: flex; justify-content: space-between; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); }
.op_global_nav * { color: #A69A82; font-size: 3.0rem; }

.nav_head { position: relative; width: 28.1rem; }
.nav_main { width: 38.79%; }
.nav_logo { width: 28.1rem; position: absolute; top: 50%; transform: translate(0%,-50%); }
.nav_sns { width: 28.1rem; position: absolute; bottom: 0; text-align: center; font-size: 1.6rem; }
.nav_sns .ico { display: inline-block; line-height: 1; }
.nav_sns .ico img { line-height: 0; }
.nav_main_list li + li { margin-top: 3.0rem; }
.nav_main_list .ja { display: block; font-size: 2.4rem; }
.nav_main_list .en { display: block; font-size: 1.6rem; }

@media screen and (max-width: 767px) { 
    body.open .header_logo { opacity: 1; pointer-events: visible; }
    
.op_global_nav { width: 100%; height: 100vh; background: #013650; z-index: 10001; position: fixed; right: 0; opacity: 0; -webkit-transition: opacity 1.0s cubic-bezier(0.16, 1, 0.3, 1); transition: opacity 1.0s cubic-bezier(0.16, 1, 0.3, 1); }
body.open .op_global_nav { opacity: 1; pointer-events: visible;}
    .op_global_nav > .inner  { width: 64%; margin: 0 auto; padding: 16.0rem 0 0; display: flex; flex-direction: column-reverse; justify-content: space-between; position: relative; top: auto; left: auto; transform: translate(0%,0%); }

.nav_head { position: relative; width: 100%; }
    .nav_main { width: 100%; }
    .nav_logo { display: none; }
    .nav_sns { width: 100%; position: relative; bottom: auto; margin-top: 9.0rem; text-align: center; font-size: 1.4rem; }
.nav_sns .ico { line-height: 0; }
.nav_sns .ico img { line-height: 0; margin-right: 1.3rem; }
    .nav_main_list li { text-align: center; }
.nav_main_list li + li { margin-top: 3.0rem; }
.nav_main_list .ja { display: block; font-size: 2.2rem; }
.nav_main_list .en { display: block; font-size: 1.4rem; }
}

/*top*/
main { padding-top: 8.4rem; }
body.home main { padding-top: 0; }

.fv_mainimg { height: 100vh; background: #013650; }
.top_mv_movie .pc { width: 100%; height: 100vh; overflow: hidden; }
.top_mv_movie .sp { display: none; }
.top_mv_movie video { width: 100%; height: 100vh; object-fit: cover; }

.top_about_copy { text-align: center; padding: 10.0rem 0; position: relative; }
.top_about_copy .ttl { font-size: 3.8rem; font-weight: 900; line-height: 1.5; letter-spacing: 0.3em; margin-bottom: 5.0rem; }
.top_about_copy p { letter-spacing: 0.1em; }
.top_about_copy p + p { margin-top: 2.0rem; }
.top_about_copy .common_btn { margin-top: 5.0rem; }

.common_btn a { display: inline-block; width: 22rem; padding: 0.8rem 0; font-size: 1.6rem; font-weight: 900; text-align: center; border: 2px solid #013650; border-radius: 3.0rem; position: relative; }
.common_btn a .arrow { width: 1.3rem; position: absolute; top: 50%; right: 2.2rem; line-height: 0; transform: translateY(-50%); }

.top_service .common_btn { text-align: right; margin-top: 8.0rem; }
.top_service .common_btn a { border: 2px solid #fff; text-align: center; }

.top_service { border-radius: 5.0rem; background: #013650; padding: 15.0rem 0; }
.top_service > .inner { width: 80.85%; max-width: 1200px; margin: 0 auto; }
.top_service * { color: #fff; }
.common_head { text-align: center; }
.common_head._page { width: 80.85%; max-width: 1200px; margin: 11.0rem auto 0; }
.common_head .ttl { font-size: 3.4rem; font-weight: 900; letter-spacing: 0.2em; }
.common_head .en { font-size: 1.8rem;text-transform: uppercase; }

.top_service_list { margin-top: 11.6rem; }
.top_service_item { display: flex; justify-content: space-between; align-items: center; }
.top_service_item .ph { width: 49.02%; }
.top_service_item .txt { width: 38.17%; }
.top_service_item + .top_service_item { margin-top: 9.6rem; }
.top_service_item .num { font-size: 3.0rem; }
.top_service_item .ttl { font-size: 3.0rem; line-height: 1.5; }
.top_service_item .en { font-size: 1.6rem; margin-top: 0.5rem; }
.top_service_item .ph img { border-radius: 1.0rem; }

.top_works { margin-top: 17.0rem; }
.top_works > .inner { width: 80.85%; max-width: 1200px; margin: 0 auto; }
.top_works_list { display: grid; grid-template-columns: repeat(3,1fr); gap: 2.0rem 1.85%; margin-top: 4.5rem; }
.top_works_item .ttl { font-size: 2.0rem; line-height: 1.5; font-weight: 900; margin-top: 1.0rem; }
.top_works_list._blog .top_works_item .ttl { font-size: 2.0rem; font-weight: 700; }
.top_works_item .cat { margin-top:1.0rem; line-height: 1; }
.top_works_item .cat span { display: inline-block; margin: 0 0.5rem 0.5rem 0; padding: 0.5rem 1.5rem; font-size: 1.4rem; line-height: 1.5; color: #fff; background: #A69A82; border-radius: 3.0rem; }
.top_works_item .ph { overflow: hidden; border-radius: 1.0rem; }
.top_works_item .ph img { width: 100%; aspect-ratio: 363 / 278; object-fit: cover; }
.top_works .common_btn { text-align: right; margin-top: 7.0rem; }
.top_works .common_btn a { text-align: center; }

.top_works_list .nopost { grid-column: span 3; }

.top_column .common_btn { text-align: right; margin-top: 8.0rem; }
.top_column .common_btn a { border: 2px solid #fff; text-align: center; }

.top_column { border-radius: 5.0rem; background: #013650; margin-top: 17.0rem; padding: 15.0rem 0; }
.top_column > .inner { width: 80.85%; max-width: 1200px; margin: 0 auto; }
.top_column * { color: #fff; }

.top_news { margin-top: 12.0rem; }
.top_news > .inner { width: 80.85%; max-width: 1200px; margin: 0 auto; }
.top_news_list { margin-top: 5.0rem; }
.top_news_item { display: flex; font-size: 2.0rem; line-height: 1.5; }
.top_news_item + .top_news_item { margin-top: 3.5rem; }
.top_news_item .date { width: 16.51%; min-width: 15.0rem; }
.top_news .common_btn { text-align: right; margin-top: 7.0rem; }
.top_news .common_btn a { text-align: center; }

footer { background: #013650; border-radius: 5.0rem 5.0rem 0 0; margin-top: 12.7rem; }
footer > .inner { padding: 8.0rem 0 7.0rem; }
footer * { color: #fff; }
.footer_inq { width: 52.5%; margin: 0 auto; text-align: center; }
.footer_inq .en { font-size: 3.0rem; color: #fff; text-transform: uppercase; }
.footer_inq .btn a { display: block; padding: 1.5rem 0; margin-top: 3.0rem; font-size: 2.0rem; border: 1px solid #fff; border-radius: 5.0rem; text-align: center; }
.footer_set { display: flex; justify-content: space-between; width: 80.85%; max-width: 1200px; margin: 15.0rem auto 0; }
.footer_address { font-size: 1.6rem; }
.copyrights { width: 80.85%; max-width: 1200px; margin: 10.0rem auto 0; font-size: 1.4rem; font-weight: 400; text-align: right; }

/* コンテナのサイズ（ここで縦横もvw基準になります） */
.tsumiki-container {
    width: 100%;
    height: 100vh;
    margin: 0 auto; 
    /*aspect-ratio: 16 / 12;*/
    background: #D0C9B9;
    overflow: hidden;
    pointer-events: none;
}
canvas { display: block; width: 100%; height: 100%; }

@media screen and (max-width: 767px) { 
    .top_mv_movie .pc { display: none; }
    .top_mv_movie .sp { display: block; width: 100%; height: 100vh; overflow: hidden; }
    .top_mv_movie video { width: 100%; height: 100vh; object-fit: cover; }
   
    .top_about_copy { width: 81.53%; margin: 0 auto; padding: 9.0rem 0 16.0rem; text-align: center; }
    .top_about_copy .ttl { font-size: 3.2rem; font-weight: 900; line-height: 1.5; margin-bottom: 3.5rem; }
    .top_about_copy p + p { margin-top: 0; }
    .top_about_copy .common_btn { margin-top: 5.0rem; text-align: center; }

.common_btn a { display: inline-block; width: 22rem; padding: 0.8rem 0; font-size: 1.6rem; font-weight: 900; text-align: center; border: 2px solid #013650; border-radius: 3.0rem; position: relative; }
.common_btn a .arrow { position: absolute; top: 50%; right: 2.2rem; line-height: 0; transform: translateY(-50%); }
    
    .top_service .common_btn { text-align: center; margin-top: 8.0rem; }

    .top_service { border-radius: 2.7rem; background: #013650; padding: 9.5rem 0 7.5rem; }
.top_service > .inner { width: 81.53%; margin: 0 auto; }
.top_service * { color: #fff; }
.common_head { text-align: center; }
    .common_head .ttl { font-size: 3.2rem; }
    .common_head .en { font-size: 1.6rem;text-transform: uppercase; }

    .top_service_list { margin-top: 5.0rem; }
    .top_service_item { display: flex; flex-direction: column; justify-content: space-between; align-items: center; }
    .top_service_item .ph { width: 100%; }
    .top_service_item .txt { width: 100%; text-align: center; margin-top: 2.0rem; }
    .top_service_item + .top_service_item { margin-top: 6.5rem; }
    .top_service_item .num { font-size: 2.4rem; }
    .top_service_item .ttl { font-size: 2.4rem; line-height: 1.5; margin-top: 0.5rem; }
.top_service_item .en { font-size: 1.6rem; margin-top: 0.5rem; }
.top_service_item .ph img { border-radius: 1.0rem; }

    .top_works { margin-top: 8.0rem; }
    .top_works > .inner { width: 81.53%; margin: 0 auto; }
    .top_works_list { display: grid; grid-template-columns: repeat(1,1fr); gap: 3.2rem 0; margin-top: 5.5rem; }
.top_works_item .ttl { font-size: 2.4rem; font-weight: 900; margin-top: 1.0rem; }
.top_works_item .cat { margin-top:1.0rem; line-height: 1; }
    .top_works_item .cat span { display: inline-block; padding: 0.5rem 1.5rem; font-size: 1.8rem; line-height: 1.5; color: #fff; background: #A69A82; border-radius: 3.0rem; }
.top_works_item .ph img { width: 100%; aspect-ratio: 363 / 278; object-fit: cover; border-radius: 1.0rem; }
    .top_works .common_btn { text-align: center; margin-top: 6.0rem; }
.top_works .common_btn a { text-align: center; }
    
    .top_column .common_btn { text-align: center; margin-top: 8.0rem; }

    .top_column { border-radius: 2.7rem; background: #013650; margin-top: 8.0rem; padding: 9.5rem 0 7.5rem; }
.top_column > .inner { width: 81.53%; margin: 0 auto; }
.top_column * { color: #fff; }

.top_news { margin-top: 12.0rem; }
    .top_news > .inner { width: 81.53%; margin: 0 auto; }
    .top_news_list { margin-top: 5.5rem; }
    .top_news_item { display: flex; flex-direction: column; font-size: 2.0rem; line-height: 1.5; }
    .top_news_item + .top_news_item { margin-top: 3.0rem; }
    .top_news_item .date { width: 100%; min-width: auto; margin-bottom: 0.5rem; }
    .top_news .common_btn { text-align: center; margin-top: 5.0rem; }
.top_news .common_btn a { text-align: center; }

    footer { background: #013650; border-radius: 5.0rem 5.0rem 0 0; margin-top: 10.0rem; }
    footer > .inner { padding: 8.0rem 0; }
footer * { color: #fff; }
    .footer_inq { width: 81.53%; margin: 0 auto; text-align: center; }
.footer_inq .en { font-size: 3.0rem; color: #fff; text-transform: uppercase; }
    .footer_inq .btn a { display: block; padding: 1.5rem 0; margin-top: 3.0rem; font-size: 1.8rem; border: 1px solid #fff; border-radius: 5.0rem; text-align: center; }
    .footer_logo { width: 26.9rem; }
    .footer_set { display: flex; flex-direction: column; align-items: center; width: 80.85%; margin: 11.0rem auto 0; }
    .footer_address { font-size: 1.6rem; text-align: center; margin-top: 4.5rem; }
    .copyrights { width: 81.53%; margin: 5.5rem auto 0; font-size: 1.2rem; text-align: center; }
    
    .tsumiki-container { /*aspect-ratio: 9 / 16;*/ }
}

/*about*/
.about_section > .inner { width: 80.85%; max-width: 1200px; margin: 0 auto; }
.about_set01 { display: flex; justify-content: space-between; margin-top: 9.0rem; }
.about_set01 .read { width: 32.06%; font-size: 3.2rem; line-height: 2.0;    letter-spacing: 0.2em; }
.about_set01 .main { width: 57.59%; }
.about_set02 { display: flex; justify-content: space-between; margin-top: 13.0rem; }
.about_set02 .item { width: 31.44%; text-align: center; }
.about_set02 .caption { margin-top: 3.0rem; font-size: 2.8rem; }
.about_img { margin-top: 16.0rem; }

.about_set03 { display: flex; justify-content: space-between; margin-top: 12.0rem; }
.about_set03 .read { width: 32.06%; font-size: 3.2rem; }
.about_set03 .main { width: 65.98%; }
.about_head .ttl { font-size: 3.4rem; letter-spacing: 0.2em; }
.about_head .en { font-size: 1.8rem; }
.about_set03 .name { margin-top: 3.0rem; font-size: 2.2rem; line-height: 1.5; text-align: right; }
.about_set03 p { line-height: 2.2; }

.about_set04 { display: flex; justify-content: space-between; margin-top: 30.0rem; }
.about_set04 .read { width: 32.06%; font-size: 3.2rem; }
.about_set04 .main { width: 65.98%; }
.about_set04 .data { font-size: 2.0rem; line-height: 2.0; display: grid; grid-template-columns: 35% 1fr; }
.about_set04 .data dt,
.about_set04 .data dd { border-bottom: 1px solid #013650; padding: 2.0rem 0; }
.about_set04 .data dd { font-weight: 500; }
.about_set04 .data dt { padding-right: 2.1rem; font-weight: 700; }
.about_set04 .data .pin { display: inline-block; line-height: 1; }

@media screen and (max-width: 767px) { 
    .about_section > .inner { width: 81.53%; margin: 0 auto; }
    .about_set01 { display: block; justify-content: space-between; margin-top: 6.0rem; }
    .about_set01 .read { width: auto; font-size: 2.8rem; }
    .about_set01 .main { width: auto; margin-top: 4.0rem; }
    .about_set02 { display: flex; flex-direction: column; justify-content: space-between; margin-top: 10.0rem; }
.about_set02 .item { width: 100%; text-align: center; }
    .about_set02 .item + .item { margin-top: 6.0rem; }
    .about_set02 .img { min-width: 27.1rem; width: 70%; margin: 0 auto; }
    .about_set02 .img img { width: 100%; }
    .about_set02 .caption { margin-top: 2.0rem; font-size: 2.4rem; }
    .about_img { margin: 7.0rem -15% 0; }
    
    .about_head { text-align: center; }
    .about_head .ttl { font-size: 3.2rem; letter-spacing: 0.2em; }
    .about_head .en { font-size: 1.6rem; }

    .about_set03 { display: block; justify-content: space-between; margin-top: 12.0rem; }
.about_set03 .read { width: auto; font-size: 3.2rem; }
    .about_set03 .main { width: auto; margin-top: 2.4rem; }
    .about_set03 .name { margin-top: 4.0rem; font-size: 2.2rem; line-height: 1.5; text-align: right; }

    .about_set04 { display: block; justify-content: space-between; margin-top: 14.0rem; }
.about_set04 .read { width: auto; font-size: 3.2rem; }
    .about_set04 .main { width: auto; margin-top: 3.2rem; }
    .about_set04 .data { font-size: 2.0rem; display: grid; grid-template-columns: 1fr; }
    .about_set04 .data dt { border-bottom: none; padding: 3.0rem 0 0; }
    .about_set04 .data dd { border-bottom: 1px solid #013650; padding: 0.5rem 0 3.0rem; }
.about_set04 .data dt { padding-right: 2.1rem; }
.about_set04 .data .pin { display: inline-block; line-height: 1; }
    
}

/*works*/
.common_section > .inner { width: 80.85%; max-width: 1200px; margin: 0 auto; }
.works_read { text-align: center; margin-top: 8.0rem; }
.works_cat { text-align: center; margin: 6.0rem 0 12.0rem; }
.works_cat a { display: inline-block; padding: 0.5rem 2.4rem; margin: 0 1.6rem 2.0rem; font-size: 1.8rem; line-height: 1.5; border: 1px solid #013650; border-radius: 3.0rem; }
.works_cat a.active { background: #013650; color: #fff; }

.wp-pagenavi { margin-top: 15.0rem; text-align: center; font-size: 2.4rem; }
.page-numbers { display: inline-block; width: 5.0rem; height: 5.0rem; border-radius: 50%; text-align: center; }
.page-numbers.current { background: #013650; color: #fff; }

@media screen and (max-width: 767px) { 
.common_section > .inner { width: 81.53%; margin: 0 auto; }
    .works_read { text-align: left; margin-top: 6.0rem; }
    .works_cat { text-align: center; margin: 4.0rem 0 6.0rem; }
.works_cat a { display: inline-block; padding: 0.5rem 2.4rem; margin: 0 1.6rem 2.0rem; font-size: 1.8rem; line-height: 1.5; border: 1px solid #013650; border-radius: 3.0rem; }
    
}

/*works single*/
.works_single > .inner { width: 80.85%; max-width: 1200px; margin: 9.6rem auto 0; }
.works_single .ttl { font-size: 3.0rem; }
.works_single .cat { margin-top: 3.0rem; }
.works_single .cat a { display: inline-block; padding: 0.5rem 2.4rem; margin: 0 0.5rem 0.5rem 0; font-size: 1.4rem; color: #fff; line-height: 1.5; background: #A69A82; border-radius: 3.0rem; }
.works_single .date { font-size: 2.0rem; }
.works_single .body { margin: 6.0rem 0 14.5rem; font-weight: 700; }
.works_single .body figure img { border-radius: 4.0rem; }
.works_single .body h2,
.works_single .body h3,
.works_single .body h4,
.works_single .body h5,
.works_single .body h6 { font-size: 3.0rem; margin: 4.5rem 0 3.0rem; }
.works_single .body * { max-width: 100%; }
.works_single .body * + * { margin-top: 3.0rem; } 
.works_single .body * + figure { margin-top: 8.0rem; } 
.works_single .body p { font-size: 2.0rem; font-weight: 500; }

.works_single .data_set { display: flex; justify-content: space-between; }
.data_set .hd { width: 32.06%; font-size: 3.2rem; }
.data_set .data_body { width: 65.98%; }
.works_single .data_list { font-size: 2.0rem; line-height: 1.5; display: grid; grid-template-columns: 35% 1fr;  border-bottom: 1px solid #013650; }
.data_set .data_list dt,
.data_set .data_list dd { border-top: 1px solid #013650; padding: 2.0rem 0; }
.data_set .data_list dt { padding-right: 2.1rem; }
.data_set .data_list._noline { padding: 2.0rem 0; }
.data_set .data_list._noline dt,
.data_set .data_list._noline dd { border-top: none; padding: 0.5rem 0; }

.recommend_works > .inner { width: 80.85%; max-width: 1200px; margin: 15.0rem auto 0; }
.recommend_works_head { display: flex; justify-content: space-between; }
.recommend_works_head .ttl { font-size: 3.4rem; }
.recommend_works_head .en { font-size: 1.8rem; text-transform: uppercase; }
.recommend_works_head + .top_works_list { margin-top: 6.0rem; }

@media screen and (max-width: 767px) { 
    .works_single > .inner { width: 81.53%; margin: 7.0rem auto 0; }
    .works_single .ttl { font-size: 2.6rem; }
    .works_single .cat { margin-top: 1.5rem; }
    .works_single .cat a { display: inline-block; padding: 0.5rem 2.4rem; margin: 0 0.5rem 0.5rem 0; font-size: 1.4rem; color: #fff; line-height: 1.5; background: #A69A82; border-radius: 3.0rem; }
    .works_single .date { font-size: 1.6rem; }
    .works_single .body { margin: 6.0rem 0 8.5rem; }
    .works_single .body figure img { border-radius: 1.0rem; }
    .works_single .body h2,
    .works_single .body h3,
    .works_single .body h4,
    .works_single .body h5,
    .works_single .body h6 { font-size: 2.4rem; margin: 4.5rem 0 3.0rem; }
.works_single .body * + * { margin-top: 3.0rem; } 
.works_single .body * + figure { margin-top: 8.0rem; } 

    .works_single .data_set { display: block; justify-content: space-between; }
    .data_set .hd { width: auto; font-size: 3.2rem; margin-bottom: 2.5rem; }
    .data_set .data_body { width: auto; }
    .works_single .data_list { font-size: 2.0rem; line-height: 1.5; display: grid; grid-template-columns: 1fr;  border-bottom: 1px solid #013650; }
.data_set .data_list dt,
.data_set .data_list dd { border-top: 1px solid #013650; padding: 2.5rem 0; }
    .data_set .data_list dt { padding-right: 0; padding-bottom: 0; }
    .data_set .data_list dd { border-top: none; padding-top: 1.0rem; }
.data_set .data_list._noline { padding: 2.0rem 0; border-top: 1px solid #013650; }
.data_set .data_list._noline dt,
.data_set .data_list._noline dd { border-top: none; padding: 1.0rem 0; }
    .data_set .data_list._noline dd { padding: 0 0 1.4rem; }
    .data_set + .data_set { margin-top: 7.0rem; }

    .recommend_works > .inner { width: 81.53%; margin: 10.0rem auto 0; }
.recommend_works_head { display: block; justify-content: space-between; text-align: center; }
    .recommend_works_head .ttl { font-size: 3.0rem; }
    .recommend_works_head .en { font-size: 1.6rem; text-transform: uppercase; }
    .recommend_works_head + .top_works_list { margin-top: 7.5rem; }
    .recommend_works .common_btn { text-align: center; margin-top: 6.0rem; }
}

/*news*/
.archive_news_list { margin-top: 10.0rem; }

.post-navigation { width: 70.0rem; margin: 0 auto; display: grid; grid-template-columns: 1fr 20.0rem 1fr; font-size: 2.0rem; line-height: 1.5; }
.nav-previous { padding-left: 2.5rem; position: relative; }
.nav-next { padding-right: 2.5rem; position: relative; }
.nav-previous .ico,
.nav-next .ico { display: inline-block; line-height: 0.8; position: absolute; top: 50%; transform: translateY(-50%); }
.nav-previous .ico { margin-right: 1.0rem;transform: scaleX(-1) translateY(-50%); left: 0; }
.nav-next .ico { margin-left: 1.0rem; right: 0; }
.post-navigation .nav-archive { text-align: center; }
.post-navigation .nav-next { text-align: right; }

@media screen and (max-width: 767px) { 
    .archive_news_list { margin-top: 6.5rem; }
    
    .post-navigation { width: 100%; margin: 0 auto; display: grid; grid-template-columns: 1fr 20.0rem 1fr; font-size: 2.0rem; }
}

/*service*/
.service_read { text-align: left; margin-top: 9.0rem; }
.service_section { margin-top: 11.0rem; }
.service_section > .inner { width: 80.85%; max-width: 1200px; margin: 0 auto; }
.service_section_body { display: flex; flex-direction: row-reverse; justify-content: space-between; margin-top: 4.5rem;  }
.service_section_body .ph { width: 49.02%; }
.service_section_body .ph img { border-radius: 3.2rem; }
.service_section_body .txt { width: 40.54%; }

.service_section_head .num { font-size: 3.0rem; }
.service_section_head .ttl { font-size: 3.0rem; line-height: 1.5; }
.service_section_head .en { font-size: 1.6rem; margin-top: 0.5rem; }

.service_section_body .list { margin: 2.0rem 0 4.2rem; font-size: 2.0rem; line-height: 1.5; border-top: 1px solid #707070; }
.service_section_body .list li { padding: 1.5rem 0; border-bottom: 1px solid #707070; }
.service_section_body .list li .ico { display: inline-block; width: 3.6rem; margin-right: 2.0rem; }

@media screen and (max-width: 767px) {
    .service_read { text-align: left; margin-top: 6.0rem; }
    .service_section { margin-top: 12.0rem; }
    .service_section > .inner { width: 81.53%; margin: 0 auto; }
    .service_section_body { display: block; margin-top: 4.5rem; }
    .service_section_body .ph { width: auto; }
.service_section_body .ph img { border-radius: 3.2rem; }
    .service_section_body .txt { width: auto; margin-top: 3.0rem; }
    
    .service_section_head { text-align: center; }
.service_section_head .num { font-size: 3.0rem; }
    .service_section_head .ttl { font-size: 2.8rem; line-height: 1.5; }
.service_section_head .en { font-size: 1.6rem; margin-top: 0.5rem; }
    
    .service_section_body p { font-size: 2.0rem; }

    .service_section_body .list { margin: 2.0rem 0 4.8rem; font-size: 2.0rem; line-height: 1.5; border-top: 1px solid #707070; }
.service_section_body .list li { padding: 1.5rem 0; border-bottom: 1px solid #707070; }
.service_section_body .list li .ico { display: inline-block; width: 3.6rem; margin-right: 2.0rem; }
    
    .service_section_body .common_btn { text-align: center; }
    
}

/*contact*/
.contact_read { text-align: left; margin-top: 8.0rem; }
.form_section { margin-top: 6.0rem; }
.form_section > .inner { width: 80.85%; max-width: 1200px; margin: 0 auto; }

.form_section input,
.form_section textarea { width: 100%; padding: 1.5rem; box-sizing: border-box; border: 1px solid #013650; background: none; font-size: 2.2rem; }
.form_section select { width: 55.5rem; padding: 1.5rem; box-sizing: border-box; border: 1px solid #013650; background: none; font-size: 2.2rem; }
.form_section input::placeholder,
.form_section textarea::placeholder { color: #A7ACA4; }
.form_section textarea { height: 58.8rem; }
.form_item + .form_item { margin-top: 5.0rem; }
.form_item .hd { margin-bottom: 1.0rem; font-size: 2.2rem; }

.select-wrap {
  position: relative;
  width: 55.5rem;
}
/* セレクトボックス本体 */
.select-wrap select {
  appearance: none;           /* デフォルトの▼を消す（必須） */
  -webkit-appearance: none;   /* Safari用 */
  -moz-appearance: none;      /* Firefox用 */
  
  width: 55.5rem;
  padding: 1.5rem;
  border: 1px solid #013650;
  cursor: pointer;
}

/* オリジナルの▼（疑似要素で自作） */
.select-wrap::after {
  content: "";
  position: absolute;
  
  /* ↓ここで位置を自由に調整できます！ */
  right: 20px;
  top: 2.5rem;
  
  width: 0.5rem;
  height: 0.5rem;
  border: 2px solid;
  border-color:  transparent transparent #013650 #013650;
  transform: rotate(-45deg);
  
  pointer-events: none;       /* ▼をクリックしてもセレクトボックスが開くようにする */
}

.privacy_txt { margin-top: 6.0rem; font-size: 1.8rem; text-align: center; }
.btn_submit { width: 47.0rem; margin: 6.0rem auto 0; }
.btn_submit input { border: 2px solid #013650; border-radius: 5.0rem; padding: 1.5rem; background: url("../img/arrow_btn.svg") no-repeat 95% center; }

.form_item .formError.inline { display: block!important; }
.form_item .formError .formErrorContent { display: block; font-size: 1.6rem; color: #dc3232; background: none; }
.wpcf7-radio input { vertical-align: baseline; }
.wpcf7-spinner { display: none!important; }
.wpcf7-not-valid-tip { display: none!important; }

.grecaptcha-badge { visibility: hidden; }

@media screen and (max-width: 767px) {
    .contact_read { text-align: left; margin-top: 6.0rem; }
.form_section { margin-top: 6.0rem; }
    .form_section > .inner { width: 81.53%; margin: 0 auto; }

    .form_section input,
    .form_section textarea { width: 100%; padding: 2.5rem; box-sizing: border-box; border: 1px solid #013650; background: none; font-size: 2.0rem; }
    .form_section select { width: 100%; padding: 2.5rem; box-sizing: border-box; border: 1px solid #013650; background: none; font-size: 2.0rem; }
.form_section input::placeholder,
.form_section textarea::placeholder { color: #A7ACA4; }
.form_section textarea { height: 58.8rem; }
    .form_item + .form_item { margin-top: 3.0rem; }
.form_item .hd { margin-bottom: 1.0rem; font-size: 2.2rem; }

    .privacy_txt { margin-top: 2.5rem; font-size: 1.6rem; text-align: left; }
    .btn_submit { width: 100%; margin: 5.0rem auto 0; }
.btn_submit input { border: 2px solid #013650; border-radius: 5.0rem; padding: 2.5rem; background: url("../img/arrow_btn.svg") no-repeat 95% center; }
    
    .select-wrap {
      position: relative;
      width: 100%;
    }
    
}

/*link*/
a.link_txt { text-decoration: underline; }

@media (hover: hover) and (pointer: fine) {
    a.link_txt:hover { text-decoration: none; }
    
    .nav_main_list a,
    .nav_sns a { transition: opacity 1.0s cubic-bezier(0.16, 1, 0.3, 1); }
    .nav_main_list a:hover,
    .nav_sns a:hover { opacity: 0.6; }
    
    .top_works_item .ph img { transition: transform 1.0s cubic-bezier(0.16, 1, 0.3, 1); }
    .top_works_item:hover .ph img { -webkit-transform: scale(1.05); transform: scale(1.05); }
    
    .footer_inq .btn a { transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1); }
    .footer_inq .btn a:hover { background: #fff; color: #013650; }
    
    .common_btn a .arrow { transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); }
    .common_btn a:hover .arrow { transform: translate(1.0rem,-50%); }

    
}

