@charset "utf-8";

/* ---------------------------------------- */
/* Base */
/* ---------------------------------------- */
body{
  color: #222;
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Helvetica, Arial, system-ui, sans-serif;
  letter-spacing: 0.08em;
  font-size: 14px;
  line-height: 1.8;
  -webkit-text-size-adjust: 100%;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;  
}

.ua-windows_nt body {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3","メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Helvetica, Arial, system-ui, sans-serif;
}

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video, a{
  box-sizing: border-box;
}
main{
  display:block;
}
img{
  max-width:100%;
  height: auto;
}
button{
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}
address {
  font-style: normal;
}
a:link { color: inherit; text-decoration: none;}
a:visited { color: inherit; }
a:hover { color: inherit; text-decoration: none;}
a:active { color: inherit; }

p, ul li, ol li, dl dd, address {
  margin-bottom: 14px; 
}
h1, h2, h3, h4, h5, h6 {
  margin-top: 21px;
  margin-bottom: 14px;
}
h1, h2, h3, h4, h5, h6, dt, th {
  line-height: 1.6;
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.video,
.wp-block-embed__wrapper {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.video iframe,
.wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* ---------------------------------------- */
/* COMPONENT */
/* ---------------------------------------- */
.wf-en {
  letter-spacing: 0.12em;
}
.wf-en,
.c-headline {
  font-family: "Helvetica", "Arial", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", sans-serif;
}
/* font trigger */
.wf-trigger {
  font-family: "brandon-grotesque", "Helvetica", "Arial", sans-serif;
}
body.wf-loaded .wf-en,
body.wf-loaded .c-headline {
  font-family: "brandon-grotesque", "Helvetica", "Arial","Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", sans-serif;
}
.f-medium {
  font-weight: 500;
}
.f-blue {
  color: #2c4d98;
}

.show-sml{
  display: none;
}
.align-c{
  text-align:center;
}
.align-r{
  text-align:right;
}

.base-content p:empty {
  display: none;
}
.base-content {
  padding-top: 80px;
}

.c-btn,
.wp-block-button {
  width: 346px;
}
.c-btn a,
.wp-block-button a {
  display: block;
  min-height: 60px;
  padding: 17px 20px 0;
  border: 2px solid #f3f7fd;
  font-weight: bold;
  color: #222;
  letter-spacing: 0.2em;
  text-align: center;
  background: url(../img/assets/arrow_right_blue.png) center right 10px / 20px 6px  no-repeat #fff;
}
.c-btn.is-colored a,
.wp-block-button.is-colored a {
  border: 2px solid #2c4d98;
  background-color: #2c4d98;
  color: #fff;
  background-image: url(../img/assets/arrow_right_white.png);
}
.c-btn.is-full,
.wp-block-button.is-full {
  width: 100%;
}
.c-btn.is-alignleft a,
.wp-block-button.is-alignleft a {
  text-align: left;
}
.c-btn.is-anchor a,
.wp-block-button.is-anchor a {
  background-image: url(../img/assets/arrow_down_blue.png);
  background-size: 5px auto;
  background-position: right 20px center;
}
.c-btn.is-newwindow a,
.wp-block-button.is-newwindow a {
  background-image: url(../img/assets/icon_window_white.png);
  background-size: 16px 16px;
  background-position: center right 20px;
}
.c-btn.is-full a,
.wp-block-button.is-full a {
  background-position: right 20px center;
}


.c-btn a,
.wp-block-button a,
.wpcf7-form .wpcf7-confirm,
.wpcf7-form .wpcf7-submit,
.c-card a,
.c-hoverfunc a{
  transform: translateY(0px);
  transition: transform .2s cubic-bezier(0.215, 0.61, 0.355, 1), box-shadow .2s cubic-bezier(0.215, 0.61, 0.355, 1);
  box-shadow:0px 0px 15px 3px rgba(44, 77, 152, 0);
  position: relative;
  will-change: transform;
}
.ua-desktop .c-btn a:hover,
.ua-desktop .wp-block-button a:hover,
.ua-desktop .wpcf7-form .wpcf7-confirm:hover,
.ua-desktop .wpcf7-form .wpcf7-submit:hover,
.ua-desktop .c-card a:hover,
.ua-desktop .c-hoverfunc:hover a{
  transform: translateY(-3px);
  transition: transform .3s cubic-bezier(0.215, 0.61, 0.355, 1), box-shadow .3s cubic-bezier(0.215, 0.61, 0.355, 1);
  box-shadow:0px 0px 15px 3px rgba(44, 77, 152, .15);
  z-index: 2;
}

.ua-desktop .c-btn.is-colored a:hover,
.ua-desktop .wpcf7-form .wpcf7-confirm:hover,
.ua-desktop .wpcf7-form .wpcf7-submit:hover {
  box-shadow:0px 0px 15px 3px rgba(44, 77, 152, .3);
}

.c-pagettl {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 44px;
  font-weight: bold;
  letter-spacing: 0.1em;  
  line-height: 1.2;
  text-align: right;
}
.c-headline {
  margin-bottom: 0;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.2;
  margin-top: 0;
  word-break: break-all;
}
.c-headline::after {
  content:'';
  display: block;
  width: 24px;
  height: 2px;
  background-color: #222;
  margin-top: 1em;
}

.c-headline.is-sml {
  font-size: 18px;
}
.c-headline.is-sml::after {
  width: 14px;
}

.c-headline.align-c::after {
  margin-left: auto;
  margin-right: auto;
}

.c-headline.is-white::after {
  background-color: #fff;
}
body.wf-loaded .c-headline.is-ja,
body.wf-loaded .is-ja {
  font-weight: bold;
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Helvetica, Arial, system-ui, sans-serif;
}

.c-dl {
  border-top: 1px solid #d7dbe4;
  overflow: hidden;
}
.c-dl dt {
  float: left;
  width: 214px;
  padding-top: 24px;
  padding-bottom: 24px;  
  font-weight: bold;
}
.c-dl dd {
  margin-bottom: 0;
  padding-top: 24px;
  padding-bottom: 24px;  
  padding-left: 242px;
  border-bottom: 1px solid #d7dbe4;

  img {
    margin-top: 18px;
    width: 100%;
    height: auto;
  }
}
.c-dl li {
  position: relative;
  padding-left: 1em;
}
.c-dl li::before {
  content:'-';
  display: block;
  position: absolute;
  left: 0;
}
.c-dl li,
.c-dl p {
  margin-bottom:0;
}
.c-dl li br {
  display: none;
}

.has-bg-left {
  position: relative;
}
.has-bg-left::before {
  content:'';
  display: block;
  width: 64.86%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background-color: #f3f7fd;
}
.has-bg-right {
  position: relative;
}
.has-bg-right::before {
  content:'';
  display: block;
  width: 35.14%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  background-color: #f3f7fd;
}
.l-section {
  position: relative;
  padding-top: 120px;
  padding-bottom: 120px;
}

.l-section.has-bg-full {
  background-color: #f3f7fd; 
}
.l-section.has-bg-full::before {
  content:'';
  display: block;
  width: 80px;
  height: 100%;
  position: absolute;
  top: 0;
  z-index: 0;
  background-color: #fff;
}

.l-section.-adjust-no-headmargin {
  padding-top: 0; 
}

@media screen and (max-width: 1440px) and (min-width: 801px) { 
  .l-section.has-bg-full::before {
    width: 5.55vw;
  }
}

.c-list-sort {
  width: 180px;
}
.c-list-sort li {
  background-color: #fff;
  margin-bottom: 8px;
  height: 40px;

}
.c-list-sort li a {
  display: block;
  height: 100%;
  font-size: 14px;
  padding: 8px 15px 0;
  font-weight: bold;
  color: #2c4d98; 
}

.c-card a {
  display: block;
}
.c-card .imgbox {
  position: relative;
  background-size: cover;  
  background-position: center;
  background-repeat: no-repeat;
}
.c-card .imgbox p {
  position: absolute;
  margin-bottom:0;
}
.c-card .metabox {
  background-color: #fff;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  padding: 17px 55px 17px 20px;
  font-size: 16px;
  font-weight: bold;
  border: 2px solid #f3f7fd;
  line-height: 1.4;
  background: url(../img/assets/arrow_right_blue.png) center right 20px / 20px 6px  no-repeat #fff;
}
.c-card .metabox::after {
  content: 'VIEW MORE';
  display: block;
  position: absolute;
  top: 20px;
  right: 50px;
  color: #2c4d98;
  font-family: "brandon-grotesque", "Helvetica", "Arial","Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", sans-serif;
  font-size: 14px;
  font-weight: bold;
  text-decoration: none;
}
.c-card .metabox p {
  margin-bottom: 0;
}
.c-card .metabox p .desc {
  margin-left: 11px;
  font-size: 14px;
  font-weight: normal;
  letter-spacing: 0.15em;
}


.bg-bar {
  display: block;
  width: 80px;
  height: 100%;
  position: absolute;
  top: 0;
  z-index: 2;
}
.bg-bar.show-sml {
  display: none;
}

.bg-bar.bg-left {
  left: 0;
}
.bg-bar.bg-right {
  right: 0;
}
.bg-bar.bg-top,
.bg-bar.bg-bottom {
  left: 0;
  height: 80px;
  width: 100%;
  z-index: 3;
}
.bg-bar.bg-top {
  top: 0;
}
.bg-bar.bg-bottom {
  top: auto;
  top: initial;
  bottom:0;
  left: 0;
}
.bg-bar.bg-blue {
  background-color: #2c4d98;
}
.bg-bar.bg-white {
  background-color: #ffffff;
}
@media screen and (max-width: 1440px) and (min-width: 801px) { 
  .bg-bar {
    width: 5.55vw;
  }
  .bg-bar.bg-top {
    width: 100%;
  }
  .bg-bar.bg-bottom {
    width: 100%;
  }  
}

.page-head {
  position: relative;
  padding-top: 108px;
  padding-bottom: 120px;
}
.page-head .bg-right {
  top: -80px;
  height: calc(100% + 80px);
}
.page-head .c-pagettl {
  margin-bottom: 101px;
}
.page-head .c-pagettl a {
  display: inline-block;
  opacity: 1;
  transition: opacity .4s ease-out;
}
.ua-desktop .page-head .c-pagettl a:hover {
  opacity: .5;
  transition: opacity .2s ease-out;
}
.page-body {
  margin-top: 80px;
  position: relative;
}

/* adjust page-head look */
body.is-pagehead-short .page-head::after {
  content:'';
  display: block;
  width: 35.14%;
  height: 795px;
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 1;
  background-color: #fff;  
}
body.is-pagehead-short .l-section:first-of-type::after {
  content:'';
  display: block;
  width: 100%;
  height: 80px;
  position: absolute;
  top: 795px;
  left: 0;
  z-index: 0;
  background-color: #fff;  
}
body.is-pagehead-short .page-head {
  padding-bottom: 0;
}
body.is-pagehead-short .page-head .c-pagettl {
  margin-bottom: 0;
}
body.is-pagehead-short .page-body {
  margin-top: 0;
}
body.is-pagehead-short .l-section:first-of-type {
  padding-top: 110px;
}
/* adjust page-head look */


/* ---------------------------------------- */
/* LAYOUT */
/* ---------------------------------------- */
.l-outer {
  width: calc(100% - 180px);
  width: calc(100% - 160px);
  margin: 0 auto;
}
.l-inner {
  padding-left: 80px;
  padding-right: 80px;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;

  &.is-single {
    max-width: 680px;
    box-sizing: content-box;
  }
}

@media screen and (max-width: 1440px) and (min-width: 801px) {
  .l-outer {
    width: calc(100% - 11.11vw);
  } 
  .l-inner { 
    padding-left: 5.55vw;
    padding-right: 5.55vw;

  }
}

.wp-block-columns {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;  
}
.base-content .wp-block-columns {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;  
}

@media screen and (min-width: 801px) {
  .wp-block-columns.has-2-columns .wp-block-column:nth-child(1) {
    width: 30.89%;
    padding-right: 20px;
  }
  .wp-block-columns.has-2-columns .wp-block-column:nth-child(2) {
    width: 69.11%;
  }  
}



.l-header::before {
  content:'';
  display: block;
  width: 100%;
  height: 80px;
  position: absolute;
  top: 0;  
  left: 0;
  background-color: #f3f7fd;
  z-index: -1;  
}
.l-header::after {
  content:'';
  display: block;
  width: 100%;
  height: 80px;
  position: fixed;
  top: 0;  
  left: 0;
  background-color: #fff;
  z-index: 4;
  opacity: 0;
  transition: opacity .4s ease-out;
}

.l-header .header-logo {
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  margin-bottom:0;
  width: 222px;
  height: 222px;
  background-color: #fff;
}
.l-header .header-logo{
  display: block;
}

body.is-scrolled .l-header .header-logo {
  background-color: transparent;
  width: auto;
  height: auto;
}

.l-header .header-logo .logo-scrolled {
  display: none;
}
.l-header .header-logo a {
  display: block;
}

.l-header .header-logo a,
.l-footer .footer-logo a {
  display: block;
  transform: scale(1, 1);
  transition: transform .4s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.ua-desktop .l-header .header-logo a:hover,
.ua-desktop .l-footer .footer-logo a:hover {
  transform: scale(.9, .9);
  transition: transform .4s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media screen and (min-width: 801px){

  body.home .header-logo a {
    pointer-events: none;
  }
  body.home.is-scrolled .header-logo a {
    pointer-events: auto;
  }  

  body.is-scrolled .l-header::after{
    opacity: 1;
    box-shadow:0px 0px 15px 3px rgba(44, 77, 152, .05); /* TEMP */
  }
  body.is-scrolled .l-header .header-logo {
    position: fixed;
    height: 80px;
    left: 0;
    padding-left: 30px;
  }
  body.is-scrolled .l-header .header-logo a {
    height: 100%;
    padding-top: 22px;
  }
  body.is-scrolled .l-header .header-logo .logo-default {
    display: none;
  }
  body.is-scrolled .l-header .header-logo .logo-scrolled {
    display: block;
  }  
}

.l-header .inner {
  position: relative;
}
.l-header .inner::before {
  content:'';
  display: block;
  width: 80px;
  height: 80px;
  position: absolute;
  top: 0;
  right: 0;
  background-color: #fff;
}
@media screen and (max-width: 1440px) and (min-width: 801px) { 
  .l-header .inner::before {
    width: 5.55vw;
  }
}

.l-header .gnav {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  font-weight: bold;
  height: 80px;
  position: fixed;
  z-index: 5;
  width: 100%;
  top: 0;
  right: 0;  
  padding-right: 60px;
}

.l-header .gnav li {
  height: 100%; 
  margin-left: 60px;
  margin-bottom: 0;
}

.l-header .gnav li a {
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}
.l-header .gnav li a::after {
  content:'';
  display: block;
  width: 100%;
  height: 2px;
  background-color: #2c4d98;
  position: absolute;
  bottom: 20px;
  left: 0;
  opacity: 0;
  transition: opacity .4s ease-out;
}
.l-header .gnav li a:hover::after,
.l-header .gnav li.is-current a::after {
  opacity: 1; 
  transition: opacity .2s ease-out;
}

/* gnav レイアウト改修 */
body.is-scrolled .l-header .gnav {
  height: 53px;
  top: 27px;
}
body.is-scrolled .l-header .gnav li a{
  /* background: #eee;   */
}
body.is-scrolled .l-header .gnav li a::after {
  bottom: 0px;
}
/* body.is-scrolled .l-header .gnav li a:hover::after,
body.is-scrolled .l-header .gnav li.is-current a::after {
  opacity: 1; 
  transition: opacity .2s ease-out;
} */

/* NOTE BTN Hnav */
.l-header .header-note-hnav{
  position: fixed;
  top: 7px;
  right: 54px;
  font-size: 12px;
  font-weight: bold;
  opacity: 0;
  pointer-events: none;
  z-index: 5;
}
.l-header .header-note-hnav::after {
  content: '';
  display: inline-block;
  position: relative;
  top: 1px;
  width: 11px;
  height: 11px;
  margin-left: 5px;
  background: url(../img/assets/icon_window_blue.png) center right / 11px 11px no-repeat;
}
.l-header .header-note-hnav a{
  display: inline-block;
  height: 100%;
  padding-bottom: 0;
}
.l-header .header-note-hnav a::after{
  content:'';
  display: block;
  width: 100%;
  height: 1px;
  background-color: #2c4d98;
  position: absolute;
  bottom: 0;
  opacity: 0;
  transition: opacity .4s ease-out;
}
.l-header .header-note-hnav a:hover::after{
  /* border-bottom: 1px solid #2c4d98; */
  opacity: 1; 
  transition: opacity .2s ease-out;
}
body.is-scrolled .l-header .header-note-hnav{
  top: 15px;
  /* right: 54px; */
  opacity: 1;
  pointer-events: auto;
}

/* NOTE BTN Blue */
.l-header .header-note-btn{
  position: fixed;
  top: 68px;
  right: 54px;
  margin: 0;
  width: 184px;
  height: 44px;
  z-index: 5;
  transition: opacity .4s ease-out;
}
.l-header .header-note-btn a{
  display: block;
  height: 100%;
  padding: 12px 0 0 65px;
  color: #fff;
  background-color: #2c4d98;
  font-size: 12px;
  font-weight: bold;
  border-radius: 50px;
  letter-spacing: 0.02em;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  transform: translateY(0px);
  transition: transform .2s cubic-bezier(0.215, 0.61, 0.355, 1), box-shadow .2s cubic-bezier(0.215, 0.61, 0.355, 1);
  will-change: transform;
}
.l-header .header-note-btn a:before{
  content: '';
  display: block;
  position: absolute;
  top: 4px;
  left: 4px;
  width: 57px;
  height: 36px;
  background: url(../img/assets/icon_note.svg) 50% 50% no-repeat;
  background-color: #fff;
  background-size: 39px auto;
  border-radius: 24px;
}
.ua-desktop .l-header .header-note-btn a:hover{
  transform: translateY(-2px);
  transition: transform .3s cubic-bezier(0.215, 0.61, 0.355, 1), box-shadow .3s cubic-bezier(0.215, 0.61, 0.355, 1);
  box-shadow:0px 0px 15px 3px rgba(44, 77, 152, .3);
  z-index: 2;
}
  body.is-scrolled .l-header .header-note-btn{
    opacity: 0;
    pointer-events: none;
    cursor: default;
  }


/* MENU ICON*/
.c-menu_icon {
  width: 47px;
  height: 47px;
  position: fixed;
  z-index: 11;
  top: 0;
  right: 0;
  display: block;
  display: none;
}
.c-menu_icon_btn {
  display:block;
  position: relative;
  width: 20px;
  height: 10px;
  margin: 0 auto;
}
.c-menu_icon_btn span {
  display: inline-block;
  position: absolute;
  z-index:3;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #111;
  border-radius: 8px;
  will-change:transform;
  transition:transform .2s ease-out, width .2s ease-out, opacity .2s ease-out;
}
.c-menu_icon_btn span:nth-of-type(1) {
  top: 0;
}
.c-menu_icon_btn span:nth-of-type(2) {
  bottom: 0;
}
body.is-menu-open .c-menu_icon .c-menu_icon_btn span:nth-of-type(1) {
  transform-origin:center center;
  transform: translateY(4px) translateX(0px) rotate(45deg);
}
body.is-menu-open .c-menu_icon .c-menu_icon_btn span:nth-of-type(2) {
  transform-origin:center center;
  transform: translateY(-4px) translateX(0px) rotate(-45deg);
  width: 100%;
}
.ua-edge body.is-menu-open .c-menu_icon .c-menu_icon_btn span:nth-of-type(2),
.ua-ie body.is-menu-open .c-menu_icon .c-menu_icon_btn span:nth-of-type(2) {
  transform-origin:left top;
  transform: translateY(0px) translateX(0px) rotate(-45deg);
}
.ua-desktop .c-menu_icon:hover .c-menu_icon_btn span:nth-of-type(2) {
  width: 100%;
}  

.l-menu {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
}
.l-menu .menu-overlay {
  display: block;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, .5);
  opacity: 0;
}

.l-menu .menu_inner {
  width: 50%;
  height: 100%;
  background-color: #2c4d98;
  padding: 187px 0 0;
  position: relative;
  margin-right: 0;
  margin-left: auto; 
  color: #fff;
  transform-origin: right top;
}
.l-menu .menu_inner::before {
  content:'';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
  width: 100%;
  height: 47px;
}

body.is-menu-open .l-menu {
  display: block;
}


.l-menu .menu_inner ul {
  font-weight: bold;
  text-align: center;
  font-size: 20px;
}
.l-menu .menu_inner ul li {
  height: 44px;
  margin-bottom: 0;
}
.l-menu .menu_inner ul li a {
  display: block;
  height: 100%;
  padding-top: 4px;
}
.l-menu .menu_inner ul li.is-current a {
  background-color: #fff;
  color: #2c4d98;
}

.l-footer {
  position: relative;
  z-index: 3;
  margin-top: 80px;
  padding-top: 75px;
  padding-bottom: 80px;
  background-color: #2c4d98;
  color: #fff;
}
.l-footer .pagetop {
  width: 80px;
  height: 80px;
  background: url(../img/assets/arrow_pagetop.png) center center / 28px 16px no-repeat #222;
  position: absolute;
  top: -80px;
  right: 0;
  z-index: 2;
  font-size: 0;
  transition: background .2s ease-out;
}
.ua-desktop .l-footer .pagetop:hover {
  background-position: center top 24px;
}
@media screen and (max-width: 1440px) and (min-width: 801px) { 
  .l-footer .pagetop {
    width: 5.55vw;
  }
}

.l-footer .l-inner {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: flex-start;  
  max-width: 100%;
}
.l-footer .footer-logo {
  margin-bottom: 16px;
  max-width: 189px;
}
.l-footer address {
  letter-spacing: 0.1em;
}
.l-footer .footer-nav {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  font-weight: bold;
  height: 40px;
  margin-top: -10px;
  margin-bottom: 16px;  
}
.l-footer .footer-nav li {
  height: 100%;
  margin-left: 40px;
  margin-bottom: 0;
  letter-spacing: 0.18em;
}
.l-footer .footer-nav li a {
  display: block;
  position: relative;
  padding-top: 9px;
  height: 100%;

}
.l-footer .footer-nav li a::before {
  content:'';
  display: block;
  width: 100%;
  height: 2px;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  opacity: 0;
  transition: opacity .2s ease-out;
}
.ua-desktop .l-footer .footer-nav li a:hover::before {
  opacity: 1;
}
.l-footer .c-btn {
  margin-left: auto;
}
.l-footer .copyright {
  position: fixed;
  transform: translateX(50%) rotate(90deg);
  transform-origin: center center;
  bottom: 50%;
  right: 40px;
  color: #222;
  font-weight: bold;
  font-size: 10px;
  z-index: 121;
  margin: 0;
}

@media screen and (min-width: 801px) {  

  body.is-copyright-fixed .l-footer .copyright {
    position: absolute;
    bottom: 500px;
    right: calc(0px - 40px);
  }
  @media screen and (max-width: 1440px) and (min-width: 801px) {  
    .l-footer .copyright {
      right: 2.7vw;
    }
    body.is-copyright-fixed .l-footer .copyright {
      right: calc(-2px - 2.7vw);     
    }
  }
}

.l-entry {
  padding: 56px 63px;
  background-color: #fff;
  border: 2px solid #f3f7fd;
  max-width: 774px;  
}
.l-entry .date{
  display: inline-block;
  color: #888;
}
.l-entry .category {
  float: right;
  color: #888;
}
.l-entry .ttl {
  margin-top: 11px;
  font-size: 20px;
  font-weight: bold;
}
.ua-desktop .l-entry a:hover {
  text-decoration: underline;
}
.l-entry .l-entry-content {
  margin-top: 33px;
}
.l-entry .l-entry-content figure {
  margin-bottom: 34px;
}
.l-entry .l-entry-content h2 {
  font-size: 18px;
}
.l-entry .l-entry-content h3 {
  font-size: 16px;
}

.l-entry .l-entry-content .aligncenter {
  text-align: center;
}
.l-entry .l-entry-content .alignright {
  text-align: right;
}

/*without float*/

.l-entry .l-entry-content .size75 img {
  width: 75%;
}
.l-entry .l-entry-content .size50 img{
  width: 50%;
}
.l-entry .l-entry-content .size25 img{
  width: 25%;
}
.l-entry .l-entry-content .alignleft img{
  float: left;
  margin-right: 1em;
}
.l-entry .l-entry-content .alignright img{
  float: right;
  margin-left: 1em;
}
.l-entry .l-entry-content .wp-block-embed__wrapper {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.l-entry .l-entry-content .wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.l-entry p{
  margin-bottom: 24px;
}
.l-entry .l-entry-content .wp-block-columns .wp-block-column {
  padding: 1em;
}
.l-entry .l-entry-content .wp-block-columns .wp-block-column:first-child {
  padding-left: 0;
}
.l-entry .l-entry-content .wp-block-columns .wp-block-column:last-child {
  padding-right: 0;
}
.l-entry .l-entry-content .wp-block-columns.has-2-columns .wp-block-column {
  width: 50%;
}
.l-entry .l-entry-content .wp-block-columns.has-3-columns .wp-block-column {
  width: 33.3%;
  padding: 1em;
}
.l-entry .l-entry-content .wp-block-columns.has-4-columns .wp-block-column {
  width: 25%;
  padding: 1em;
}
.l-entry .l-entry-content .wp-block-columns.has-4-columns,
.l-entry .l-entry-content .wp-block-columns.has-5-columns {
  flex-wrap: wrap;
}
.l-entry .l-entry-content .wp-block-columns.has-4-columns .wp-block-column,
.l-entry .l-entry-content .wp-block-columns.has-5-columns .wp-block-column {
  width: 50%;
  padding: 1em;
}

.l-pager {
  display: flex;
  justify-content: center;
  align-items: flex-start;  
  margin-top: 60px;
  font-weight: bold;
}
.nav-archivetop {
  margin: 0 120px;
}
.wp-pagenavi {
  display: flex;
  justify-content: center;
  align-items: center;  
  margin: -2px 60px 0;
}
.wp-pagenavi .first,
.wp-pagenavi .last,
.wp-pagenavi .page,
.wp-pagenavi .current {
  display: block;
  position: relative;
  margin: 0 7.5px;
  width: 27px;
  height: 27px;
  padding-top: 6px;
  line-height: 1;  
  background-color: #2c4d98;
  
  border-bottom: 2px solid transparent;
  background-color: transparent;
  color: #222;
  transition: color .4s ease-out;
}

.wp-pagenavi .first:before,
.wp-pagenavi .last:before,
.wp-pagenavi .page:before {
  content:'';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scale(1, 0);
  transform-origin: center bottom;
  background-color: #2c4d98;
  z-index: -1;
  transition: transform .2s ease-out;
}


.wp-pagenavi .current {
  border-bottom: 2px solid #2c4d98;
}
.nav-edge {
  margin-bottom:0;
}
.l-pager p.spacer {
  display: block;
  min-width: 80px;
  margin:0;
}

.nav-archivetop a,
.nav-edge a {
  color: #2c4d98;
}
.nav-edge a {
  padding-top: 2px;  
}
.nav-prev a::before,
.nav-next a::after {
  content:'';
  display: inline-block;
  width: 20px;
  height: 13px;
  background: url(../img/assets/arrow_right_blue.png) center right / 20px 6px  no-repeat;
  transform:translateX(0px);
  transition: transform .2s ease-out;
}

.nav-next a::after{
  margin-left: 18px;
}
.nav-prev a::before{
  margin-right: 18px;
  background-image: url(../img/assets/arrow_left_blue.png);
}

.ua-desktop .nav-archivetop a:hover,
.ua-desktop .nav-edge a:hover {
  text-decoration: underline;
}

.nav-next a:hover::after { 
  transform:translateX(4px);
  transition: transform .2s ease-out;    
}
.nav-prev a:hover::before { 
  transform:translateX(-4px);
  transition: transform .2s ease-out;    
}

.ua-desktop .wp-pagenavi .first:hover::before,
.ua-desktop .wp-pagenavi .last:hover::before,
.ua-desktop .wp-pagenavi .page:hover::before {
  transform: scale(1, 1);
  transform-origin: center bottom;
  color: #fff; 
  
}
.ua-desktop .wp-pagenavi .first:hover,
.ua-desktop .wp-pagenavi .last:hover,
.ua-desktop .wp-pagenavi .page:hover {
  color: #fff; 
  transition: color .2s ease-out;
}

/* Contents List add 202308 */
.list-contents{
  display: flex;
  flex-wrap: wrap;
  gap: 26px 32px;
}
.list-contents .clist-item{
  width: calc( ( 100% - 32px ) / 2  );
  margin: 0;
}
.list-contents .clist-item a{
  display: block;
}
.list-contents .clist-item a:hover{
  opacity: 0.7;
}
.list-contents .clist-item .clist-item__thumb{
  border-radius: 16px;
}
.list-contents .clist-item .clist-item__title-unit{
  position: relative;
  padding: 17px 8px 0;
}

.list-contents .clist-item .clist-item__icn{
  position: absolute;
  top: -14px;
  display: block;
  width: 64px;
  height: 24px;
  margin: 0;
  padding: 7px 5px 2px;
  background: #fff;
  border-radius: 8px;
  text-align: center;
}
.list-contents .clist-item .clist-item__icn img{
  vertical-align: top;
  width: 44px;
  height: auto;
}
.list-contents .clist-item .clist-item__title{
  margin-bottom: 6px;
  font-size: 15px;
  line-height: 1.5;
}
.list-contents .clist-item .clist-item__subtitle{
  margin-bottom: 6px;
  font-size: 13px;
  line-height: 1.5;
  /* margin: 0 0 2px; */
}
.list-contents .clist-item .clist-item__more{
  margin: -1px 0 0;
  color: #2c4d98;
  font-size: 13px;
  font-weight: bold;
  text-transform: uppercase;
  text-align: right;
}
.list-contents .clist-item .clist-item__more::after {
    content: '';
    display: inline-block;
    width: 20px;
    height: 13px;
    margin-left: 9px;
    background: url(../img/assets/arrow_right_blue.png) center right / 20px 6px no-repeat;
    transform: translateX(0px);
    transition: transform .2s ease-out;
}
.list-contents .clist-item .clist-item__more.is-newwin::after {
  position: relative;
  top: 1px;
  width: 14px;
  height: 14px;
  margin-left: 7px;
  background: url(../img/assets/icon_window_blue.png) center right / 14px 14px no-repeat;
}

.list-contents .clist-item{
}

@media screen and (max-width: 820px) {
  .list-contents .clist-item .clist-item__icn{
    /* position: absolute; */
    top: -12px;
    /* display: block; */
    width: 56px;
    height: 21px;
    margin: 0;
    padding: 7px 5px 2px;
    background: #fff;
    border-radius: 8px;
    text-align: center;
  }
  .list-contents .clist-item .clist-item__icn img{
    vertical-align: top;
    width: 38px;
    height: auto;
  }
  .list-contents .clist-item .clist-item__title{
    /* margin-bottom: 5px; */
    font-size: 14px;
    /* line-height: 1.5; */
  }
  .list-contents .clist-item .clist-item__subtitle{
    font-size: 12px;
    /* margin: 0 0 2px; */
  }
  .list-contents .clist-item .clist-item__more{
    /* margin: -8px 0 0; */
    /* color: #2c4d98; */
    font-size: 11px;
  }
}


/* ---------------------------------------- */
/* SPECIFIC */
/* ---------------------------------------- */

/*COMPANY*/
.section-statement {
  display: grid;
  grid-gap: 100px;

  > * {
    display: contents;
  }

 .block {
   display: grid;
   grid-gap: 26px;

   > * {
     display: contents;
   }

   .label {
     font-size: 18px;
     font-style: normal;
     font-weight: 600;
     line-height: 160%;
     color: var(--primaryColor);
     width: fit-content;
     margin: 0 auto;
   }

   .heading {
     font-size: 27px;
     font-style: normal;
     font-weight: 600;
     line-height: 160%;
     font-feature-settings: "palt";
     width: fit-content;
     text-align: center;
     margin: 0 auto;

     br {
       display: none;
     }
   }
 }
}

.section-message {
  padding-top: 72px;

  .bg-bar.bg-right {
    top: -80px;
    height: calc(100% + 80px);
  }

  p {
    margin-bottom:22px;
  }
}

.message-body {
  .heading {
    color: var(--primaryColor);
    width: max-content;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    grid-gap: 150%;
    margin: 0 auto;
  }

  .text {
    display: grid;
    grid-gap: 1.5em;
    margin-top: 24px;

    > * {
      display: contents;
    }

    p {
      font-size: 16px;
      line-height: 160%;
      font-weight: 300;
      grid-gap: 1.5em;
      margin: 0;
    }
  }
}

.message-ceo {
  display: grid;
  grid-template-columns: 1fr minmax(auto,216px);
  grid-template-areas: "text image";
  grid-gap: 30px;
  align-items: flex-end;
  margin-top: 42px;

  @media screen and (min-width: 1400px) {
    margin-top: 42px;
  }

  > * {
    display: contents;
  }

  img {
    display: block;
    grid-area: image;
    max-width: 100%;
    height: auto;
  }

  .text {
    grid-area: text;
    text-align: right;

    .wp-block-group__inner-container {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      align-items: center;
      gap: .25em 1em;
    }

    p {
      font-size: 13px;
      font-weight: 300;
      line-height: 150%;
      margin: 0;

      &.company {
        width: 100%;
      }

      &.name {
        font-size: 18px;
      }
    }
  }
}

.section-company_information {
  margin-top: 80px;

  .bg-bar.bg-top {
    top: -80px;
  }
}

.company_information-map {
  margin: 120px auto 0;
}
.company_information-map .map-container {
  height: 360px;
}
.company_information-map iframe {
  width: 100%;
  height: 100%;
}
.company_information-map .link-googlemap {
  margin-top: 10px; 
  margin-bottom: 0;
}
.company_information-map .link-googlemap a {
  font-size: 12px;
  text-decoration: underline;  
}
.ua-desktop .company_information-map .link-googlemap a:hover {
  text-decoration: none;  
}

/*
SERVICE ==================== */
.section-service-single-container {
  position: relative;
  z-index: 1;
  /* padding-bottom: 120px; */
  padding-bottom: 80px;
  background-color: #fff;
  border: 2px solid #f3f7fd;
}
.section-service-single-container.-service-top {
  margin-top: 120px;
}

/* anchor */
.section-service-single .anchor-service-wrap {
    max-width: 920px;
    margin: -120px auto 0;
    padding-right: 20px;
    padding-left: 20px;
}
.section-service-single .anchor-service{
  display: flex;
  max-width: 880px;
  gap: 0 28px;
}
.section-service-single .anchor-service .anchor-service__item{
  position: relative;
  max-width: 426px;
}
.section-service-single .anchor-service .anchor-service__item a{
  display: block;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.15);
  transform: translateY(0px);
  transition: transform .2s cubic-bezier(0.215, 0.61, 0.355, 1), box-shadow .2s cubic-bezier(0.215, 0.61, 0.355, 1);
  /* box-shadow:0px 0px 15px 3px rgba(44, 77, 152, 0); */
  position: relative;
  will-change: transform;
}
.ua-desktop .section-service-single .anchor-service .anchor-service__item a:hover{
  transform: translateY(-3px);
  transition: transform .3s cubic-bezier(0.215, 0.61, 0.355, 1), box-shadow .3s cubic-bezier(0.215, 0.61, 0.355, 1);
  box-shadow:0px 0px 15px 3px rgba(44, 77, 152, .3);
  z-index: 2;
}


.section-service-single .anchor-service .anchor-service__item .anchor-service-bg{
  margin: 0;
  padding: 0;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  overflow: hidden;
}
.section-service-single .anchor-service .anchor-service__item .anchor-service-logo{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  margin: -20px 0 0;
  padding: 0;
  text-align: center;
}
.section-service-single .anchor-service .anchor-service__item .anchor-service-logo img{
  max-width: 148px;
  /* width: 50%; */
}
.section-service-single .anchor-service .anchor-service__item .anchor-service-title-unit{
  padding: 10px 22px 6px;   
}
.section-service-single .anchor-service .anchor-service__item .anchor-service-title-unit:after{
  content: '';
  display: inline-block;
  position: absolute;
  bottom: 26px;
  right: 14px;
  width: 20px;
  height: 6px;
  background: url(../img/assets/arrow_right_blue.png) center right / 20px 6px  no-repeat;
  transform: rotate(90deg);
}
/* .news-home-viewall a::after {
  content:'';
  display: inline-block;
  width: 20px;
  height: 13px;
  margin-left: 10px;
  background: url(../img/assets/arrow_right_blue.png) center right / 20px 6px  no-repeat;
  transform:translateX(0px);
  transition: transform .2s ease-out;
} */


.section-service-single .anchor-service .anchor-service__item .anchor-service-title-eyebrow{
  margin: 0;
  padding: 0;
  font-size: 13px;
  line-height: 1.4;
}
.section-service-single .anchor-service .anchor-service__item .anchor-service-title{
  margin: 0 0 0;
  font-weight: bold;
  font-size: 16px;
  color: #2C4D98;
}


.section-service-single .vp-head {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  min-height: 460px;
}
.section-service-single .vp-head .imgbox {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;  
  width: 41.07%;
  background: url(../img/service/virtualplanner_head_bg.jpg) center center / cover no-repeat;
}
.section-service-single .vp-head .textbox {
  width: 58.92%;
  padding: 20px;
  display: flex;
    align-items: center;
    /* justify-content: center; */
}
.section-service-single .vp-head .textbox .inner {
  max-width: 440px;
  /* margin: 0 auto; */
  margin: 0 0 0 48px;
  padding-top: 12%;
}

.section-service-single .vp-head .textbox .sub {
  margin-bottom: 12px;
  font-size: 14px;
  font-weight: bold;
}
.section-service-single .vp-head .textbox .vp-head-headline-en {
  margin-bottom: 2px;
  font-size: 36px;
  font-weight: bold;
  line-height: 1.2;
}
.section-service-single .vp-head .textbox .c-headline {
  margin-top: 0;
  margin-bottom: 33px;
  font-size: 14px;
  line-height: 1.8;
  font-feature-settings: 'palt';
  letter-spacing: 0.15em;
}
.section-service-single .vp-head .textbox .c-headline::after {
  margin-top: 30px;
  display: none;
}
.section-service-single .vp-head .textbox .desc {
  margin-bottom: 0;
  line-height: 1.8;
}

.section-service-single .vp-content {
  max-width: 920px;
  margin: 67px auto 0;
  padding-right: 20px;
  padding-left: 20px;
}
.section-service-single .vp-content .vp-block{
  /* margin-bottom: 100px; */
  margin-bottom: 72px;
}
  .section-service-single .vp-content .vp-block.-adjust-bottom{
    margin-bottom: 0;
  }

.section-service-single .vp-content .target-item-unit{
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}
/* .section-service-single .vp-content .vp-block-headline {
  position: relative;
  font-size: 24px;
} */
.section-service-single .vp-content .vp-block-headline {
  position: relative;
  margin-top: 0;
  margin-bottom: 25px;
  font-size: 20px;
  color: #2C4D98;
  position: relative;
}
.section-service-single .vp-content .vp-block-headline span {
  /* display: inline-block; */
  /* padding: 0 20px; */
  /* background-color: #fff; */
  /* position: relative; */
}
.section-service-single .vp-content .vp-block-headline::before {
  content:'';
  display: block;
  width: 96px;
  height: 2px;
  background-color: #2C4D98;
  position: absolute;
  top: 15px;
  left: -120px;
  margin-top: 0;
  /* transform: rotate(180deg); */
  /* transform-origin: 100% 0; */
}
  @media screen and (max-width: 1445px) {
    .section-service-single .vp-content .vp-block-headline {
      font-size: 18px;
    }
    .section-service-single .vp-content .vp-block-headline::before {
      width: 24px;
      height: 2px;
      top: 13px;
      left: -36px;
    }
  }
  @media screen and (max-width: 1228px) {
    .section-service-single .vp-content .vp-block-headline::before {
      display: none;
    }
  }

.section-service-single .vp-content .target-item-list{
  display: flex;
  flex-wrap: wrap;
  width: 565px;
}
.section-service-single .vp-content .target-item-list li{
  min-width: 144px;
  margin-left: 20px;
  margin-bottom: 10px;
  font-size: 15px;
  font-weight: 600;
}
.section-service-single .vp-content .target-item-list li:before{
  content: '';
  display: inline-block;
  width: 15px;
  height: 12px;
  margin-top: 2px;
  margin-right: 6px;
  background: url('../img/assets/icon-check_02.svg') center/contain no-repeat;
  background-size: 14px auto;
}

.list-strength {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-top: 100px;
}
.list-strength li {
  position: relative;
  width: calc(25% - 10px);
  padding: 68px 15px 25px;
  background-color: #f3f7fd;
}
@media screen and (max-width: 1080px) and (min-width: 800px){
  .list-strength li {
    width: calc(50% - 10px);
  }
  .list-strength li:nth-child(n+3) {
    margin-top: 40px;
  }
}

.list-strength li figure {
  position: absolute;
  top: -48px;
  left: 50%;
  margin-left: -48px;
}

.list-strength li  p {
  margin-bottom: 0;
  font-size: 14px;
  line-height: 1.6;
  font-weight: bold;
}
.list-strength li .catch {
  margin-bottom: 6px;
  font-size: 12px;
  color: #2c4d98;
}

.section-service-single .vp-content .vp-block.vp-block-clients .c-headline::after{
  margin-top: 1.4em;
}
.vp-block.vp-block-clients .wp-block-column p {
  max-width: 440px;
  margin-left: auto;
  margin-right: 0;  
  line-height: 2;
}
.list-clients-container {
 margin-bottom: 0;
 margin-top: 0;
 /* outline: 1px solid #e8e8e8; */
 /* outline-offset: 1px; */
 padding: 20px 0 0;
}
@media screen and (max-width: 1000px) {
  .list-clients-container {
    padding: 20px 20px;   
  }
}

.list-clients-container ul {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  /* max-width: 758px; */
  max-width: 880px;
  margin: 0 auto;
}

.list-clients-container li {
  margin-bottom: 0;
  width: 25%;
  width: 18%;
  /* height: 80px; */
  height: 64px;
  padding: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.list-clients-container li span {
  display: block;
  position: relative;
  width: 100%;
  padding-top: 24.51%;
}
.list-clients-container li img {
  position: absolute;
  max-width: 155px;
  max-height: 38px;
  width: auto;
  height: 100%;
  margin: auto;
  top: 0;  
  right: 0;
  left: 0;
  bottom: 0;
}
.list-result-container ul {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap:wrap;
}

.list-result-container ul li {
  outline: 1px solid #e8e8e8;
  outline-offset: 1px;  
  width: 47.72%;
  margin-bottom: 40px;
}
.list-result-container ul li:nth-last-child(-n+2) {
  margin-bottom: 0;
}
.section-service-single .vp-content .c-btn {
  max-width: 690px;
  margin-left: auto;
  margin-right: auto;  
}
.section-service-single .vp-content .c-btn a {
  min-height: 70px;
  padding-top: 15px;
  font-size: 20px;
  font-feature-settings: 'palt';
  letter-spacing: 0.2em;  
}
.section-service-single .vp-content .c-btn a br {
  display: none;
}

/*
CONTACT ====================*/
.message-confirm {
  display: none;
  font-weight: bold;
  color: #2c4d98;
  margin-bottom: 40px;  
}
.message-novalidate {
  display: none;
  font-weight: bold;
  color: #ff3939;
  margin-bottom: 40px;  
}
.wpcf7-form.invalid .message-novalidate {
  display: block;
}
.wpcf7-form ::-webkit-input-placeholder { /* WebKit, Blink, Edge */
  color:#888;
}
.wpcf7-form :-ms-input-placeholder { /* Internet Explorer 10-11 */
  color:#888;
}
.wpcf7-form ::placeholder{ /* Others */
  color:#888
}
body.page-contact .c-headline{
  font-size: 20px;
  font-weight: bold;
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Helvetica, Arial, system-ui, sans-serif;
}
.wpcf7-form input,
.wpcf7-form textarea {
  -webkit-appearance: none; 
  appearance: none; 
  box-sizing: border-box;    
  display: block;
  background-color: #ffffff;
  border-radius: 0px;
  border: 1px solid transparent;
  outline: none;
  font-size: 16px;
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Helvetica, Arial, system-ui, sans-serif;
}

.wpcf7-form input:focus::-webkit-input-placeholder { /* WebKit, Blink, Edge */
  color:transparent;
}
.wpcf7-form textarea:focus::-webkit-input-placeholder { /* WebKit, Blink, Edge */
  color:transparent;
}

.wpcf7-form input:focus:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color:transparent;
}
.wpcf7-form textarea:focus:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color:transparent;
}

.wpcf7-form input:focus::placeholder{ /* Others */
  color:transparent;
}
.wpcf7-form textarea:focus::placeholder{ /* Others */
  color:transparent;
}



.section-contact .wp-block-columns{
  align-items: stretch;
}
.form-progress {
  position: -webkit-sticky;
  position: sticky;
  top: 134px;
  margin-top: -5px;
  color: #888;
  font-weight: 500;
}
.form-progress li {
  margin-bottom: 10px;
}

.form-item {
  margin-bottom: 20px;
}
.form-item label {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
.form-head {
  display: flex;
  justify-content: flex-start;
  align-items: center;  
  width: 27.67%;
  height: 80px;
  font-weight: bold;
  line-height: 1.6;
}
.form-body {
  display: block;
  width: 72.32%;
}
.form-body span {
  display: block;
}
.form-body span input,
.form-body span textarea {
  width: 100%;
  min-height: 80px;
  padding: 8px 36px;
}
.form-body span textarea {
  padding: 26px 36px;
}
.container-privacy-accept {
  background-color: #fff;
  margin-bottom: 60px;
}
.box-privacy {
  padding: 40px 40px;
  letter-spacing: 0.1em;
}
.box-privacy .inner {
  height: 170px;
  padding-right: 20px;
  overflow-y: scroll;
  overflow-x: hidden;
}
.box-privacy .inner h4:first-of-type {
  margin-top: 0;
}
.box-privacy p,
.box-privacy ul {
  color: #444444;
  font-size: 12px;
}
.box-privacy ul li > ul {
  padding-left: 1em;
}
.box-privacy ul li > ul li {
  margin-bottom: 0;
}

@media screen and (min-width: 801px) {
  .box-privacy .inner::-webkit-scrollbar{
    width: 10px;
  }
  .box-privacy .inner::-webkit-scrollbar-thumb{
    border-radius: 0px;
    background-color: #e6eaf3;
  }
  .box-privacy .inner::-webkit-scrollbar-track{
    background-color: rgba(230, 234, 243, .3);

  }  
}

.form-accept {
  display: block;
  padding: 20px 0;
  border-top: 2px solid #f3f7fd;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
}
.form-accept .checkbox-wrapper {
  display: flex;
  justify-content: center;
  align-items: flex-start;  
  opacity: 1;
  transition: opacity .2s ease-out;
}
.ua-desktop .form-accept:hover .checkbox-wrapper {
  opacity: .6;
}
.form-accept span.wpcf7-list-item {
  display: block;
  width: 20px;
  height: 20px;  
  margin-left: 0;
}
.form-accept .checkbox-wrapper > span {
  margin-right: 10px;
}
.container-privacy-accept input[type="checkbox"] {
  display: inline-block;  
  position: relative;
  width: 20px;
  height: 20px;
  background-color: #e6eaf3;
  margin:0;
}
.container-privacy-accept input[type="checkbox"]::after {
  content: '';
  display: block;
  width: 12px;
  height: 11px;
  background: url(../img/assets/icon_check.png) center center / contain no-repeat;
  position: absolute;
  top: 3px;
  left: 3px;
  visibility: hidden;
}
.container-privacy-accept input[type="checkbox"]:checked::after {
  visibility: visible;
}
.wpcf7-form .wpcf7-confirm,
.wpcf7-form .wpcf7-submit {
  display: block;
  width: 100%;
  min-height: 60px;
  padding: 0   20px 0;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  border: 2px solid #2c4d98;
  color: #fff;  
  background: url(../img/assets/arrow_right_white.png) center right 10px / 20px 6px  no-repeat #2c4d98;   
  cursor: pointer;
}
.wpcf7-form .wpcf7-submit {
  opacity: 1;
  transition: opacity .2s ease-out;
}
.wpcf7-form .wpcf7-submit:disabled {
  pointer-events: none;
  opacity: .3;
}
/*
.wpcf7-form .wpcf7-confirm,
.wpcf7-form .wpcf7-submit,
.wpcf7-form .wpcf7-back {
  display: none;
}*/

.wpcf7-form .wpcf7-back {
  cursor: pointer;
  margin-bottom: 50px;
  padding: 10px 21px;
  opacity: 1;
  transition: opacity .4s ease-out;
}
.ua-desktop .wpcf7-form .wpcf7-back:hover {
  opacity: .6;
  transition: opacity .2s ease-out;
}
.wpcf7-form span.wpcf7-not-valid-tip {
  color: #ff3939;
  font-size: 12px;
  margin-top: 4px;
}
.wpcf7-form div.wpcf7-validation-errors,
.wpcf7-form div.wpcf7-acceptance-missing {
  border: 2px solid #ff3939;
  color: #ff3939;
  font-weight: bold;
  height: 60px;
  padding: 17px 20px;
  display: none!important;
}

/*form status*/
body[data-formstatus="0"] .form-progress li:nth-child(1),
body[data-formstatus="1"] .form-progress li:nth-child(2),
body[data-formstatus="2"] .form-progress li:nth-child(3) {
  font-weight: bold;
  color: #2c4d98;
}

/*
body[data-formstatus="0"] .wpcf7-form .wpcf7-confirm {
  display: block;
}

body[data-formstatus="1"] .wpcf7-form .wpcf7-submit,
body[data-formstatus="1"] .wpcf7-form .wpcf7-back {
  display: block;
}
body[data-formstatus="1"] .message-confirm {
  display: block;
}
body[data-formstatus="2"] .wpcf7-form .wpcf7-confirm {
  display: block; 
}*/

.wpcf7 div.wpcf7-mail-sent-ok {
  display: block;
  color: #2c4d98;
  font-weight: bold;
  border: 2px solid #2c4d98;
  background-color: #fff;
  padding: 16px 25px 15px;  
}
.form-btn-container {
  position: relative;
}
div.wpcf7 .form-btn-container .ajax-loader {
  position: absolute;
  left: 50%;
  margin-left: -8px;
  bottom: -40px;
}

/*1000*/
@media screen and (max-width: 1000px){
  .section-contact .wp-block-columns {
    display: block;
  }
  .section-contact .wp-block-columns.has-2-columns .wp-block-column:nth-child(1) {
    width: 100%;
    padding-right: 0;
  }
  .section-contact .wp-block-columns.has-2-columns .wp-block-column:nth-child(2) {
    width: 100%;
  }
  .form-progress {
    position: static;
    top: 0;
    margin-top: 0;
    margin-bottom: 40px;
    display: flex;
    justify-content: center;
    align-items: flex-start;  
  }
  .form-progress li::after {
    content:'';
    display: inline-block;
    width: 5px;
    height: 8px;
    background: url(../img/assets/arrow_progress_blue.png) center / contain no-repeat;
    margin:0 1em;
    position: relative;
    top: -1px;
  }
  .form-progress li:nth-child(2)::after,
  .form-progress li:nth-child(3)::after {
    display: none;
  }
  .form-item label {
    display: block;
  }
  .form-head {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 8px;
  }
  .form-body {
     width: 100%;
  }
  .form-body span input,
  .form-body span textarea {
    min-height: 40px;
    padding: 0px 15px;
  }
  .form-body span textarea {
    padding-top: 9px;
  }
  .box-privacy {
    padding: 20px;
  }
  .box-privacy .inner {
    height: 158px;
  }
  .box-privacy .inner h4 {
    margin-bottom: 10px;
  }
  .form-accept {
    border-top-width: 2.5px;
    margin-top: 0;
    padding: 6px 0;
    font-size: 14px;
  }

  /* FORM STATUS */
  /*
  body[data-formstatus="0"] .form-progress li:nth-child(1)::after
  body[data-formstatus="1"] .form-progress li:nth-child(2)::after{
    background-image: url(../img/assets/arrow_progress_grey.png);
  } */ 
}
/*1000*/


/* NEWS ARCHIVE */
body.archive .c-list-sort,
body.single .c-list-sort {
  margin-top: 35px;
  margin-bottom: 120px;
}
body.archive .c-list-sort:last-child,
body.single .c-list-sort:last-child {
  margin-bottom:0;
}

body.is-pagehead-short.single .l-section:first-of-type::after {
  display: none;
}

.list-article .item {
  margin-bottom: 60px;
}
body.archive .c-pagettl-category {
  margin: 10px 5px 0 0;
}


/* RECRUIT */
.ttl-alternate span.is-even {
  color: #2c4d98;
}
body.page-recruit .page-head {
  /* padding-bottom: 134px; */
  padding-bottom: 80px;
}
body.page-recruit .page-head p {
  margin-bottom: 26px;
}
body.page-recruit .page-body .c-headline{
  /* font-size: 20px; */
}
@media screen and (max-width: 950px) and (min-width: 801px) { 
  body.page-recruit .page-body .c-headline{
    font-size: 18px;
  }
}
.section-job_employee .bg-bar.bg-right {
  top: -80px;
  height: calc(100% + 80px);
}
.nav-recruit {
  margin-top: 74px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.nav-recruit li {
  width: calc(50% - 20px);
}
.nav-recruit li:nth-child(2n){
  margin-left: 40px;
}
@media screen and (min-width: 1001px){
  .ua-edge .nav-recruit li:nth-child(2n){
    margin-left: 39px;
  }  
}


@media screen and (max-width: 1000px) and (min-width: 801px){
  .nav-recruit li {
    width: 100%;
  }
  .nav-recruit li:nth-child(2n){
    margin-left: 0;
  }  
}

.list-jobs {
  margin-top: 56px;
}
.list-jobs li {
  margin-bottom: 20px;
  background-color: #fff;
  border: 2px solid #f3f7fd;
}
.list-jobs li:last-child {
  margin-bottom:0;
}
.list-jobs .job-ttl-box {
  position: relative;
  padding: 34px 40px 34px 40px;
  overflow: hidden;
}
.list-jobs.list-toggle .job-ttl-box {
  padding: 34px 93px 34px 40px;
  opacity: 1;
  transition: opacity .4s ease-out;
  cursor: pointer;
}
.ua-desktop .list-jobs.list-toggle .job-ttl-box:hover {
  opacity: .6;
  transition: opacity .2s ease-out;
}

.list-jobs .job-ttl {
  float: left;
  margin: 0;
  font-size: 16px;
  color: #2c4d98;
}
.list-jobs .job-employment {
  float: right;
  margin: 0 !important;
  font-size: 16px;
  font-weight: bold;  
}
@media screen and (max-width: 1000px) and (min-width: 801px){ 
  .list-jobs .job-ttl {
    float: none;
  }
  .list-jobs .job-employment {
    float: none;
    font-size: 15px;
  }
}
.list-jobs-remotework .job-box-ttl {
  width: 100%;
}

.list-jobs .job-toggle {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 94px;
  /* height: 94px; */
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  font-size: 0;
}
.list-jobs .job-toggle .iconbox {
  display: block;
  position: relative;
  width: 16px;
  height: 16px;
  margin: 0 auto;
  transform: rotate(0deg);
  transition: transform .2s ease-out;
}
.list-jobs .job-toggle .iconbox::before,
.list-jobs .job-toggle .iconbox::after {
  content:'';
  display: block;
  position: absolute;
  background-color: #2c4d98;
  transform-origin: center;
  transition: transform .2s cubic-bezier(0.215, 0.61, 0.355, 1);
  backface-visibility: hidden;
}
.list-jobs .job-toggle .iconbox::before {
  width: 2px;
  height: 100%;
  left: 7px;
}
.list-jobs .job-toggle .iconbox::after {
  width: 100%;
  height: 2px;
  top: 7px;
  opacity: 1;
  transition: transform .2s cubic-bezier(0.215, 0.61, 0.355, 1), opacity .2s ease-out;;
}
.list-jobs.list-toggle li.is-jobitem-open .iconbox {
  transform: rotate(90deg);
  transition: transform .2s ease-out;
}
.list-jobs.list-toggle li.is-jobitem-open .iconbox::after {
  opacity: 0;
}

.list-jobs li .job-box-content  {
  padding-bottom: 34px;
}
.list-jobs li .job-box-content p {
  padding-left: 40px;
  padding-right: 40px;    
}
.list-jobs.list-toggle li .job-box-content  {
  display: none;
}
.list-jobs.list-toggle li.is-jobitem-open .job-box-content  {
  display: block;
}
.list-jobs li .job-box-content .c-btn {
  margin-top: 34px;
  margin: 34px auto 6px;
  width: calc(100% - 80px);
}
.list-jobs.list-toggle li .job-box-content .c-btn a {
  padding-top: 20px;
  height: 70px;
  font-size: 16px;
}

.job-interview {
  margin-top: 120px;
  padding: 64px 20px 60px;
  background-color: #fff; 
}
.page-body .job-interview .c-headline {
  font-size: 16px;
}
.page-body .job-interview .c-headline::after {
  margin-top: 1.6em;
}


.job-interview .inner {
  max-width: 960px;
  margin: 0 auto;
}
.job-interview .ttl-inteview {
  margin-top: 0;
  font-size: 40px;  
}

.job-interview-content {
  margin-top: 80px;
}
.interview-item .interview-item-container,
.interview-item .interview-item-container > .wp-block-group__inner-container {
  display: flex;
  justify-content: center;
  align-items: flex-start;  
}

.interview-item .interview-item-container .box-ttl {
  width: 32.3%;
  max-width: 270px;
  position: -webkit-sticky;
  position: sticky;
  z-index: 2;
  top: 130px;
  padding-top: 40px;
}
body.page-remotework .interview-item .interview-item-container .box-ttl { 
  position: relative;
  top: 0;
}

.interview-item .interview-item-container .box-ttl .interview-name {
  margin-top: 15px;  
  line-height: 1.8;
}


@media screen and (min-width: 801px) {
  .interview-item .interview-item-container .box-ttl::before,
  .interview-item .interview-item-container .box-ttl::after {
    content:'';
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
  }
  .interview-item .interview-item-container .box-ttl::before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 16px 32px 16px 0;
    border-color: transparent #f3f7fd transparent transparent;  
    margin-top: -38px;
    right: -51px;
  }
  .interview-item .interview-item-container .box-ttl::after {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 20px 10px 0;
    border-color: transparent #ffffff transparent transparent;
    margin-top: -32px;
    right: -51px;
  }  
}
.interview-item .interview-item-container .box-ttl .interview-pop {
  position: absolute;
  top: 0;
  width: 100%;  
}
.section-job_remotework-message-content .interview-item .interview-item-container .box-ttl .interview-pop {
  
  height: 14px;
  background:url(../img/recruit/message_pop.png) center / contain no-repeat;
}
.section-job_remotework-message-content .interview-item .interview-item-container .box-ttl .interview-pop img{
  opacity: 0;
}

.interview-item .interview-item-container .box-ttl .inteview-img {
  border-radius: 50%;
  overflow: hidden;
}

.interview-item .interview-item-container .box-contents {
  position: relative;
  width: 67.7%;
  margin-left: 44px;
  padding: 32px 40px;
  border-radius: 20px;
  border: 7px solid #f3f7fd;
}
.interview-item .interview-item-container .box-contents p.question {
  font-weight: bold;
  margin-bottom: 6px;
}
.interview-item .interview-item-container .box-contents p {
  margin-bottom:25px;
}
.interview-item .interview-item-container .box-contents p:last-child {
  margin-bottom: 0;
}
.interview-item-point {
  border-top: 1px solid #e8e8e8;
  margin-top: 72px;
  padding-top: 80px;
}

.interview-item-point,
.interview-item-point > .wp-block-group__inner-container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;  
}

.interview-item-point .box-ttl{
  width: 27.25%;
}
.interview-item-point .box-ttl .ttl {
  margin: 0;
  font-size: 16px;
  letter-spacing: 0.15em;
  line-height: 1.8;
}
.interview-item-point .box-contents{
  width: 72.75%;
  padding-left: 20px;
}
.interview-item-point .box-contents p {
  max-width: 596px;
  margin-left: auto;
  margin-right: 0;
}

.section-job_remotework {
  margin-top: 80px;
}
.section-job_remotework .bg-bar.bg-top {
  top: -80px;
}
.section-job_remotework .c-headline {
  font-size: 20px;
}
.section-job_remotework .list-jobs-remotework {
  margin-top: 75px;
}

/* REMOTEWORK */
body.page-remotework .ttl-alternate {
  color: #2c4d98;
}

body.page-remotework .ttl-alternate span.is-even {
  color: #6d89c8;
}
body.page-remotework .page-head {
  padding-top: 0;
  padding-bottom: 0;  
}



.remotework-head {
  height: 744px;  
}
.remotework-head .l-outer {
  position: relative;
}
.remotework-head .bg-head {
  width: calc(100% - 160px);
  height: 100%;
  background: url(../img/recruit/remotework_head_bg.jpg) right top / cover no-repeat #f3f7fd;
  position: absolute;
  top: 0;
  left: 80px;
  z-index: -1;
}
@media screen and (max-width: 1440px) and (min-width: 801px){
  .remotework-head .bg-head {
    width: calc(100% - 11.1vw);
    left: 5.55vw;
  }
}


.remotework-head .head-content {
  position: absolute;
  top: 0;
  right: 0;
  margin: 0;
  padding: 52px 67px 0 0;  
  width: 441px;

}
.remotework-head-ttl {
  margin-top: 0;
}

@media screen and (min-width: 1700px) {
  .remotework-head .bg-head {
    background-size: 1700px auto;
    background-position: center top;
  }
  .remotework-head .head-content {
    right: 50%;
    margin-right: -756px;    
  }
}
@media screen and (max-width: 1001px) and (min-width: 801px) {
  .remotework-head {
      height: 700px;
  }
  .remotework-head .bg-head { 
    background-position: right -100px top;
  }
  .remotework-head .head-content {
      padding: 30px 30px 0 0;
      width: 401px;
  }
}

.remotework-head .head-content p {
  color: #444;
  font-size: 13px;
  font-weight: bold;
  text-align: justify;
  padding: 0 2px 0 6px;
  letter-spacing: 0.17em;
}

.page-body-heading {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 3;  
}

.l-section.section-remotework-outline {
    padding-top: 192px;
    padding-bottom: 100px;
}

.list-merit {
  display: flex;
  justify-content: center;
  align-items: center; 
  position: relative;
  top: -138px; 
  margin-bottom: -65px;
}
.list-merit li {
  width: 256px;
  height: 256px;
  margin: 0 20px 0;
  padding-top: 30px;
  border: 12px solid #fff;
  background-color: rgba(136, 206, 235, .9);
  border-radius: 50%;
  font-weight: bold;
  font-size: 14px;
  color: #fff;
  text-align: center;
      line-height: 1.6;
}


@media screen and (max-width: 1000px) and (min-width: 801px){
  .list-merit li {
    width: 220px;
    height: 220px;
    padding-top: 20px;
    font-size: 13px;
  }
  .list-merit li .merit-head span {
    font-size: 28px;
  }
}

.list-merit li .merit-head {
font-size: 15px;
    line-height: 1.1;
}
.list-merit li .merit-head span {
font-size: 34px;
    display: inline-block;
    border-bottom: 3px solid #fff;
}

.remotework-outline-container .c-headline {
  font-size: 36px;
  color: #2c4d98;
}
.remotework-outline-container .preface {
  margin-top: 35px;
  font-weight: bold;
  color: #666666;

}




body.page-remotework .outline-dl dt {
  height: 52px;
  background-color: #fff;
  font-size: 18px;
  color: #666;
  font-weight: bold;
  padding-top: 12px;
  text-align: center;
}
body.page-remotework .outline-dl dd {
  font-size: 14px;
  margin-bottom: 0;
  padding-top: 15px;
  color: #444;
}

body.page-remotework .outline-details-item:nth-child(3) .outline-dl dd {
  padding-top: 36px;
}
body.page-remotework .outline-dl dd ul li{
  margin-bottom: 0;
  position: relative;
  padding-left: 1em;
}
body.page-remotework .outline-dl dd ul li::before {
  content:'・';
  display: inline;
  position: absolute;
  top: 0;
  left: 0;
}


.outline-details-container {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-top: 74px;
}
.outline-details-item:nth-child(-n+2) {
  width: calc(50% - 40px);
}
.outline-details-item:nth-child(2) {
  margin-left: 80px;
  margin-bottom: 56px;
}
.outline-details-item:nth-child(2) .outline-dl:not(:last-child) {
  margin-bottom: 64px;
}

@media screen and (max-width: 1000px) and (min-width: 801px){ 
  .outline-details-item:nth-child(-n+2) {
    width: calc(50% - 2.8vw);
  }
  .outline-details-item:nth-child(2) {
    margin-left: 5.55vw;
  }
}

.outline-details-item:nth-child(3) {
  width: 100%;
  margin-top: 0;
}
.outline-list-flow {
  list-style-type: none;
}
.outline-list-flow li {
  display: flex;
  justify-content: flex-start;
  align-items: center;  
  margin-bottom: 40px;  
}
.outline-list-flow .ol-head {
  position: relative;
  width: 315px;
  height: 57px;
  margin-right: 40px;
  margin-bottom: 0;
  padding: 17px 20px 0;
  border-radius: 14px;
  background-color: #88ceeb;
  font-weight: bold;
  color: #fff;
  text-align: center;
}

.outline-list-flow .ol-head::before {
  content:'';
  display: block;
  width: 6px;
  height: 21px;
  background: url(../img/assets/arrow_down_paleblue.png) center center / contain no-repeat;
  position: absolute;
  bottom: -30px;
  left: 50%;
  margin-left: -3px;
}
.outline-list-flow .ol-head + p {
  flex: 1;
  margin-bottom: 0;
}
.outline-list-flow li:last-child {
  margin-bottom: 0;
}
.outline-list-flow li:last-child .ol-head::before {
  display: none;
}

.outline-list-flow .ol-head span {
  border-bottom: 2px solid #fff;
  font-size: 20px;
  line-height: 1;
  position: absolute;
  left: 20px;
}

.section-job_remotework-voices {
  margin-top: 80px;
}
.section-job_remotework-voices .ttl-interview  {
  font-size: 40px;
}
.section-job_remotework-voices .c-headline {
  margin-bottom: 80px;
  font-size: 16px;
  color: #666;
}
.section-job_remotework-voices .c-headline::after {
  margin-top: 28px;
}
.section-job_remotework-voices .voices-container {
  background-color: #fff;
  padding-top: 42px;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 80px;
  border: 2px solid #f3f7fd;
}

.section-job_remotework-interview-content .interview-item .interview-item-container .box-contents{
  color: #666;
}

.section-job_remotework-voices .voices-container .interview-name {
  color: #666;
}
.section-job_remotework-voices .voices-container .inner {
  max-width: 960px;
  margin: 0 auto;
}

.interview-item:not(:first-child) {
  border-top: 1px solid #e6eaf3;
  margin-top: 80px;
  padding-top: 80px;
}
.section-job_remotework-message-content .interview-item-container .box-ttl {
  order: 2;
}
@media screen and (min-width: 801px) {
  .section-job_remotework-message-content .interview-item-container .box-ttl::before {
    margin-top: -38px;
    left: -51px;  
    transform: rotate(180deg);
  }
  .section-job_remotework-message-content .interview-item-container .box-ttl::after {
    margin-top: -32px;
    left: -51px;
    transform: rotate(180deg);
  }  
}

.section-job_remotework-message-content .interview-item-container .box-contents {
  margin-right: 44px;
}

.section-job_remotework-qa {
  margin-top: 80px;
  padding-bottom: 147px;
}
.section-job_remotework-qa .c-headline {
  margin-bottom: 80px;
  font-size: 40px;
  letter-spacing: 0.6em;
}
.section-job_remotework-qa .c-headline.align-c::after {
  margin-top: 0.75em;
}
.section-job_remotework-qa .c-headline span:first-child {
  margin-left: 0.4em;
}
.list-qa li {
  background-color: #fff;
  margin-bottom: 40px;
  padding-left: 20px;
  padding-right: 20px;
}
.list-qa li:last-child {
  margin-bottom: 0;
}
.list-qa li .inner {
  max-width: 1020px;
  margin: 0 auto;
  padding-top: 20px;
  padding-bottom: 20px;  
}
.list-qa li .item-block {
  display: flex;
  justify-content: flex-start;
  align-items: center;  
  position: relative;
  padding-top: 20px;
  padding-bottom: 20px;
}

.list-qa li .item-block.block-a::before {
  display: block;
  background-color: #e6eaf3;
  width: 100%;
  height: 1px;
}
.list-qa li .item-block.block-q {
  margin-bottom: 22px;
}
.list-qa li .item-block.block-a {
  padding-top: 40px;
  border-top: 1px solid #e6eaf3;
}
@media screen and (min-width: 801px) {
  .list-qa li .item-block.block-a .text-a {
    display: block!important;
  }  
}

.list-qa li .item-block p {
  position: relative;
  margin-bottom: 0;
  padding-left: 30px;
  font-size: 16px;
  flex: 1;
}
.list-qa li .item-block .icon {
  content: '';
  display: block;
  width: 61px;
  height: 61px;
  border-radius: 50%;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  padding-top: 18px;
  padding-left: 4px;
}


.list-qa li .item-block.block-q p {
  color: #2c4d98; 
  font-weight: bold;
}
.list-qa li .item-block.block-a p {
  color: #444444; 
}
.list-qa li .item-block.block-q .icon {
  background-color: #f3f7fd;
  color: #2c4d98;
}
.list-qa li .item-block.block-a .icon {
  background-color: #f3f3f3; 
  color: #666666;
}

.list-qa li .item-block.block-q .icon::before {
  content:'Q';
  display: inline;
}
.list-qa li .item-block.block-a .icon::before {
  content:'A';
  display: inline;
}
.section-job_remotework-entry {
margin-top: 80px;
padding-top: 0;
}
.section-job_remotework-entry .entry-container {
  position: relative;
  top: -180px;  
  margin-bottom: -180px;
}
.section-job_remotework-entry .ttl {
  position: relative;
  max-width: 1030px;
  margin: 0 auto;
  padding: 22px 20px;  
  font-size: 24px;
  border: 7px solid #c7e9f7;
  background-color: #fff;
  color: #4ba9cf;
  border-radius: 50px;
}
.section-job_remotework-entry .ttl br {
  display: none;
}
.section-job_remotework-entry .ttl::before,
.section-job_remotework-entry .ttl::after {
  content:'';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;  
  position: absolute;
  bottom: 0;
  left: 50%;
}
.section-job_remotework-entry .ttl::before {
  border-color: #c7e9f7 transparent transparent transparent;
  border-width: 20px 20px 0 20px;
  bottom: -24px;
  left: 50%;
  margin-left: -20px;
}

.section-job_remotework-entry .ttl::after {
  border-width: 15px 15px 0 15px;
  border-color: #fff transparent transparent transparent;
  bottom: -15px;
  margin-left: -15px;
}

.section-job_remotework-entry .entry-body {
  margin-top: 54px;
  font-size: 16px;
}
@media screen and (min-width: 801px){
  .section-job_remotework-entry .entry-body p br {
    display: none;
  }  
}


.section-job_remotework-entry .c-btn {
  margin-top: 54px;
  margin-bottom: 0;
}
.section-job_remotework-entry .c-btn a{
  height: 70px;
  font-size: 20px;
  max-width: 690px;
  margin: 0 auto;
  padding-top: 13px;
  border-radius: 12px;
}

.btn-entery-container {
  position: fixed;
  z-index: 5;
  bottom: 30px;
  right: 30px;  
}
.btn-entery-container .c-btn {
  margin-bottom: 0;
}
body.is-entrybtn-show .btn-entery-container {
  opacity: 1;
  pointer-events: auto;    
  transition: opacity .2s ease-out;
}
body.is-entrybtn-show.is-entrybtnarea-visible .btn-entery-container {
  opacity: 0;
  pointer-events: none;  
}
.btn-entery-container .c-btn a {
  position: relative;
  border: 4px solid #2c4d98;
  border-radius: 10px;
  font-size: 16px;
  padding-top: 12px;
  color: #2c4d98;
  background-image: url(../img/assets/icon_window_blue.png);
  background-size: 16px 16px;
  background-position: center right 20px;
}

.btn-entery-container .c-btn a::before {
  content:'';
  display: block;
  width: 120px;
  height: 17px;
  position: absolute;
  top: -30px;
  left: 50%;
  margin-left: -60px;
  background: url(../img/recruit/entry_pop.png) center top / contain no-repeat;
}


/* HOME */
body.home .c-headline {
  margin-top: -8px;
  font-size: 40px;
}

@media screen and (max-width: 1000px) and (min-width: 801px) {
  body.home .c-headline {
    font-size: 28px;
  }
}

.section-hero {
  height: calc(100vh - 80px);
  position: relative;
}

.section-hero .bg-img {
  position: absolute;
  top: 0;
  left: 80px;
  width: calc(100% - 160px);
  height: calc(100% - 80px);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: url(../img/home/hero_01.jpg);
}
.section-hero .bg-img .bg-cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .45);  
}
.section-hero .copybox {
  position: absolute;
  bottom: 110px;
  left: 160px;
  color: #fff;
}
@media screen and (max-width: 1440px) and (min-width: 801px) { 
  .section-hero .copybox {
    left: 11.1vw;
  }
  .section-hero .bg-img { 
    left: 5.55vw;
    width: calc(100% - 11.1vw);
  }
}
.section-hero .copybox .copy-en {
  margin-bottom: 21px;
  font-size: 32px;
  letter-spacing: 0.12em;
  line-height: 1.3;
}
.section-hero .copybox .copy-ja {
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 801px) { 
  .section-hero .copybox .copy-ja br {
    display: none;
  }
}

.section-hero .scrolldown {
  color: #fff;
  position: absolute;
  bottom: 0;
  left: 16px;
  z-index: 3;
  padding-bottom: 30px;
  font-weight: bold;
  font-size: 10px;
}
.section-hero .scrolldown .scroll-text {
  transform: rotate(-90deg);
  margin: 0 auto 33px;
}
.section-hero .scrolldown .scroll-track {
  display: block;
  width: 2px;
  height: 156px;
  margin: 0 auto 0;
  background-color: rgba(255, 255, 255, .2);
}
@media screen and (min-width: 801px) {   

  .section-hero .scrolldown {
    bottom: 0!important;
  }
  body.is-scrolled-once .section-hero .scrolldown {
    display: none;
  }  
}
@media screen and (max-width: 1440px) and (min-width: 801px) {  
  .section-hero .scrolldown {
    left: .8vw;
  }
}
.section-hero .scrolldown .scroll-thumb {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #fff;
  transform-origin: center top;
  animation: scrolldown 2s infinite;
  animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);/*easeInOutCubic*/
}

@keyframes scrolldown {
  0% {
    transform: scale(1, 0);
    transform-origin: center top;
  }
  30% {
    transform: scale(1, 1);
    transform-origin: center top;
  }
  31% {
    transform: scale(1, 1);
    transform-origin: center bottom;
  }  
  60% {
    transform: scale(1, 0);
    transform-origin: center bottom;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: center bottom;
  }  
}
.section-service-home {
  padding-top: 160px;
  padding-bottom: 160px;
}
.section-service-home .c-card {
  margin-top: 68px;
  margin-bottom: 12px;
}
.section-service-home .c-card:first-child{
  margin-top: 0;
}
.section-service-home .c-card + p {
  margin-bottom: 0;
  line-height: 1.6;
}
.section-service-home .c-card .imgbox {
  padding-top: 27.39%;
  background-size: cover;  
  background-position: center;
  background-repeat: no-repeat;
}
.section-service-home .c-card .imgbox p {
  position: absolute;
  bottom: 40px;
  right: 50px;
}
@media screen and (max-width: 1280px) {
  .section-service-home .c-card .imgbox p {
    bottom: 35px;
    right: 40px;
    width: 192px;    
  }
}
@media screen and (max-width: 1140px) and (min-width: 801px) {
  .section-service-home .c-card .imgbox p {
    bottom: 25px;
    right: 30px;
    width: 160px;    
  }
  .c-card .metabox p {
    font-size: 15px;
  }
}
@media screen and (max-width: 1080px) {
  .c-card .metabox::after {
    top: 28px;
  }
  .c-card .metabox p .show-sml {
    display: block;
  }
}



.section-news-home {
  padding-top: 200px;
/*   padding-bottom: 80px; */
  padding-bottom: 0;
}

.list-news-home .item {
  margin-bottom: 4px;
}
.list-news-home .item a {
  width: 100%;
  min-height: 81px;
  padding: 14px 20px 14px 35px;
  //border: 2px solid #f3f7fd;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  background-color: #fff;
}
.list-news-home .item a p {
  margin-bottom: 0;
}
.list-news-home .item a .date {
  width: 11%;
  font-weight: bold;
}
.list-news-home .item a .category {
  font-weight: bold;
  width: 17%;
  padding-left: 6.5%;  
}
.list-news-home .item a .ttl {
  width: 73%;
  padding-left: 7%;
  text-decoration: underline;
}

/* blog list */
.section-news-home .news-bloglist-box{
  margin-top: 72px;
  padding-top: 108px;
  padding-bottom: 80px;
  background-color: #f3f7fd;
}
.section-news-home .news-bloglist-box .list-news-home .item a {
  border: none;
}


@media screen and (max-width: 1001px) and (min-width:801px) {
  .list-news-home .item a {
    padding: 14px 20px 14px 20px;
  }
  .list-news-home .item a .date {
    margin-top: -1.5em;
    width: 100px;
  }
  .list-news-home .item a .category {
    width: 100px;
    padding-left: 0;
    position: absolute;
    top: 50%;
  }
  .list-news-home .item a .ttl {
    width: calc(100% - 100px);
    padding-left: 0;
  }
}

.news-home-viewall {
  margin-top: 16px;
  margin-bottom: 0;
}
.news-home-viewall a {  
  font-weight: bold;
  text-decoration: none;      
  color: #2c4d98;
}
.news-home-viewall a::after {
  content:'';
  display: inline-block;
  width: 20px;
  height: 13px;
  margin-left: 10px;
  background: url(../img/assets/arrow_right_blue.png) center right / 20px 6px  no-repeat;
  transform:translateX(0px);
  transition: transform .2s ease-out;
}
.ua-desktop .news-home-viewall a:hover  {
  text-decoration: underline;
}
.news-home-viewall a:hover::after { 
  transform:translateX(4px);
  transition: transform .2s ease-out;    
}
.section-recruit-home {
  margin-top: 80px;
}
.section-recruit-home .c-card:not(:last-child) {
  margin-bottom:20px;
}
.section-recruit-home .c-card .imgbox {
  padding-top: 24.54%;
}
.section-recruit-home .c-card .imgbox p {
  bottom: 10px;
  left: 16px;
  color: #fff;
}
.section-recruit-home .c-card .imgbox p span {
  font-weight: bold;
  margin-left: 20px;
}

/*404*/
body.error404 .page-preface p a {
  text-decoration: underline;
}
.ua-desktop body.error404 .page-preface p a:hover {
  text-decoration: none;
}

/* LOADING */
.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: 100;
}
.loading .logo-loading {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 162px;
  height: 92px;  
  opacity: 0;
  transform: scale(0.8);
  transform-origin: center;
}

body.is-loading-start .loading .logo-loading {
  opacity: 1;
  transform: scale(1);
  transition: opacity .6s ease-out, transform .6s ease-out;
}
body.is-loading-start.is-loading-done .loading .logo-loading {
  opacity: 0;
  transform: scale(1.25);
  transition: opacity .5s ease-in, transform .5s ease-in;
}


/* ---------------------------------------- */
/* STATE */
/* ---------------------------------------- */
.base-content {
  opacity: 0;
  transition: opacity .4s ease-out;
}
body.is-loading-done .base-content {
 opacity: 1; 
}
body.home .base-content {
  opacity: 1;  
}
.is-dev {
  display: none;
}
body.logged-in .is-dev {
  display: block;
}