@charset "UTF-8";

/**************
reset.css start
**************/

/* http://meyerweb.com/eric/tools/css/reset/ */

/* v1.0 | 20080212 */

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

/* remember to define focus styles! */

:focus {
  outline: 0;
}

/* remember to highlight inserts somehow! */

ins {
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

/* tables still need 'cellspacing="0"' in the markup */

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/**************
reset.css end
**************/

/*
z-index
#preload 10010
#transition 10005
#pointer 10000
header h2 a img 5000 (pcのみ）
#view_wantedly 1001
header 1000
//#service_more 900
#btn_to_top 800

*/

.mt1 {
  margin-top: 1px;
}

.mt2 {
  margin-top: 2px;
}

.mt3 {
  margin-top: 3px;
}

.mt4 {
  margin-top: 4px;
}

.mt5 {
  margin-top: 5px;
}

.mt6 {
  margin-top: 6px;
}

.mt7 {
  margin-top: 7px;
}

.mt8 {
  margin-top: 8px;
}

.mt9 {
  margin-top: 9px;
}

.mt10 {
  margin-top: 10px;
}

.mt11 {
  margin-top: 11px;
}

.mt12 {
  margin-top: 12px;
}

.mt13 {
  margin-top: 13px;
}

.mt14 {
  margin-top: 14px;
}

.mt15 {
  margin-top: 15px;
}

.mt16 {
  margin-top: 16px;
}

.mt17 {
  margin-top: 17px;
}

.mt18 {
  margin-top: 18px;
}

.mt19 {
  margin-top: 19px;
}

.mt20 {
  margin-top: 20px;
}

.mt21 {
  margin-top: 21px;
}

.mt22 {
  margin-top: 22px;
}

.mt23 {
  margin-top: 23px;
}

.mt24 {
  margin-top: 24px;
}

.mt25 {
  margin-top: 25px;
}

.mt26 {
  margin-top: 26px;
}

.mt27 {
  margin-top: 27px;
}

.mt28 {
  margin-top: 28px;
}

.mt29 {
  margin-top: 29px;
}

.mt30 {
  margin-top: 30px;
}

.mt31 {
  margin-top: 31px;
}

.mt32 {
  margin-top: 32px;
}

.mt33 {
  margin-top: 33px;
}

.mt34 {
  margin-top: 34px;
}

.mt35 {
  margin-top: 35px;
}

.mt36 {
  margin-top: 36px;
}

.mt37 {
  margin-top: 37px;
}

.mt38 {
  margin-top: 38px;
}

.mt39 {
  margin-top: 39px;
}

.mt40 {
  margin-top: 40px;
}

.mt41 {
  margin-top: 41px;
}

.mt42 {
  margin-top: 42px;
}

.mt43 {
  margin-top: 43px;
}

.mt44 {
  margin-top: 44px;
}

.mt45 {
  margin-top: 45px;
}

.mt46 {
  margin-top: 46px;
}

.mt47 {
  margin-top: 47px;
}

.mt48 {
  margin-top: 48px;
}

.mt49 {
  margin-top: 49px;
}

.mt50 {
  margin-top: 50px;
}

.mt51 {
  margin-top: 51px;
}

.mt52 {
  margin-top: 52px;
}

.mt53 {
  margin-top: 53px;
}

.mt54 {
  margin-top: 54px;
}

.mt55 {
  margin-top: 55px;
}

.mt56 {
  margin-top: 56px;
}

.mt57 {
  margin-top: 57px;
}

.mt58 {
  margin-top: 58px;
}

.mt59 {
  margin-top: 59px;
}

.mt60 {
  margin-top: 60px;
}

.mt61 {
  margin-top: 61px;
}

.mt62 {
  margin-top: 62px;
}

.mt63 {
  margin-top: 63px;
}

.mt64 {
  margin-top: 64px;
}

.mt65 {
  margin-top: 65px;
}

.mt66 {
  margin-top: 66px;
}

.mt67 {
  margin-top: 67px;
}

.mt68 {
  margin-top: 68px;
}

.mt69 {
  margin-top: 69px;
}

.mt70 {
  margin-top: 70px;
}

.mt71 {
  margin-top: 71px;
}

.mt72 {
  margin-top: 72px;
}

.mt73 {
  margin-top: 73px;
}

.mt74 {
  margin-top: 74px;
}

.mt75 {
  margin-top: 75px;
}

.mt76 {
  margin-top: 76px;
}

.mt77 {
  margin-top: 77px;
}

.mt78 {
  margin-top: 78px;
}

.mt79 {
  margin-top: 79px;
}

.mt80 {
  margin-top: 80px;
}

.mt81 {
  margin-top: 81px;
}

.mt82 {
  margin-top: 82px;
}

.mt83 {
  margin-top: 83px;
}

.mt84 {
  margin-top: 84px;
}

.mt85 {
  margin-top: 85px;
}

.mt86 {
  margin-top: 86px;
}

.mt87 {
  margin-top: 87px;
}

.mt88 {
  margin-top: 88px;
}

.mt89 {
  margin-top: 89px;
}

.mt90 {
  margin-top: 90px;
}

.mt91 {
  margin-top: 91px;
}

.mt92 {
  margin-top: 92px;
}

.mt93 {
  margin-top: 93px;
}

.mt94 {
  margin-top: 94px;
}

.mt95 {
  margin-top: 95px;
}

.mt96 {
  margin-top: 96px;
}

.mt97 {
  margin-top: 97px;
}

.mt98 {
  margin-top: 98px;
}

.mt99 {
  margin-top: 99px;
}

.mt100 {
  margin-top: 100px;
}

@font-face {
  font-family: 'Warcfont-Regular';
  src: url("/assets/fonts/Warcfont-Regular.woff2") format("woff2"), url("/assets/fonts/Warcfont-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Theinhardt';
  src: url("/assets/fonts/TheinhardtLight_alt.woff2") format("woff2"), url("/assets/fonts/TheinhardtLight_alt.woff") format("woff");
  font-weight: 200;
  font-style: normal;
}

@font-face {
  font-family: 'Theinhardt';
  src: url("/assets/fonts/TheinhardtReg.woff2") format("woff2"), url("/assets/fonts/TheinhardtReg.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'FinancierTextTest';
  src: url("/assets/fonts/FinancierTextTest-Regular.woff2") format("woff2"), url("/assets/fonts/FinancierTextTest-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}

@keyframes arrow8 {
  0% {
    transform: translate3d(0, 0, 0) rotate(45deg);
  }

  50% {
    transform: translate3d(8px, 0, 0) rotate(45deg);
  }

  100% {
    transform: translate3d(0, 0, 0) rotate(45deg);
  }
}

@keyframes arrow4 {
  0% {
    transform: translate3d(0, 0, 0) rotate(45deg);
  }

  50% {
    transform: translate3d(4px, 0, 0) rotate(45deg);
  }

  100% {
    transform: translate3d(0, 0, 0) rotate(45deg);
  }
}

@keyframes arrow2 {
  0% {
    transform: translate3d(0, 0, 0) rotate(45deg);
  }

  50% {
    transform: translate3d(2px, 0, 0) rotate(45deg);
  }

  100% {
    transform: translate3d(0, 0, 0) rotate(45deg);
  }
}

.font1 {
  font-family: 'Warcfont-Regular', sans-serif;
  font-weight: 400;
}

.font2 {
  font-family: 'Theinhardt', sans-serif;
}

.font3 {
  font-family: 'FinancierTextTest', sans-serif;
}

.font4 {
  font-family: source-han-serif-japanese, serif;
}

.font_mix1 {
  font-family: 'Theinhardt', source-han-sans-japanese, sans-serif;
}

.arrow:before {
  content: "";
  border: 0px;
  width: 9px;
  height: 9px;
  border-top: solid 2px #ccc;
  border-right: solid 2px #ccc;
  position: absolute;
  transform: rotate(45deg);
  margin-top: 15px;
}

.arrow_after:after {
  content: "";
  border: 0px;
  width: 9px;
  height: 9px;
  border-top: solid 2px #ccc;
  border-right: solid 2px #ccc;
  position: absolute;
  transform: rotate(45deg);
  margin-top: 15px;
}

.mask {
  position: relative;
  display: block;
}

.mask.wipe_in:after {
  animation: wipe_in_out 1.1s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}

@keyframes wipe_in_out {
  0% {
    width: 0%;
    left: 0%;
  }

  50% {
    width: 100%;
    left: 0%;
  }

  100% {
    width: 0%;
    left: 100%;
  }
}

.mask.wipe_in img {
  transition-delay: .55s;
  visibility: visible;
}

.mask:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-color: #08435e;
}

.mask img {
  visibility: hidden;
}

html {
  font-size: 62.5%;
  overflow-x: hidden;
}

body {
  display: block;
  background-color: #f5f5f5;
  color: #222222;
  font-family: source-han-sans-japanese, sans-serif;
  font-weight: 400;
  letter-spacing: 0.0em;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
}

a,
a:visited {
  color: #222;
  text-decoration: none;
}

.txt {
  font-size: 1.6rem;
  font-weight: 400;
}

#preload {
  position: fixed;
  width: 100vw;
  height: 100vh;
  background-color: #99b7ab;
  z-index: 10010;
  overflow: hidden;
}

#preload .txt {
  color: #08395e;
  position: absolute;
  transform: translate3d(-50%, -50%, 0);
  opacity: 0;
  transition: opacity 1000ms;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

#preload .txt.show {
  opacity: 1;
}

#transition {
  z-index: 10005;
  position: fixed;
}

#transition.hide {
  display: none;
}

#transition.wipe_in:before {
  width: 100vw;
}

#transition.wipe_in:after {
  width: 100vw;
}

#transition.wipe_out:before {
  transition: width 500ms, transform 500ms;
  transform: translate3d(100%, 0, 0);
}

#transition.wipe_out:after {
  transition: width 450ms, transform 450ms;
  transform: translate3d(100%, 0, 0);
}

#transition:before {
  content: "";
  position: absolute;
  background-color: #aac4b2;
  opacity: .5;
  width: 0vw;
  height: 100vh;
  transition: width 600ms, transform 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

#transition:after {
  content: "";
  position: absolute;
  background-color: #aac4b2;
  width: 0vw;
  height: 100vh;
  transition: width 550ms, transform 550ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-delay: .1s;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
}

header.open nav.header_nav div.header_nav_child {
  display: block;
}

header.wipe_in nav.header_nav div.header_nav_child .bg:before {
  width: 100vw;
}

header.wipe_in nav.header_nav div.header_nav_child .bg:after {
  width: 100vw;
}

header.show nav.header_nav div.header_nav_child .video {
  width: 43vw;
}

header.show nav.header_nav div.header_nav_child ul {
  opacity: 1;
}

header.show nav.header_nav div.header_nav_child .address {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

header .current {
  position: absolute;
  color: #08435e;
  letter-spacing: 0.1em;
}

header h2 span {
  color: #08435e;
  position: relative;
  font-size: 1.4rem;
}

header nav.header_nav .header_nav_child ul.main_menu li a.cr {
  color: #90d1c4;
}

header nav.header_nav .header_nav_child ul.sub_menu li a.cr {
  color: #90d1c4;
}

header nav.header_nav .header_nav_child .bg {
  position: absolute;
  display: flex;
  flex-direction: column;
}

header nav.header_nav .header_nav_child .bg:before {
  content: "";
  width: 0vw;
  height: 100vh;
  background-color: #08435e;
  opacity: .5;
  transition: width 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

header nav.header_nav .header_nav_child .bg:after {
  content: "";
  position: absolute;
  top: 0;
  width: 0vw;
  height: 100vh;
  background-color: #08435e;
  transition: width 700ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-delay: .1s;
}

header nav.header_nav .header_nav_child .logo {
  position: relative;
  z-index: 2;
}

header nav.header_nav .header_nav_child ul {
  opacity: 0;
}

header nav.header_nav .header_nav_child .address {
  opacity: 0;
  transform: translate3d(0, 30px, 0);
  transition: opacity 200ms, transform 200ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

header nav.header_nav .header_nav_child .address a {
  color: #fff;
}

header nav.header_nav .grilled {
  background-color: #08435e;
  border-radius: 50%;
  display: inline-block;
  position: absolute;
  cursor: pointer;
  transition: background-color 400ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

header nav.header_nav .grilled:hover {
  background-color: #0d6791;
}

header nav.header_nav .grilled.open {
  background-color: #fff;
}

header nav.header_nav .grilled.open:before {
  background-color: #08435e;
}

header nav.header_nav .grilled.open:after {
  background-color: #08435e;
}

header nav.header_nav .grilled:before {
  content: "";
  position: absolute;
  transition: background-color 400ms, transform 400ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

header nav.header_nav .grilled:after {
  content: "";
  position: absolute;
  display: inline-block;
  background-color: #fff;
  transition: background-color 400ms, transform 400ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

#barba-wrapper main:nth-child(2) {
  display: none;
}

#pointer {
  position: fixed;
  z-index: 10000;
  pointer-events: none;
  width: 20px;
  height: 20px;
}

#pointer.over {
  mix-blend-mode: multiply;
}

#pointer.over .base {
  transform: scale(0);
}

#pointer.over .circle {
  display: block;
  animation: circle 1s cubic-bezier(0.445, 0.05, 0.55, 0.95) forwards;
}

#pointer.over_swipe .base {
  transform: scale(0);
}

#pointer.over_swipe .swipe {
  opacity: 1;
}

#pointer.over_swipe .swipe:before {
  opacity: 1;
  left: -24px;
}

#pointer.over_swipe .swipe:after {
  opacity: 1;
  left: 103px;
}

#pointer.over_swipe .swipe .line:before {
  width: 90px;
  height: 90px;
  top: 0;
  left: 0;
}

#pointer.on_swipe .swipe {
  /*
      &:before{
        left: 6px;
      }

      &:after{
        left: 73px;
      }
      */
}

#pointer.on_swipe .swipe .line:before {
  width: 45px;
  height: 45px;
  top: 22.5px;
  left: 22.5px;
}

#pointer.on_swipe .swipe .txt {
  opacity: 0;
}

#pointer.hide {
  display: none;
}

#pointer.scale_out .base {
  transform: scale(0);
}

#pointer .base {
  top: 0;
  left: 0;
  position: absolute;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  margin-left: -10px;
  border-radius: 50%;
  background-color: #90d1c4;
  transition: transform 400ms;
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

#pointer .circle {
  position: absolute;
  top: 0;
  left: 0;
  margin-top: -42px;
  margin-left: -42px;
  display: none;
  stroke-dasharray: 0 377;
}

@keyframes circle {
  0% {
    stroke-dasharray: 0 377;
  }

  99.9%, to {
    stroke-dasharray: 377 377;
  }
}

#pointer .circle svg circle {
  fill: transparent;
  stroke: #08395e;
  stroke-width: 1;
}

#pointer .swipe {
  position: absolute;
  mix-blend-mode: multiply;
  opacity: 0;
  left: 50%;
  top: 50%;
  transform: translate3d(-50%, -50%, 0);
  width: 90px;
  height: 90px;
  color: #08435e;
  /*
    &:before{
      content:"";
      border: 0px;
      width: 13px;
      height: 13px;
      opacity: 0;
      border-top: solid 1px $COLOR2;
      border-right: solid 1px $COLOR2;
      position: absolute;
      transform: rotate(-135deg);
      top: 39px;
      left: -4px;
      opacity: 0;
      transition: opacity 100ms, left 600ms;
      transition-timing-function: $easeOutQuart;
    }

    &:after{
      content:"";
      border: 0px;
      width: 13px;
      height: 13px;
      opacity: 0;
      border-top: solid 1px $COLOR2;
      border-right: solid 1px $COLOR2;
      position: absolute;
      transform: rotate(45deg);
      top: 39px;
      left: 83px;
      opacity: 0;
      transition: opacity 100ms, left 600ms;
      transition-timing-function: $easeOutQuart;
    }
    */
}

#pointer .swipe .line {
  position: absolute;
}

#pointer .swipe .line:before {
  content: "";
  position: absolute;
  width: 0px;
  height: 0px;
  top: 45px;
  left: 45px;
  border-radius: 100%;
  display: inline-block;
  border: 1px solid #08435e;
  transition: width 300ms, height 300ms, top 300ms, left 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

#pointer .swipe .txt {
  position: relative;
  left: 27px;
  top: 41px;
  font-size: 1.4rem;
  font-weight: 400;
}

/*#service_more{
  display: none;
}*/

#view_wantedly {
  position: fixed;
  z-index: 1001;
  display: none;
}

#view_wantedly.show {
  display: block;
}

#view_wantedly:hover a {
  background-color: #0d6791;
}

#view_wantedly a {
  display: block;
  text-align: center;
  color: #ffffff;
  background-color: #08435e;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  transition: background-color 400ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

#btn_to_top {
  position: fixed;
  z-index: 800;
  transform: translate3d(0, 200px, 0);
  transition: transform 500ms, opacity 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

#btn_to_top:hover {
  opacity: .75;
}

#btn_to_top.hide {
  display: none;
}

#btn_to_top.slide_in {
  transform: translate3d(0, 0, 0);
}

footer .child ul li a:hover span:after {
  animation: hover_line_footer 0.8s;
}

@keyframes hover_line_footer {
  0% {
    width: 100%;
    left: 0%;
  }

  33% {
    width: 100%;
    left: 0%;
  }

  66% {
    width: 0%;
    left: 100%;
  }

  66.01% {
    width: 0%;
    left: 0%;
  }

  100% {
    width: 100%;
  }
}

@media screen and (min-width: 1024px) {
  .pc {
    display: block;
  }

  .sp {
    display: none;
  }

  #preload .txt img {
    width: 260px;
    height: 51px;
  }

  _::-webkit-full-page-media,
  _:future,
  :root header nav.header_nav div.header_nav_child ul li a:hover {
    color: #90d1c4;
  }

  header h2 {
    display: inline-block;
    margin-top: 60px;
    margin-left: 80px;
    position: relative;
  }

  header h2 a img {
    width: 106px;
    height: 21px;
    position: relative;
    z-index: 5000;
  }

  header h2 span {
    margin-left: 53px;
    top: -6px;
    letter-spacing: 0.05em;
  }

  header .current {
    right: 28.6vw;
    top: 57px;
    font-size: 2.1rem;
  }

  header nav.header_nav div.header_nav_child {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  header nav.header_nav div.header_nav_child .video {
    position: absolute;
    z-index: 1;
    width: 0vw;
    overflow: hidden;
    height: 100vh;
    transition: width 500ms;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }

  header nav.header_nav div.header_nav_child .video img {
    position: relative;
  }

  header nav.header_nav div.header_nav_child .video img.v_align {
    width: 43vw;
    top: 50%;
    transform: translate3d(0, -50%, 0);
  }

  header nav.header_nav div.header_nav_child .video img.h_align {
    height: 100%;
    left: 50%;
    transform: translate3d(-50%, 0, 0);
  }

  header nav.header_nav div.header_nav_child .logo {
    display: none;
    margin-top: 60px;
    margin-left: 80px;
  }

  header nav.header_nav div.header_nav_child .logo img {
    width: 106px;
    height: 21px;
  }

  header nav.header_nav div.header_nav_child ul li a {
    color: #fff;
  }

  header nav.header_nav div.header_nav_child ul.main_menu {
    font-size: 3.8rem;
    position: absolute;
    left: 51.5%;
    top: 31.4%;
    letter-spacing: 0.1em;
  }

  header nav.header_nav div.header_nav_child ul.main_menu li {
    margin-bottom: 2.7vh;
  }

  header nav.header_nav div.header_nav_child ul.sub_menu {
    font-size: 2.1rem;
    position: absolute;
    left: 75%;
    top: 32%;
    letter-spacing: 0.1em;
  }

  header nav.header_nav div.header_nav_child ul.sub_menu li {
    margin-bottom: 1.7vh;
  }

  header nav.header_nav div.header_nav_child .address {
    color: #fff;
    position: absolute;
    left: 75%;
    top: 57%;
  }

  header nav.header_nav div.header_nav_child .address img {
    width: 15px;
  }

  header nav.header_nav div.header_nav_child .address div {
    margin-top: 14px;
    font-size: 1.5rem;
    line-height: 1.6;
  }

  header nav.header_nav .grilled {
    width: 60px;
    height: 60px;
    top: 41px;
    right: 76px;
  }

  header nav.header_nav .grilled.open:before {
    transform: translate3d(0, 4.5px, 0) rotate(45deg);
  }

  header nav.header_nav .grilled.open:after {
    transform: translate3d(0, -4.5px, 0) rotate(-45deg);
  }

  header nav.header_nav .grilled:before {
    height: 2px;
    width: 18px;
    top: 25px;
    left: 21px;
    display: inline-block;
    background-color: #fff;
  }

  header nav.header_nav .grilled:after {
    height: 2px;
    width: 18px;
    top: 34px;
    left: 21px;
  }

  .scroll-wrapper {
    width: 100vw;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }

  .scroll-wrapper.smooth_on {
    will-change: transform;
  }

  .scroll-wrapper.cut_in {
    transition: top 0ms;
  }

  /*  #service_more{
    position: fixed;
    z-index: 900;
    left: 50%;
    transform: translate3d(-39px, -39px, 0);
    top: 50%;
    width: 90px;
    height: 90px;
    color: $COLOR2;

    transition: transform 300ms, width 300ms, height 300ms;
    transition-timing-function: $easeOutQuart;

    &.show{
      display: block;
    }

    &.out{
      width: 20px;
      height: 20px;
      transform: translate3d(-4px, -4px, 0);

      .line{
        &:before{
          width: 20px;
          height: 20px;
          top: 10px;
          left: 10px;
        }
      }

      .txt{
        opacity: 0;
        left: -8px;
        top: 3px;
      }
    }

    .line{
      position: absolute;
      &:before{
        content:"";
        width: 90px;
        height: 90px;
        background: #ffffff;
        top: 45px;
        left: 45px;
        border-radius: 100%;
        display: inline-block;
        border: 1px solid $COLOR2;
        transition: width 300ms, height 300ms, top 300ms, left 300ms;
        transition-timing-function: $easeOutQuart;
      }
    }
    .txt{
      position: absolute;
      left: 27px;
      top: 41px;
      transition: top 300ms, left 300ms;
      transition-timing-function: $easeOutQuart;

      font-size: 1.4rem;
      font-weight: 400;
    }
  }*/

  #view_wantedly {
    width: 200px;
    height: 60px;
    right: 203px;
    top: 40px;
  }

  #view_wantedly a {
    width: 200px;
    height: 60px;
    line-height: 60px;
    border-radius: 30px;
  }

  #btn_to_top {
    background-color: #90d1c4;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    right: 76px;
    cursor: pointer;
    bottom: 80px;
  }

  #btn_to_top:before {
    content: "";
    border: 0px;
    width: 15px;
    height: 15px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    transform: rotate(-45deg);
    margin-top: 26px;
    margin-left: 22px;
  }

  footer {
    background-color: #08435e;
    width: 100vw;
    height: 370px;
    position: relative;
  }

  footer .child {
    padding-top: 130px;
    display: flex;
  }

  footer .child .copyright {
    font-size: 1.5rem;
    color: #fff;
    opacity: .3;
    transform: rotate(90deg);
    position: relative;
    top: 5px;
    left: -1.4%;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }

  footer .child .message {
    font-size: 2.9vw;
    color: #fff;
    opacity: .3;
    left: 10%;
    position: relative;
    letter-spacing: 0.1em;
  }

  footer .child ul {
    display: flex;
    position: relative;
    left: 19.2%;
    margin-top: 37px;
  }

  footer .child ul li {
    margin-right: 7.9vw;
    font-size: 3.8rem;
    font-weight: 300;
  }

  footer .child ul li a {
    color: #90d1c4;
    position: relative;
  }

  footer .child ul li a span {
    position: relative;
    left: 36px;
    letter-spacing: 0.05em;
  }

  footer .child ul li a span:after {
    content: "";
    height: 1px;
    width: 100%;
    background-color: #90d1c4;
    display: inline-block;
    top: 36px;
    left: 0;
    position: absolute;
  }

  footer .child ul li a:hover:before {
    animation: arrow8 .5s;
  }

  footer .child ul li a:before {
    content: "";
    border: 0px;
    width: 14px;
    height: 14px;
    border-top: solid 2px #90d1c4;
    border-right: solid 2px #90d1c4;
    position: absolute;
    transform: rotate(45deg);
    margin-top: 8px;
  }
}

@media screen and (min-width: 1024px) and (max-width: 1450px) {
  header .current {
    right: 40vw;
  }
}

@media screen and (min-width: 1024px) and (max-width: 1200px) {
  header nav.header_nav div.header_nav_child ul.main_menu {
    left: 49.0%;
  }
}

@media screen and (max-width: 1023px) {
  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  .txt {
    font-size: 1.3rem;
    font-weight: 400;
  }

  #preload .txt img {
    width: 137px;
  }

  header h2 {
    display: inline-block;
    margin-top: 30px;
    margin-left: 30px;
  }

  header h2 a img {
    width: 106px;
    height: 21px;
  }

  header h2 span {
    top: -7px;
    margin-left: 25px;
  }

  header h2 span.hide {
    display: none;
  }

  header .current {
    left: 50%;
    transform: translateX(-50%);
    top: 34px;
    font-size: 1.4rem;
  }

  header nav.header_nav div.header_nav_child {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  header nav.header_nav div.header_nav_child .video {
    display: none;
  }

  header nav.header_nav div.header_nav_child .logo {
    display: inline-block;
    margin-top: 30px;
    margin-left: 30px;
  }

  header nav.header_nav div.header_nav_child .logo img {
    width: 106px;
    height: 21px;
  }

  header nav.header_nav div.header_nav_child ul li a {
    color: #fff;
  }

  header nav.header_nav div.header_nav_child ul.main_menu {
    font-size: 2.25rem;
    position: absolute;
    left: 8%;
    top: 32%;
    letter-spacing: 0.06em;
  }

  header nav.header_nav div.header_nav_child ul.main_menu li {
    margin-bottom: 3.1vh;
  }

  header nav.header_nav div.header_nav_child ul.sub_menu {
    font-size: 1.55rem;
    position: absolute;
    left: 57.3%;
    top: 32.1%;
    letter-spacing: 0.06em;
  }

  header nav.header_nav div.header_nav_child ul.sub_menu li {
    margin-bottom: 2.9vh;
  }

  header nav.header_nav div.header_nav_child .address {
    color: #fff;
    position: absolute;
    left: 8%;
    top: 80.9%;
  }

  header nav.header_nav div.header_nav_child .address img {
    width: 15px;
  }

  header nav.header_nav div.header_nav_child .address div {
    font-size: 1.2rem;
    margin-top: 6px;
    line-height: 1.7;
  }

  header nav.header_nav .grilled {
    width: 50px;
    height: 50px;
    top: 16px;
    right: 20px;
  }

  header nav.header_nav .grilled.open:before {
    transform: translate3d(0, 4px, 0) rotate(45deg);
  }

  header nav.header_nav .grilled.open:after {
    transform: translate3d(0, -4px, 0) rotate(-45deg);
  }

  header nav.header_nav .grilled:before {
    height: 2px;
    width: 14px;
    top: 20px;
    left: 18px;
    display: inline-block;
    background-color: #fff;
  }

  header nav.header_nav .grilled:after {
    height: 2px;
    width: 14px;
    top: 28px;
    left: 18px;
  }

  #view_wantedly {
    width: 166px;
    height: 50px;
    right: 20px;
    bottom: 17px;
    transition: opacity 500ms;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  }

  #view_wantedly.hide {
    opacity: 0;
  }

  #view_wantedly a {
    width: 166px;
    height: 50px;
    line-height: 50px;
    border-radius: 25px;
  }

  .scroll-wrapper {
    width: 100%;
  }

  #btn_to_top {
    background-color: #90d1c4;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    right: 20px;
    cursor: pointer;
    bottom: 50px;
  }

  #btn_to_top:before {
    content: "";
    border: 0px;
    width: 12px;
    height: 12px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    position: absolute;
    transform: rotate(-45deg);
    margin-top: 22px;
    margin-left: 19px;
  }

  footer {
    background-color: #08435e;
    width: 100%;
    height: 392px;
    position: relative;
  }

  footer .child {
    padding-top: 72px;
    display: flex;
  }

  footer .child .copyright {
    font-size: 1.8rem;
    color: #fff;
    opacity: .3;
    position: absolute;
    bottom: 44px;
    left: 50%;
    transform: translate3d(-50%, 0, 0);
    white-space: nowrap;
  }

  footer .child .message {
    font-size: 6vw;
    color: #fff;
    opacity: .3;
    margin-left: 8%;
    letter-spacing: 0.07em;
  }

  footer .child ul {
    position: relative;
    left: 11.5%;
  }

  footer .child ul li {
    margin-bottom: 36px;
    font-weight: 400;
    font-size: 2.8rem;
  }

  footer .child ul li a {
    color: #90d1c4;
    position: relative;
  }

  footer .child ul li a span {
    position: relative;
    left: 24px;
  }

  footer .child ul li a span:after {
    content: "";
    height: 1px;
    width: 100%;
    background-color: #90d1c4;
    display: inline-block;
    top: 32px;
    left: 0;
    position: absolute;
  }

  footer .child ul li a:hover:before {
    animation: arrow4 .5s;
  }

  footer .child ul li a:before {
    content: "";
    border: 0px;
    width: 9px;
    height: 9px;
    border-top: solid 1px #90d1c4;
    border-right: solid 1px #90d1c4;
    position: absolute;
    transform: rotate(45deg);
    margin-top: 7px;
  }
}

@media screen and (max-width: 559px) {
  header h2 a img {
    width: 70px;
  }

  header h2 span {
    font-size: 1rem;
    top: -7px;
    margin-left: 25px;
  }

  header nav.header_nav div.header_nav_child .logo img {
    width: 70px;
  }

  footer {
    height: 196px;
  }

  footer .child .copyright {
    font-size: 1rem;
    bottom: 22px;
  }

  footer .child ul li {
    margin-bottom: 18px;
    font-size: 1.4rem;
  }

  footer .child ul li a span {
    left: 12px;
  }

  footer .child ul li a span:after {
    height: 1px;
    top: 16px;
  }

  footer .child ul li a:hover:before {
    animation: arrow2 .5s;
  }

  footer .child ul li a:before {
    width: 4.5px;
    height: 4.5px;
    margin-top: 3.5px;
  }
}
/*
z-index

*/

main.top .main_visual {
  position: relative;
  background-color: #99b7ab;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}

main.top .main_visual h1 {
  color: #08395e;
}

main.top .main_visual h1 div {
  opacity: 0;
}

main.top .main_visual .img {
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  overflow: hidden;
}

main.top .main_visual .img img {
  display: block;
  position: relative;
  left: 50%;
  height: 100%;
  transform: translate3d(-50%, 2vh, 0) scale(1);
  opacity: 0;
  transition: opacity 800ms, transform 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main.top .main_visual .img img.hide {
  display: none;
}

main.top .main_visual .img img.show {
  opacity: 1;
  transform: translate3d(-50%, 0, 0);
}

main.top .main_visual .img img.zoom {
  transform: translate3d(-50%, 0, 0) scale(1.15);
  transition: transform 7s;
  transition-timing-function: linear;
}

main.top > section {
  width: 100vw;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main.top > section.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.top .section3 .child .ui {
  position: absolute;
}

main.top .section3 .child .ui span {
  cursor: pointer;
}

main.top .section3 .child .ui span:hover {
  opacity: .5;
}

main.top .section3 .child .ui span.lock {
  cursor: default;
}

main.top .section3 .child .ui span.lock:hover {
  opacity: 1;
}

main.top .section3 .child .ui span.lock svg path {
  stroke: #cacaca;
}

main.top .section4 .child .cont .chunk ul li a .info {
  color: #777;
}

main.top .section5 .child .cont .ui {
  position: absolute;
}

main.top .section5 .child .cont .ui span {
  cursor: pointer;
}

main.top .section5 .child .cont .ui span:hover {
  opacity: .5;
}

main.top .section5 .child .cont .ui span.lock {
  cursor: default;
}

main.top .section5 .child .cont .ui span.lock:hover {
  opacity: 1;
}

main.top .section5 .child .cont .ui span.lock svg path {
  stroke: #cacaca;
}

main.top .section5 .child .cont .chunk ul li a:hover .nm {
  color: #0d6791;
}

main.top .section5 .child .cont .chunk ul li .job_tit {
  line-height: 1.3;
  color: #777;
}

@media screen and (min-width: 1024px) {
  main.top .main_visual h1 {
    font-size: 11vw;
  }

  main.top .main_visual h1 div {
    position: absolute;
    top: 50%;
    transform: translate3d(0, -54%, 0);
    letter-spacing: 0.09em;
  }

  main.top .main_visual h1 div:first-child {
    left: 5vw;
  }

  main.top .main_visual h1 div:nth-child(2) {
    right: 6.5vw;
  }

  main.top > section .child {
    position: relative;
  }

  main.top > section .child h2 {
    color: #08395e;
    font-size: 25rem;
    position: absolute;
  }

  main.top > section .child .cont h3 {
    color: #08395e;
    font-size: 1.6rem;
    font-weight: 400;
    letter-spacing: 0.02em;
  }

  main.top > section .child .cont h3:before {
    content: "";
    width: 40px;
    height: 1px;
    display: inline-block;
    background-color: #08395e;
    position: relative;
    top: -3px;
    margin-right: 10px;
  }

  main.top > section .child .cont h4 {
    font-size: 3.4rem;
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 1.6;
  }

  main.top > section .child .cont .txt {
    font-weight: 400;
    line-height: 2.0;
    font-size: 1.6rem;
  }

  main.top > section .child .btn {
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.07em;
  }

  main.top > section .child .btn a {
    color: #08395e;
  }

  main.top .section1 .child h2 {
    top: -4px;
    letter-spacing: 0em;
    right: 56.1%;
  }

  main.top .section1 .child .cont {
    display: flex;
    margin-top: 198px;
  }

  main.top .section1 .child .cont h3 {
    position: relative;
    left: 10%;
    margin-top: 3px;
  }

  main.top .section1 .child .cont .chunk {
    position: relative;
    left: 40%;
    width: 36%;
    margin-top: -9px;
  }

  main.top .section1 .child .cont .chunk:hover h4 {
    color: #0d6791;
  }

  main.top .section1 .child .cont .chunk .txt {
    margin-top: 17px;
  }

  main.top .section1 .child .cont .btn {
    display: none;
  }

  main.top .section2 {
    margin-top: 192px;
  }

  main.top .section2 .child {
    padding-top: 545px;
    position: relative;
  }

  main.top .section2 .child .cont {
    position: relative;
    background-color: #fff;
    width: 78%;
    left: 16.5%;
    padding-bottom: 200px;
    padding-top: 200px;
    padding-left: 13.6%;
  }

  main.top .section2 .child .cont h3 {
    position: relative;
  }

  main.top .section2 .child .cont .chunk {
    display: flex;
  }

  main.top .section2 .child .cont .chunk:hover h4 {
    color: #0d6791;
  }

  main.top .section2 .child .cont .chunk .left {
    width: 32%;
    margin-top: 16px;
  }

  main.top .section2 .child .cont .chunk .left .txt {
    margin-top: 20px;
  }

  main.top .section2 .child .cont .chunk .right {
    margin-left: 7.1%;
    width: 40%;
    position: relative;
  }

  main.top .section2 .child .cont .chunk .right img {
    width: 100%;
    position: absolute;
    top: 45%;
    transform: translateY(-50%);
  }

  main.top .section2 .child .cont .btn {
    display: none;
  }

  main.top .section2 .child .img {
    position: absolute;
    top: 0;
    z-index: -1;
  }

  main.top .section3 {
    margin-top: 100px;
  }

  main.top .section3 .child .cont {
    position: relative;
    background-color: #fff;
    width: 79%;
    padding-bottom: 165px;
    padding-top: 200px;
    padding-left: 10%;
  }

  main.top .section3 .child .cont h3 {
    font-size: 3.8rem;
  }

  main.top .section3 .child .cont h3:before {
    top: -13px;
    margin-right: 17px;
  }

  main.top .section3 .child .cont .chunk ul {
    display: flex;
    margin-top: 38px;
  }

  main.top .section3 .child .cont .chunk ul li {
    margin-right: 54px;
    position: relative;
  }

  main.top .section3 .child .cont .chunk ul li a:hover .tit {
    color: #0d6791;
  }

  main.top .section3 .child .cont .chunk ul li img {
    width: 747px;
    -webkit-user-drag: none;
  }

  main.top .section3 .child .cont .chunk ul li .tit {
    font-size: 2.6rem;
    line-height: 2;
    margin-top: 30px;
    font-weight: 400;
  }

  main.top .section3 .child .cont .chunk ul li .tit .num {
    margin-right: 18px;
  }

  main.top .section3 .child .cont .chunk ul li .txt {
    font-size: 1.6rem;
    margin-top: 9px;
  }

  main.top .section3 .child .btn {
    position: absolute;
    top: 210px;
    right: 25%;
  }

  main.top .section3 .child .btn a:hover {
    color: #0d6791;
    border-bottom: 1px solid #0d6791;
  }

  main.top .section3 .child .ui {
    top: 205px;
    right: 14.7%;
  }

  main.top .section3 .child .ui .prev {
    margin-right: 70px;
  }

  main.top .section4 {
    margin-top: 115px;
    position: relative;
  }

  main.top .section4 .imgs {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 10%;
    width: 614px;
    height: 819px;
    overflow: hidden;
  }

  main.top .section4 .imgs.wipe_in2:after {
    animation: wipe_in2 1s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
  }

@keyframes wipe_in2 {
    0% {
      width: 0%;
      left: 0%;
    }

    50% {
      width: 100%;
      left: 0%;
    }

    100% {
      width: 0%;
      left: 100%;
    }
}

  main.top .section4 .imgs.show img {
    visibility: visible;
  }

  main.top .section4 .imgs img {
    height: 100%;
    position: absolute;
    left: 50%;
    transform: translate3d(-50%, 0, 0);
    opacity: 0;
  }

  main.top .section4 .imgs img.show {
    opacity: 1;
  }

  main.top .section4 .child .cont {
    position: relative;
    background-color: #fff;
    width: 40%;
    left: 43.4%;
    top: 200px;
    padding-bottom: 200px;
    padding-top: 210px;
    padding-left: 10%;
    padding-right: 110px;
  }

  main.top .section4 .child .cont h3 {
    font-size: 3.8rem;
  }

  main.top .section4 .child .cont h3:before {
    top: -13px;
    margin-right: 17px;
  }

  main.top .section4 .child .cont .btn {
    position: absolute;
    top: 216px;
    right: 12.4%;
    font-size: 1.4rem;
  }

  main.top .section4 .child .cont .btn a:hover {
    color: #0d6791;
    border-bottom: 1px solid #0d6791;
  }

  main.top .section4 .child .cont .chunk ul {
    margin-top: 36px;
  }

  main.top .section4 .child .cont .chunk ul li {
    font-size: 1.6rem;
    line-height: 2;
    border-bottom: 1px solid #cccccc;
    position: relative;
  }

  main.top .section4 .child .cont .chunk ul li:before {
    right: 2px;
    top: 50%;
    margin-top: -4.5px;
  }

  main.top .section4 .child .cont .chunk ul li a {
    display: block;
    padding: 30px 0;
  }

  main.top .section4 .child .cont .chunk ul li a:hover .txt {
    color: #0d6791;
  }

  main.top .section4 .child .cont .chunk ul li a img {
    display: none;
  }

  main.top .section4 .child .cont .chunk ul li a .txt {
    font-size: 1.6rem;
    width: 95%;
  }

  main.top .section4 .child .cont .chunk ul li a .info {
    display: flex;
    font-size: 1.5rem;
    margin-top: 7px;
  }

  main.top .section4 .child .cont .chunk ul li a .info div.dep,
  main.top .section4 .child .cont .chunk ul li a .info span {
    margin-right: 15px;
  }

  main.top .section4 .child .cont .chunk ul li:first-of-type a {
    border-top: 1px solid #cccccc;
  }

  main.top .section4 .child .cont .ui {
    display: none;
  }

  main.top .section5 {
    margin-top: 300px;
    position: relative;
  }

  main.top .section5 .img {
    position: absolute;
    top: 0;
    left: 7.3%;
    z-index: -1;
  }

  main.top .section5 .img img {
    width: 246px;
  }

  main.top .section5 .child {
    padding-top: 92px;
  }

  main.top .section5 .child .cont h3 {
    position: relative;
    font-size: 3.8rem;
    left: 16.8%;
  }

  main.top .section5 .child .cont h3:before {
    top: -15px;
    margin-right: 19px;
  }

  main.top .section5 .child .cont .btn {
    position: absolute;
    top: 101px;
    right: 19.2%;
    font-size: 1.4rem;
  }

  main.top .section5 .child .cont .btn a:hover {
    color: #0d6791;
    border-bottom: 1px solid #0d6791;
  }

  main.top .section5 .child .cont .ui {
    top: 99px;
    right: 8.9%;
  }

  main.top .section5 .child .cont .ui .prev {
    margin-right: 70px;
  }

  main.top .section5 .child .cont .chunk {
    margin-top: 37px;
  }

  main.top .section5 .child .cont .chunk ul {
    position: relative;
    display: flex;
    left: 16.7%;
  }

  main.top .section5 .child .cont .chunk ul li {
    margin-right: 54px;
    position: relative;
  }

  main.top .section5 .child .cont .chunk ul li:nth-child(even) {
    margin-top: 30px;
  }

  main.top .section5 .child .cont .chunk ul li img {
    width: 295px;
  }

  main.top .section5 .child .cont .chunk ul li .nm {
    margin-top: 15px;
    font-size: 2.2rem;
    font-weight: 300;
  }

  main.top .section5 .child .cont .chunk ul li .job_tit {
    margin-top: 10px;
    font-size: 1.5rem;
  }

  main.top .section6 {
    margin-top: 200px;
    position: relative;
  }

  main.top .section6 .child {
    background-color: #fff;
    width: 90.4%;
    padding-bottom: 190px;
  }

  main.top .section6 .child .cont {
    position: relative;
    padding-left: 11.2%;
    padding-top: 200px;
    padding-right: 100px;
  }

  main.top .section6 .child .cont a:hover h4 {
    color: #0d6791;
  }

  main.top .section6 .child .cont h3 {
    position: relative;
    font-size: 3.8rem;
  }

  main.top .section6 .child .cont h3:before {
    top: -15px;
  }

  main.top .section6 .child .cont .img {
    position: absolute;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -25%, 0);
    right: 11.1%;
    width: 41%;
  }

  main.top .section6 .child .cont .img img {
    width: 100%;
  }

  main.top .section6 .child .cont h4 {
    margin-top: 15px;
    width: 34%;
    font-size: 2.6rem;
  }

  main.top .section6 .child .cont .txt {
    margin-top: 24px;
    width: 34%;
  }

  main.top .section6 .btn {
    padding-left: 11.2%;
    margin-top: 42px;
  }

  main.top .section6 .btn a:hover {
    color: #0d6791;
    border-bottom: 1px solid #0d6791;
  }

  main.top .section7 {
    margin-top: 100px;
    position: relative;
  }

  main.top .section7 .child .cont {
    padding-left: 24.7%;
    padding-bottom: 220px;
    padding-top: 100px;
    padding-right: 6%;
    display: flex;
  }

  main.top .section7 .child .cont h3 {
    position: relative;
    font-size: 3.8rem;
  }

  main.top .section7 .child .cont h3:before {
    top: -12px;
    margin-right: 18px;
  }

  main.top .section7 .child .cont .chunk {
    position: relative;
    left: 12.3%;
    width: 67%;
  }

  main.top .section7 .child .cont .chunk ul li {
    border-bottom: 1px solid #cccccc;
    position: relative;
  }

  main.top .section7 .child .cont .chunk ul li:first-child {
    border-top: 1px solid #cccccc;
  }

  main.top .section7 .child .cont .chunk ul li:before {
    right: 2px;
    top: 50%;
    margin-top: -4.5px;
  }

  main.top .section7 .child .cont .chunk ul li a {
    display: block;
    padding: 45px 0 36px;
  }

  main.top .section7 .child .cont .chunk ul li a:hover .txt {
    color: #0d6791;
  }

  main.top .section7 .child .cont .chunk ul li a .info {
    font-size: 1.3rem;
    color: #777777;
    font-weight: 400;
    letter-spacing: 0.04em;
  }

  main.top .section7 .child .cont .chunk ul li a .info .date {
    margin-right: 60px;
  }

  main.top .section7 .child .cont .chunk ul li a .txt {
    margin-top: 4px;
    width: 95%;
  }

  main.top .section7 .child .btn {
    position: absolute;
    right: 10%;
    font-size: 1.4rem;
    bottom: 147px;
  }

  main.top .section7 .child .btn a:hover {
    color: #0d6791;
    border-bottom: 1px solid #0d6791;
  }
}

@media screen and (max-width: 1430px) and (min-width: 1024px) {
  main.top > section .child h2 {
    font-size: 18rem;
  }

  main.top .section1 .child h2 {
    top: 17px;
  }
}

@media screen and (max-width: 1023px) {
  main.top .main_visual h1 {
    font-size: 21.5vw;
    position: absolute;
    top: 22%;
    left: 50%;
    transform: translate3d(-50%, 0, 0);
    text-align: center;
    letter-spacing: 0.1em;
  }

  main.top .main_visual h1 div:nth-child(2) {
    position: relative;
    margin-top: -2vh;
  }

  main.top > section .child {
    position: relative;
  }

  main.top > section .child h2 {
    color: #08395e;
    font-size: 11.85rem;
    position: absolute;
  }

  main.top > section .child .cont h3 {
    color: #08395e;
    font-size: 1.3rem;
    font-weight: 400;
  }

  main.top > section .child .cont h3:before {
    content: "";
    width: 30px;
    height: 1px;
    display: inline-block;
    background-color: #08395e;
    position: relative;
    top: -3px;
    margin-right: 10px;
  }

  main.top > section .child .cont h4 {
    font-size: 2.1rem;
    font-weight: 400;
  }

  main.top > section .child .cont .txt {
    font-weight: 400;
    line-height: 2.2;
    font-size: 1.2rem;
  }

  main.top > section .child .btn {
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: 0.00em;
  }

  main.top > section .child .btn a {
    color: #08395e;
    text-decoration: underline;
  }

  main.top .section1 .child h2 {
    left: 6.7%;
    top: 0px;
    letter-spacing: 0em;
  }

  main.top .section1 .child .cont {
    margin-top: 60px;
  }

  main.top .section1 .child .cont h3 {
    position: relative;
    left: 8%;
  }

  main.top .section1 .child .cont .chunk {
    position: relative;
    left: 8%;
    width: 80%;
    margin-top: 140px;
  }

  main.top .section1 .child .cont .chunk .txt {
    margin-top: 17px;
  }

  main.top .section1 .child .btn {
    text-align: center;
    margin-top: 42px;
  }

  main.top .section2 {
    margin-top: 94px;
  }

  main.top .section2 .child {
    padding-top: 466px;
    position: relative;
    width: 90%;
    margin: 0 auto;
  }

  main.top .section2 .child .cont {
    position: relative;
    background-color: #fff;
    width: 93%;
    margin: 0 auto;
    padding-bottom: 116px;
    padding-top: 118px;
    padding-left: 3%;
    padding-right: 3%;
  }

  main.top .section2 .child .cont h3 {
    margin-left: 3%;
  }

  main.top .section2 .child .cont .chunk {
    display: flex;
    margin-top: 86px;
    flex-direction: column-reverse;
  }

  main.top .section2 .child .cont .chunk .left {
    margin: 84px auto 0;
    width: 94%;
    line-height: 1.4;
  }

  main.top .section2 .child .cont .chunk .left .txt {
    margin-top: 26px;
  }

  main.top .section2 .child .cont .chunk .right {
    margin: 0 auto;
    width: 90.5%;
  }

  main.top .section2 .child .cont .chunk .right img {
    width: 100%;
    height: auto;
  }

  main.top .section2 .child .btn {
    text-align: center;
    margin-top: 84px;
  }

  main.top .section2 .child .img {
    position: absolute;
    top: 0;
    z-index: -1;
    width: 112%;
  }

  main.top .section2 .child .img img {
    width: 133%;
    position: relative;
    left: 50%;
    transform: translate3d(-50%, 0, 0);
  }

  main.top .section3 {
    margin-top: 100px;
  }

  main.top .section3 .child .cont {
    position: relative;
    padding-bottom: 120px;
    padding-left: 8vw;
  }

  main.top .section3 .child .cont .chunk ul {
    display: flex;
    margin-top: 40px;
  }

  main.top .section3 .child .cont .chunk ul li {
    margin-right: 20px;
    width: 80vw;
    position: relative;
  }

  main.top .section3 .child .cont .chunk ul li img {
    width: 80vw;
    position: relative;
    -webkit-user-drag: none;
  }

  main.top .section3 .child .cont .chunk ul li .tit {
    padding: 0 10%;
    font-size: 1.4rem;
    background-color: #fff;
    height: 82px;
    font-weight: 400;
  }

  main.top .section3 .child .cont .chunk ul li .tit .tit_child {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    line-height: 1.8;
  }

  main.top .section3 .child .cont .chunk ul li .tit .num {
    margin-right: 18px;
  }

  main.top .section3 .child .cont .chunk ul li .txt {
    font-size: 1.4rem;
    display: none;
  }

  main.top .section3 .child .btn {
    position: relative;
    margin-top: 12px;
    text-align: center;
  }

  main.top .section3 .child .ui {
    top: -3px;
    right: 10%;
  }

  main.top .section3 .child .ui .prev {
    margin-right: 43px;
  }

  main.top .section4 {
    position: relative;
  }

  main.top .section4 .imgs {
    display: none;
  }

  main.top .section4 .child .cont {
    position: relative;
    top: 99px;
  }

  main.top .section4 .child .cont h3 {
    margin-left: 30px;
  }

  main.top .section4 .child .cont .chunk ul {
    margin-top: 10px;
    margin-left: 30px;
    display: flex;
  }

  main.top .section4 .child .cont .chunk ul li {
    font-size: 1.6rem;
    line-height: 2;
    padding: 10px 0;
    margin-right: 20px;
    position: relative;
  }

  main.top .section4 .child .cont .chunk ul li:before {
    width: 16px;
    height: 16px;
    border-width: 2px;
    margin-top: 0px;
    bottom: 231px;
    right: 17%;
    display: none;
  }

  main.top .section4 .child .cont .chunk ul li a {
    width: 81vw;
    display: block;
  }

  main.top .section4 .child .cont .chunk ul li a img {
    width: 100%;
    display: block;
  }

  main.top .section4 .child .cont .chunk ul li a .txt {
    font-size: 1.4rem;
    background-color: #fff;
    line-height: 1.95;
    padding: 36px 8vw 0 8vw;
  }

  main.top .section4 .child .cont .chunk ul li a .info {
    font-size: 1.0rem;
    background-color: #fff;
    line-height: 1.45;
    padding: 10px 8vw 44px 8vw;
  }

  main.top .section4 .child .cont .chunk ul li a .info div.dep,
  main.top .section4 .child .cont .chunk ul li a .info span {
    margin-right: 10px;
  }

  main.top .section4 .child .cont .btn {
    position: relative;
    margin-top: 54px;
    font-size: 1.4rem;
    text-align: center;
  }

  main.top .section4 .child .cont .ui {
    position: absolute;
    top: -3px;
    right: 10%;
  }

  main.top .section4 .child .cont .ui span {
    cursor: pointer;
  }

  main.top .section4 .child .cont .ui span:hover {
    opacity: .5;
  }

  main.top .section4 .child .cont .ui span.lock {
    cursor: default;
  }

  main.top .section4 .child .cont .ui span.lock:hover {
    opacity: 1;
  }

  main.top .section4 .child .cont .ui span.lock svg path {
    stroke: #cacaca;
  }

  main.top .section4 .child .cont .ui .prev {
    margin-right: 43px;
  }

  main.top .section5 {
    margin-top: 136px;
    position: relative;
  }

  main.top .section5 .img {
    position: absolute;
    top: 0;
    left: -3%;
    z-index: -1;
  }

  main.top .section5 .img img {
    width: 246px;
  }

  main.top .section5 .child {
    padding-top: 62px;
  }

  main.top .section5 .child .cont h3 {
    position: relative;
    left: 8%;
  }

  main.top .section5 .child .cont .chunk {
    margin-top: 21px;
  }

  main.top .section5 .child .cont .chunk ul {
    position: relative;
    display: flex;
    left: 8%;
  }

  main.top .section5 .child .cont .chunk ul li {
    margin-right: 20px;
    position: relative;
  }

  main.top .section5 .child .cont .chunk ul li:nth-child(even) {
    margin-top: 44px;
  }

  main.top .section5 .child .cont .chunk ul li img {
    width: 36vw;
  }

  main.top .section5 .child .cont .chunk ul li .nm {
    margin-top: 16px;
    font-size: 1.3rem;
    font-weight: 300;
  }

  main.top .section5 .child .cont .chunk ul li .job_tit {
    margin-top: 18px;
    font-size: 1.0rem;
  }

  main.top .section5 .child .cont .btn {
    position: relative;
    margin-top: 70px;
    font-size: 1.4rem;
    text-align: center;
  }

  main.top .section5 .child .cont .ui {
    top: 60px;
    right: 10.4%;
  }

  main.top .section5 .child .cont .ui .prev {
    margin-right: 40px;
  }

  main.top .section6 {
    margin-top: 100px;
    position: relative;
  }

  main.top .section6 .child .cont {
    position: relative;
    background-color: #fff;
    padding-left: 8%;
    padding-bottom: 100px;
    padding-top: 100px;
    padding-right: 100px;
    width: 100%;
  }

  main.top .section6 .child .cont h3 {
    position: relative;
  }

  main.top .section6 .child .cont .img {
    position: relative;
    margin-top: 46px;
    width: 84%;
  }

  main.top .section6 .child .cont .img img {
    width: 100%;
  }

  main.top .section6 .child .cont h4 {
    margin-top: 94px;
    line-height: 1.5;
    width: 84%;
  }

  main.top .section6 .child .cont .txt {
    margin-top: 6px;
    width: 84%;
  }

  main.top .section6 .btn {
    position: relative;
    margin-top: -59px;
    text-align: center;
  }

  main.top .section7 {
    margin-top: 50px;
    margin-bottom: 100px;
    position: relative;
  }

  main.top .section7 .child .cont {
    padding-left: 8%;
    padding-top: 48px;
    padding-right: 8%;
  }

  main.top .section7 .child .cont h3 {
    position: relative;
  }

  main.top .section7 .child .cont .chunk {
    position: relative;
    margin-top: 20px;
  }

  main.top .section7 .child .cont .chunk ul li {
    border-bottom: 1px solid #cccccc;
  }

  main.top .section7 .child .cont .chunk ul li:before {
    content: none;
  }

  main.top .section7 .child .cont .chunk ul li:first-child {
    border-top: 1px solid #cccccc;
  }

  main.top .section7 .child .cont .chunk ul li a {
    display: block;
    padding: 50px 0 36px;
  }

  main.top .section7 .child .cont .chunk ul li a .info {
    font-size: 1.2rem;
    color: #777777;
    font-weight: 400;
    letter-spacing: 0.04em;
  }

  main.top .section7 .child .cont .chunk ul li a .info .date {
    margin-right: 68px;
  }

  main.top .section7 .child .cont .chunk ul li a .txt {
    margin-top: 8px;
  }

  main.top .section7 .child .btn {
    position: relative;
    text-align: center;
    margin-top: 48px;
  }
}

@media screen and (max-width: 559px) {
  main.top .main_visual h1 {
    font-size: 8.3rem;
  }

  main.top .main_visual .img {
    height: auto;
  }

  main.top .main_visual .img img {
    height: auto;
    width: 172vw;
  }

  main.top .section2 .child {
    padding-top: 233px;
  }

  main.top .section2 .child .cont {
    padding-top: 59px;
    padding-bottom: 58px;
  }

  main.top .section2 .child .cont .chunk {
    margin-top: 43px;
  }

  main.top .section2 .child .cont .chunk .left {
    margin: 42px auto 0;
  }

  main.top .section2 .child .cont .chunk .left .txt {
    margin-top: 13px;
  }

  main.top .section2 .child .btn {
    text-align: center;
    margin-top: 42px;
  }

  main.top .section3 .child .cont {
    padding-bottom: 60px;
  }

  main.top .section3 .child .cont .chunk ul {
    margin-top: 20px;
  }

  main.top .section3 .child .cont .chunk ul li .tit .num {
    margin-right: 9px;
  }

  main.top .section4 .child .cont .chunk ul li:before {
    width: 8px;
    height: 8px;
    border-width: 1px;
    bottom: 122px;
    right: 14%;
  }

  main.top .section4 .child .cont .chunk ul li a .txt {
    padding: 18px 8vw 0 8vw;
  }

  main.top .section4 .child .cont .chunk ul li a .info {
    padding: 5px 8vw 22px 8vw;
  }

  main.top .section5 .img img {
    width: 123px;
  }

  main.top .section5 .child .cont .chunk ul li:nth-child(even) {
    margin-top: 22px;
  }

  main.top .section5 .child .cont .chunk ul li .nm {
    margin-top: 8px;
  }

  main.top .section5 .child .cont .chunk ul li .job_tit {
    margin-top: 9px;
  }

  main.top .section6 .child .cont h4 {
    margin-top: 47px;
  }

  main.top .section6 .child .cont .txt {
    margin-top: 3px;
  }

  main.top .section7 .child .cont .chunk ul li a {
    padding: 25px 0 18px;
  }

  main.top .section7 .child .cont .chunk ul li a .info .date {
    margin-right: 34px;
  }

  main.top .section7 .child .cont .chunk ul li a .txt {
    margin-top: 4px;
  }
}
/*
z-index

*/

main.service .main_visual h1 {
  color: #08395e;
  position: relative;
  letter-spacing: 0.05em;
  z-index: 1;
}

main.service .main_visual .img {
  position: absolute;
}

main.service .main_visual .txt {
  position: relative;
  line-height: 2.0;
  letter-spacing: 0.02em;
}

main.service section {
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.service section.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.service section .child h2 {
  font-family: 'Theinhardt', source-han-sans-japanese, sans-serif;
}

main.service .section1 .child .left {
  background-image: url(/assets/img/service/img01.jpg);
  background-size: contain;
}

main.service .section2 .child .right {
  background-image: url(/assets/img/service/img02.jpg);
  background-size: contain;
}

main.service .section3 .child .left {
  background-image: url(/assets/img/service/img03.jpg);
  background-size: contain;
}

main.service .section4 .child .right {
  background-image: url(/assets/img/service/img04.jpg);
  background-size: contain;
}

@media screen and (min-width: 1024px) {
  main.service .main_visual h1 {
    font-size: 5.25vw;
    padding-top: 254px;
    left: 9.8%;
  }

  main.service .main_visual .img {
    top: 186px;
    left: -3%;
  }

  main.service .main_visual .img img {
    width: 296px;
  }

  main.service .main_visual .txt {
    margin-top: 31px;
    left: 10%;
    width: 34%;
  }

  main.service section {
    margin-top: 96px;
  }

  main.service section .child {
    display: flex;
  }

  main.service section .child .txt_link:hover h2 {
    color: #0d6791;
  }

  main.service section .child .txt_link:hover .btn {
    color: #0d6791;
    border-bottom: 1px solid #0d6791;
    padding-bottom: 0px;
  }

  main.service section .child h2 {
    margin-top: 3px;
    letter-spacing: 0.12em;
    line-height: 1.6;
  }

  main.service section .child h2:after {
    content: none;
  }

  main.service section .child h2 .num {
    font-size: 2.6rem;
    margin-right: 19px;
  }

  main.service section .child h2 .element {
    font-size: 2.6rem;
  }

  main.service section .child .txt {
    margin-top: 14px;
    line-height: 2;
  }

  main.service section .child .btn {
    font-size: 1.4rem;
    margin-top: 43px;
    display: inline-block;
    padding-bottom: 1px;
    color: #08395e;
  }

  main.service section .child img {
    width: 100%;
  }

  main.service section .child video {
    width: 100%;
  }

  main.service section.patern1 .child .right {
    margin-left: 54px;
    width: 27%;
    position: relative;
  }

  main.service section.patern1 .child .right a {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }

  main.service section.patern1 .child .left {
    width: 56.6%;
  }

  main.service section.patern2 .child .right {
    width: 56.6%;
  }

  main.service section.patern2 .child .left {
    margin-right: 54px;
    margin-left: 13.4%;
    width: 27%;
    position: relative;
  }

  main.service section.patern2 .child .left a {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }

  main.service .section1 {
    margin-top: 120px;
  }

  main.service .section2 .child h2 .num {
    margin-right: 24px;
  }

  main.service .section3 .child h2 .num {
    margin-right: 25px;
  }

  main.service .section4 {
    margin-top: 105px;
  }

  main.service .section4 .child h2 .num {
    margin-right: 23px;
  }

  main.service .sections {
    position: relative;
    padding-bottom: 200px;
    /*      .line{
        position: absolute;
        left: 50%;
        transform:translate3d(-1px,0,0);
        top: 0;
        width: 1px;
        height: 100%;
        background-color: #000000;
      }*/
  }
}

@media screen and (min-width: 1024px) and (max-width: 1400px) {
  main.service section.patern1 .child .right {
    width: 35%;
    margin-left: 54px;
    margin-right: 54px;
  }

  main.service section.patern2 .child .left {
    margin-left: 54px;
    margin-right: 54px;
    width: 35%;
  }
}

@media screen and (max-width: 1023px) {
  main.service .main_visual h1 {
    font-size: 6.5rem;
    padding-top: 138px;
    left: 8.2%;
    line-height: 0.9;
  }

  main.service .main_visual .img {
    top: 118px;
    left: -2.5%;
  }

  main.service .main_visual .img img {
    width: 180px;
  }

  main.service .main_visual .txt {
    width: 80%;
    left: 8%;
    margin-top: 26px;
  }

  main.service section .child {
    display: flex;
  }

  main.service section .child h2 {
    margin-top: 24px;
    margin-bottom: 30px;
    text-align: center;
  }

  main.service section .child h2:after {
    border-right-width: 1px;
    border-color: rgba(1, 1, 1, 0);
    border-top: none;
    left: 46%;
    transform: translateX(-50%);
    width: 1px;
    height: 26px;
    top: 5px;
    position: relative;
    display: block;
  }

  main.service section .child h2 .num {
    font-size: 1.65rem;
    margin-right: 1.8vw;
  }

  main.service section .child h2 .element {
    font-size: 1.4rem;
  }

  main.service section .child .txt {
    display: none;
  }

  main.service section .child .btn {
    display: none;
  }

  main.service section .child img {
    width: 100%;
  }

  main.service section .child video {
    width: 100%;
  }

  main.service section.patern1 .child {
    flex-direction: column;
  }

  main.service section.patern2 .child {
    flex-direction: column-reverse;
  }

  main.service .section1 {
    margin-top: 90px;
  }

  main.service .section4 {
    margin-bottom: 53px;
  }
}

@media screen and (max-width: 559px) {
  main.service .main_visual h1 {
    font-size: 3.25rem;
  }

  main.service .main_visual .img img {
    width: 90px;
  }

  main.service .main_visual .txt {
    margin-top: 13px;
  }
}
@charset "UTF-8";

/*
z-index

*/

main.servicedetail .main_visual {
  width: 100%;
  height: 100vh;
  overflow: hidden;
  position: relative;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

main.servicedetail .main_visual video {
  position: absolute;
  min-height: 100%;
  min-width: 100%;
  top: 0;
  left: 50%;
  transform: translate3d(-50%, 0, 0);
  z-index: -1;
}

main.servicedetail .main_visual .inner {
  width: 100%;
}

main.servicedetail .main_visual .inner h1 {
  color: #08435e;
  letter-spacing: 0.03em;
}

main.servicedetail .main_visual .inner h1 span {
  display: block;
  font-family: source-han-sans-japanese, sans-serif;
  letter-spacing: 0.02em;
}

main.servicedetail .leadtxt,
main.servicedetail .section1,
main.servicedetail .section2 {
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.servicedetail .leadtxt.show,
main.servicedetail .section1.show,
main.servicedetail .section2.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.servicedetail .leadtxt {
  background-color: #ffffff;
  box-sizing: border-box;
  position: relative;
  z-index: 2;
}

main.servicedetail .section1 {
  position: relative;
}

main.servicedetail .section1 .inner p.ttl {
  color: #084b5e;
  font-weight: 400;
  position: relative;
}

main.servicedetail .section1 .inner p.ttl:before {
  display: block;
  content: "";
  height: 1px;
  background-color: #08435e;
  position: absolute;
  left: 3px;
  top: 50%;
  margin-top: -1px;
}

main.servicedetail .section1 .inner dl dt {
  color: #222222;
  letter-spacing: 0.02em;
  margin-left: 1px;
}

main.servicedetail .section1 .inner dl dd {
  letter-spacing: 0.04em;
}

main.servicedetail .section1 .inner dl dd:last-child {
  margin-bottom: 0;
}

main.servicedetail .section2 {
  background-color: #ffffff;
  position: relative;
}

main.servicedetail .section2 .img01 {
  position: absolute;
}

main.servicedetail .section2 .img01 img {
  width: 100%;
  height: auto;
}

main.servicedetail .section2 .img02 {
  position: absolute;
}

main.servicedetail .section2 .img02 img {
  width: 100%;
  height: auto;
}

main.servicedetail .section2 .inner {
  margin: 0 auto;
}

main.servicedetail .section2 .inner .ourstrength {
  position: relative;
}

main.servicedetail .section2 .inner .ourstrength p.ttl {
  color: #084b5e;
  font-weight: 400;
  position: relative;
}

main.servicedetail .section2 .inner .ourstrength p.ttl:before {
  display: block;
  content: "";
  height: 1px;
  background-color: #08435e;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -1px;
}

main.servicedetail .section2 .inner .ourstrength .blocklist {
  text-align: center;
}

main.servicedetail .section2 .inner .ourstrength .blocklist .block img {
  width: inherit;
  margin-bottom: 67px;
}

main.servicedetail .section2 .inner .ourstrength .blocklist .block dl dt {
  text-align: left;
  color: #222222;
  letter-spacing: 0.02em;
}

main.servicedetail .section2 .inner .ourstrength .blocklist .block dl dd {
  text-align: left;
  letter-spacing: 0.04em;
}

main.servicedetail .section2 .inner .ourstrength .blocklist .block dl dd:last-child {
  margin-bottom: 0;
}

main.servicedetail .section2 .inner .casestudies {
  text-align: center;
}

main.servicedetail .section2 .inner .casestudies p.ttl {
  color: #084b5e;
  font-weight: 400;
  position: relative;
}

main.servicedetail .section2 .inner .casestudies p.ttl:before {
  display: block;
  content: "";
  height: 1px;
  background-color: #08435e;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -1px;
}

main.servicedetail .section2 .inner .casestudies .block {
  position: relative;
}

main.servicedetail .section2 .inner .casestudies .block a {
  display: block;
  box-sizing: border-box;
  background-color: #f5f5f5;
}

main.servicedetail .section2 .inner .casestudies .block a:last-child {
  margin-bottom: 0;
}

main.servicedetail .section2 .inner .pagenation {
  position: relative;
}

main.servicedetail .section2 .inner .pagenation .prev a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  background-size: 9px 15px;
  background-repeat: no-repeat;
  background-position: left center;
  color: #222222;
}

main.servicedetail .section2 .inner .pagenation .prev span {
  line-height: normal;
}

main.servicedetail .section2 .inner .pagenation .next a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  background-image: url(/assets/img/member/icon-next.png);
  background-size: 9px 15px;
  background-repeat: no-repeat;
  background-position: right center;
  color: #222222;
}

main.servicedetail .section2 .inner .pagenation .next span {
  line-height: normal;
}

main.servicedetail .section2 .inner .pagenation .viewall a {
  color: #222222;
}

@media screen and (min-width: 1024px) {
  main.servicedetail .main_visual {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }

  main.servicedetail .main_visual .inner h1 {
    margin-top: -15px;
    margin-left: 9.8125%;
    font-size: 3.75vw;
    line-height: 1.0833;
  }

  main.servicedetail .main_visual .inner h1 span {
    font-size: 1.6rem;
    margin-top: 37px;
    letter-spacing: 0.02em;
  }

  main.servicedetail .leadtxt {
    width: 70%;
    margin-top: -100px;
    margin-left: 9.9375%;
    padding: 71px 102px 71px 112px;
  }

  main.servicedetail .leadtxt ul {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  main.servicedetail .leadtxt ul li {
    width: 47.6243%;
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: 0.04em;
  }

  main.servicedetail .leadtxt ul li:last-child {
    width: 46.5%;
  }

  main.servicedetail .section1 {
    margin-top: 148px;
    padding-bottom: 242px;
  }

  main.servicedetail .section1 .inner {
    width: 70%;
    display: flex;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-left: 9.8125%;
  }

  main.servicedetail .section1 .inner p.ttl {
    margin: 6px 0 0 0;
    padding-left: 51px;
    font-size: 1.6rem;
    letter-spacing: 0.02em;
  }

  main.servicedetail .section1 .inner p.ttl:before {
    width: 40px;
    margin-top: -1px;
  }

  main.servicedetail .section1 .inner dl {
    width: 64.2857%;
  }

  main.servicedetail .section1 .inner dl dt {
    font-size: 2.6rem;
    line-height: 1.6;
    margin-bottom: 29px;
    letter-spacing: 0.02em;
  }

  main.servicedetail .section1 .inner dl dd {
    font-size: 1.6rem;
    line-height: 2;
    margin-bottom: 88px;
    margin-left: 3px;
  }

  main.servicedetail .section2 {
    padding-bottom: 189px;
  }

  main.servicedetail .section2 .img01 {
    width: 51.8125%;
    top: -151px;
    right: 0;
  }

  main.servicedetail .section2 .img02 {
    width: 21.8125%;
    top: 147px;
    left: 18.1875%;
  }

  main.servicedetail .section2 .inner {
    width: 80%;
    padding-top: 50%;
  }

  main.servicedetail .section2 .inner .ourstrength {
    margin-bottom: 190px;
  }

  main.servicedetail .section2 .inner .ourstrength p.ttl {
    margin: 0;
    padding-left: 49px;
    font-size: 1.6rem;
    letter-spacing: 0.02em;
    position: absolute;
    top: 12px;
    left: 0;
  }

  main.servicedetail .section2 .inner .ourstrength p.ttl:before {
    width: 40px;
  }

  main.servicedetail .section2 .inner .ourstrength .blocklist {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  main.servicedetail .section2 .inner .ourstrength .blocklist .block {
    width: 29.14%;
  }

  main.servicedetail .section2 .inner .ourstrength .blocklist .block:nth-of-type(1) img {
    width: 53.6193%;
    margin-top: 32.97587%;
    margin-bottom: 67px;
    margin-left: -5px;
  }

  main.servicedetail .section2 .inner .ourstrength .blocklist .block:nth-of-type(2) img {
    width: 66.2%;
    margin-top: 41.823%;
    margin-bottom: 69px;
    margin-left: -18px;
  }

  main.servicedetail .section2 .inner .ourstrength .blocklist .block:nth-of-type(3) img {
    width: 41.28686%;
    margin-bottom: 72px;
    margin-left: -5px;
  }

  main.servicedetail .section2 .inner .ourstrength .blocklist .block dl dt {
    font-size: 2.6rem;
    line-height: 1.6;
    margin-bottom: 23px;
  }

  main.servicedetail .section2 .inner .ourstrength .blocklist .block dl dd {
    font-size: 1.6rem;
    line-height: 2;
    margin-bottom: 100px;
  }

  main.servicedetail .section2 .inner .casestudies {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-bottom: 185px;
  }

  main.servicedetail .section2 .inner .casestudies p.ttl {
    width: 110px;
    margin: 0;
    padding-left: 49px;
    font-size: 1.6rem;
    letter-spacing: 0.02em;
  }

  main.servicedetail .section2 .inner .casestudies p.ttl:before {
    width: 40px;
  }

  main.servicedetail .section2 .inner .casestudies .block {
    width: calc(96.1% - 163px);
    margin-left: 3.9%;
  }

  main.servicedetail .section2 .inner .casestudies .block a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    padding: 50px 54px;
    margin-bottom: 50px;
  }

  main.servicedetail .section2 .inner .casestudies .block a:hover dd {
    color: #0d6791;
  }

  main.servicedetail .section2 .inner .casestudies .block img {
    width: 133px;
    height: auto;
  }

  main.servicedetail .section2 .inner .casestudies .block dl {
    width: calc(100% - 187px);
    text-align: left;
    margin-left: 54px;
  }

  main.servicedetail .section2 .inner .casestudies .block dl dt {
    font-size: 1.6rem;
    line-height: 2;
    margin-bottom: 13px;
    color: #777777;
    letter-spacing: 0.04em;
  }

  main.servicedetail .section2 .inner .casestudies .block dl dd {
    font-size: 2.2rem;
    line-height: 1.6;
    letter-spacing: 0.02em;
  }

  main.servicedetail .section2 .inner .pagenation {
    width: 100%;
  }

  main.servicedetail .section2 .inner .pagenation:after {
    display: block;
    content: "";
    clear: both;
  }

  main.servicedetail .section2 .inner .pagenation .prev img,
  main.servicedetail .section2 .inner .pagenation .next img {
    width: 60px;
    border-radius: 30px;
  }

  main.servicedetail .section2 .inner .pagenation .prev {
    float: left;
  }

  main.servicedetail .section2 .inner .pagenation .prev a {
    font-size: 1.6rem;
    background-image: url(/assets/img/member/icon-prev.png);
    padding-left: 38px;
  }

  main.servicedetail .section2 .inner .pagenation .prev a:hover {
    color: #0d6791;
  }

  main.servicedetail .section2 .inner .pagenation .prev a:hover span {
    text-decoration: underline;
  }

  main.servicedetail .section2 .inner .pagenation .prev a img {
    margin-right: 30px;
  }

  main.servicedetail .section2 .inner .pagenation .next {
    float: right;
  }

  main.servicedetail .section2 .inner .pagenation .next a {
    flex-direction: row-reverse;
    font-size: 1.6rem;
    padding-right: 38px;
  }

  main.servicedetail .section2 .inner .pagenation .next a:hover {
    color: #0d6791;
  }

  main.servicedetail .section2 .inner .pagenation .next a:hover span {
    text-decoration: underline;
  }

  main.servicedetail .section2 .inner .pagenation .next a img {
    margin-left: 30px;
  }

  main.servicedetail .section2 .inner .pagenation .viewall {
    font-size: 1.6rem;
    font-weight: 300;
    position: absolute;
    top: 50%;
    /*親要素を起点に上から50%*/
    left: 50%;
    /*親要素を起点に左から50%*/
    transform: translateY(-50%) translateX(-50%);
    /*要素の大きさの半分ずつを戻す*/
    -webkit-transform: translateY(-50%) translateX(-50%);
  }

  main.servicedetail .section2 .inner .pagenation .viewall a {
    line-height: normal;
  }

  main.servicedetail .section2 .inner .pagenation .viewall a:hover {
    color: #0d6791;
    text-decoration: underline;
  }

  main.servicedetail.pattern2 .section2 {
    padding-bottom: 189px;
  }

  main.servicedetail.pattern2 .section2 .img01 {
    width: 51.8125%;
    top: -151px;
    right: 0;
  }

  main.servicedetail.pattern2 .section2 .img02 {
    width: 21.8125%;
    top: 147px;
    left: 18.1875%;
  }

  main.servicedetail.pattern2 .section2 .inner .ourstrength .blocklist {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  main.servicedetail.pattern2 .section2 .inner .ourstrength .blocklist .block {
    width: 29.14%;
  }

  main.servicedetail.pattern2 .section2 .inner .ourstrength .blocklist .block:nth-of-type(1) img {
    width: 81.55%;
    margin-top: 29.946524%;
    margin-bottom: 79px;
    margin-left: -13px;
  }

  main.servicedetail.pattern2 .section2 .inner .ourstrength .blocklist .block:nth-of-type(2) img {
    width: 65.7754%;
    margin-top: 34.759%;
    margin-bottom: 96px;
    margin-left: -12px;
  }

  main.servicedetail.pattern2 .section2 .inner .ourstrength .blocklist .block:nth-of-type(3) img {
    width: 82.35294%;
    margin-top: 34.2%;
    margin-bottom: 96px;
    margin-left: -1px;
  }

  main.servicedetail.pattern3 .section2 {
    padding-bottom: 189px;
  }

  main.servicedetail.pattern3 .section2 .img01 {
    width: 51.8125%;
    top: -151px;
    right: 0;
  }

  main.servicedetail.pattern3 .section2 .img02 {
    width: 21.8125%;
    top: 147px;
    left: 18.1875%;
  }

  main.servicedetail.pattern3 .section2 .inner .ourstrength .blocklist {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  main.servicedetail.pattern3 .section2 .inner .ourstrength .blocklist .block {
    width: 29.14%;
  }

  main.servicedetail.pattern3 .section2 .inner .ourstrength .blocklist .block:nth-of-type(1) img {
    width: 87.165775%;
    margin-top: 32.8877%;
    margin-bottom: 69px;
    margin-left: -10px;
  }

  main.servicedetail.pattern3 .section2 .inner .ourstrength .blocklist .block:nth-of-type(2) img {
    width: 52.139%;
    margin-top: 29.946524%;
    margin-bottom: 73px;
    margin-left: -15px;
  }

  main.servicedetail.pattern3 .section2 .inner .ourstrength .blocklist .block:nth-of-type(3) img {
    width: 53.4759%;
    margin-top: 33.155%;
    margin-bottom: 68px;
    margin-left: -5px;
  }

  main.servicedetail.pattern4 .leadtxt {
    padding-bottom: 70px;
  }

  main.servicedetail.pattern4 .section1 {
    margin-top: 100px;
    padding-bottom: 0;
  }

  main.servicedetail.pattern4 .section2 {
    padding-bottom: 190px;
  }

  main.servicedetail.pattern4 .section2 .inner {
    padding-top: 150px;
  }
}

@media screen and (min-width: 1024px) and (max-width: 1200px) {
  main.servicedetail .pagenation .prev,
  main.servicedetail .pagenation .next {
    width: 40%;
  }

  main.servicedetail .pagenation .prev a span,
  main.servicedetail .pagenation .next a span {
    width: calc(100% - 128px);
  }

  main.servicedetail.pattern3 .pagenation .next,
  main.servicedetail.pattern4 .pagenation .next {
    text-align: right;
  }
}

@media screen and (max-width: 1023px) {
  main.servicedetail .main_visual {
    background-image: url("/assets/img/service/detail1/mainvisual-pc.jpg");
  }

  main.servicedetail .main_visual .inner {
    width: 100%;
    height: calc(100vh - 191px);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }

  main.servicedetail .main_visual .inner h1 {
    margin-top: 14.4%;
    margin-left: 7.73%;
    font-size: 8vw;
    line-height: 1.167;
  }

  main.servicedetail .main_visual .inner h1 span {
    font-size: 1.1rem;
    margin-top: 16px;
  }

  main.servicedetail .leadtxt {
    width: 89.333%;
    margin: -200px auto 0;
    padding: 42px 20px 51px;
  }

  main.servicedetail .leadtxt p {
    font-size: 1.2rem;
    line-height: 2.167;
    letter-spacing: 0.04em;
  }

  main.servicedetail .section1 {
    margin-top: 99px;
    padding-bottom: 106px;
  }

  main.servicedetail .section1 .inner {
    width: 84%;
    margin: 0 auto;
  }

  main.servicedetail .section1 .inner p.ttl {
    margin-bottom: 44px;
    padding-left: 40px;
    font-size: 1.3rem;
    letter-spacing: 0.04em;
  }

  main.servicedetail .section1 .inner p.ttl:before {
    width: 30px;
  }

  main.servicedetail .section1 .inner dl dt {
    font-size: 2.1rem;
    margin-bottom: 18px;
  }

  main.servicedetail .section1 .inner dl dd {
    font-size: 1.2rem;
    line-height: 2.167;
    margin-bottom: 42px;
  }

  main.servicedetail .section2 {
    padding-bottom: 93px;
  }

  main.servicedetail .section2 .img01 {
    width: 65.867%;
    top: -53px;
    right: 0;
  }

  main.servicedetail .section2 .img02 {
    width: 32%;
    top: 67px;
    left: 0;
  }

  main.servicedetail .section2 .inner {
    width: 84%;
    padding-top: 76.533%;
  }

  main.servicedetail .section2 .inner .ourstrength {
    margin-bottom: 98px;
  }

  main.servicedetail .section2 .inner .ourstrength p.ttl {
    margin: 0 0 50px;
    padding-left: 41px;
    font-size: 1.3rem;
    letter-spacing: 0.04em;
  }

  main.servicedetail .section2 .inner .ourstrength p.ttl:before {
    width: 30px;
  }

  main.servicedetail .section2 .inner .ourstrength .blocklist .block {
    width: 100%;
  }

  main.servicedetail .section2 .inner .ourstrength .blocklist .block:nth-of-type(1) {
    margin-bottom: 36px;
    padding-bottom: 43px;
    border-bottom: 1px solid #cccccc;
  }

  main.servicedetail .section2 .inner .ourstrength .blocklist .block:nth-of-type(1) img {
    width: 43.492%;
    margin-bottom: 38px;
    margin-left: -12px;
  }

  main.servicedetail .section2 .inner .ourstrength .blocklist .block:nth-of-type(2) {
    margin-bottom: 47px;
    padding-bottom: 42px;
    border-bottom: 1px solid #cccccc;
  }

  main.servicedetail .section2 .inner .ourstrength .blocklist .block:nth-of-type(2) img {
    width: 49.84%;
    margin-bottom: 42px;
  }

  main.servicedetail .section2 .inner .ourstrength .blocklist .block:nth-of-type(3) {
    margin-bottom: 35px;
    padding-bottom: 41px;
    border-bottom: 1px solid #cccccc;
  }

  main.servicedetail .section2 .inner .ourstrength .blocklist .block:nth-of-type(3) img {
    width: 35.555%;
    margin-bottom: 39px;
  }

  main.servicedetail .section2 .inner .ourstrength .blocklist .block dl dt {
    font-size: 2.1rem;
    line-height: 1.42857;
    margin-bottom: 14px;
  }

  main.servicedetail .section2 .inner .ourstrength .blocklist .block dl dd {
    font-size: 1.2rem;
    line-height: 2.167;
  }

  main.servicedetail .section2 .inner .casestudies {
    margin-bottom: 99px;
  }

  main.servicedetail .section2 .inner .casestudies p.ttl {
    width: 110px;
    margin: 0 0 47px 0;
    padding-left: 24px;
    font-size: 1.3rem;
    letter-spacing: 0.04em;
  }

  main.servicedetail .section2 .inner .casestudies p.ttl:before {
    width: 30px;
  }

  main.servicedetail .section2 .inner .casestudies .block {
    width: 100%;
  }

  main.servicedetail .section2 .inner .casestudies .block a {
    padding: 50px 20px 42px;
    margin-bottom: 25px;
  }

  main.servicedetail .section2 .inner .casestudies .block a .subinner {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 16px;
  }

  main.servicedetail .section2 .inner .casestudies .block a .subinner img {
    width: 25.4545%;
    height: auto;
    margin-right: 6.9455%;
  }

  main.servicedetail .section2 .inner .casestudies .block a .subinner p.txt {
    width: 67.6%;
    font-size: 1.2rem;
    line-height: 2.167;
    color: #777777;
    text-align: left;
    letter-spacing: 0.04em;
  }

  main.servicedetail .section2 .inner .casestudies .block dl {
    width: 100%;
    text-align: left;
  }

  main.servicedetail .section2 .inner .casestudies .block dl dt {
    font-size: 1.5rem;
    margin-bottom: 30px;
    color: #777777;
    letter-spacing: 0.02em;
  }

  main.servicedetail .section2 .inner .casestudies .block dl dd {
    font-size: 1.2rem;
    line-height: 2.25;
    letter-spacing: 0.04em;
  }

  main.servicedetail .section2 .inner .pagenation {
    width: 100%;
    margin: 0 auto;
  }

  main.servicedetail .section2 .inner .pagenation .prev,
  main.servicedetail .section2 .inner .pagenation .next {
    border-top: 1px solid #e7e7e7;
    padding: 15px 0;
  }

  main.servicedetail .section2 .inner .pagenation .prev img,
  main.servicedetail .section2 .inner .pagenation .next img {
    width: 45px;
    height: auto;
    border-radius: 23px;
  }

  main.servicedetail .section2 .inner .pagenation .prev {
    border-bottom: 1px solid #e7e7e7;
  }

  main.servicedetail .section2 .inner .pagenation .prev a {
    position: relative;
    font-size: 1.1rem;
    font-weight: 300;
    background: none;
  }

  main.servicedetail .section2 .inner .pagenation .prev a:before {
    display: block;
    content: "Prev";
    font-size: 1.1rem;
    position: absolute;
    top: 50%;
    /*親要素を起点に上から50%*/
    right: 0;
    /*親要素を起点に左から50%*/
    transform: translateY(-50%);
    /*要素の大きさの半分ずつを戻す*/
    -webkit-transform: translateY(-50%);
  }

  main.servicedetail .section2 .inner .pagenation .prev a img {
    margin-right: 24px;
  }

  main.servicedetail .section2 .inner .pagenation .next a {
    position: relative;
    font-size: 1.1rem;
    font-weight: 300;
    background: none;
  }

  main.servicedetail .section2 .inner .pagenation .next a:before {
    display: block;
    content: "Next";
    font-size: 1.1rem;
    position: absolute;
    top: 50%;
    /*親要素を起点に上から50%*/
    right: 0;
    /*親要素を起点に左から50%*/
    transform: translateY(-50%);
    /*要素の大きさの半分ずつを戻す*/
    -webkit-transform: translateY(-50%);
  }

  main.servicedetail .section2 .inner .pagenation .next a img {
    margin-right: 24px;
  }

  main.servicedetail .section2 .inner .pagenation .viewall {
    font-size: 1.5rem;
    font-weight: 300;
    text-align: center;
    margin: 33px 0 0;
  }

  main.servicedetail.pattern2 .main_visual {
    background-image: url("/assets/img/service/detail2/mainvisual-pc.jpg");
  }

  main.servicedetail.pattern2 .section1 {
    padding-bottom: 72px;
  }

  main.servicedetail.pattern2 .section1 .inner p.ttl {
    margin-bottom: 38px;
  }

  main.servicedetail.pattern2 .section1 .inner dl dt {
    line-height: 1.5;
    margin-bottom: 13px;
  }

  main.servicedetail.pattern2 .section1 .inner dl dd {
    margin-bottom: 34px;
  }

  main.servicedetail.pattern2 .section2 {
    padding-bottom: 93px;
  }

  main.servicedetail.pattern2 .section2 .inner .ourstrength {
    margin-bottom: 100px;
  }

  main.servicedetail.pattern2 .section2 .inner .ourstrength .blocklist .block:nth-of-type(1) {
    margin-bottom: 48px;
    padding-bottom: 43px;
    border-bottom: 1px solid #cccccc;
  }

  main.servicedetail.pattern2 .section2 .inner .ourstrength .blocklist .block:nth-of-type(1) img {
    width: 57.9365%;
    margin-bottom: 47px;
    margin-left: 0;
  }

  main.servicedetail.pattern2 .section2 .inner .ourstrength .blocklist .block:nth-of-type(2) {
    margin-bottom: 50px;
    padding-bottom: 42px;
    border-bottom: 1px solid #cccccc;
  }

  main.servicedetail.pattern2 .section2 .inner .ourstrength .blocklist .block:nth-of-type(2) img {
    width: 46.5%;
    margin-bottom: 45px;
  }

  main.servicedetail.pattern2 .section2 .inner .ourstrength .blocklist .block:nth-of-type(2) dl dt {
    margin-bottom: 12px;
  }

  main.servicedetail.pattern2 .section2 .inner .ourstrength .blocklist .block:nth-of-type(3) {
    margin-bottom: 35px;
    padding-bottom: 41px;
    border-bottom: 1px solid #cccccc;
  }

  main.servicedetail.pattern2 .section2 .inner .ourstrength .blocklist .block:nth-of-type(3) img {
    width: 58.412698%;
    margin-bottom: 44px;
    margin-left: -3px;
  }

  main.servicedetail.pattern3 .main_visual {
    background-image: url("/assets/img/service/detail3/mainvisual-pc.jpg");
  }

  main.servicedetail.pattern3 .section1 {
    padding-bottom: 72px;
  }

  main.servicedetail.pattern3 .section1 .inner p.ttl {
    margin-bottom: 38px;
  }

  main.servicedetail.pattern3 .section1 .inner dl dt {
    line-height: 1.5;
    margin-bottom: 13px;
  }

  main.servicedetail.pattern3 .section1 .inner dl dd {
    margin-bottom: 34px;
  }

  main.servicedetail.pattern3 .section2 .inner .ourstrength .blocklist .block:nth-of-type(1) {
    margin-bottom: 36px;
    padding-bottom: 43px;
    border-bottom: 1px solid #cccccc;
  }

  main.servicedetail.pattern3 .section2 .inner .ourstrength .blocklist .block:nth-of-type(1) img {
    width: 62%;
    margin-bottom: 45px;
    margin-left: 0;
  }

  main.servicedetail.pattern3 .section2 .inner .ourstrength .blocklist .block:nth-of-type(2) {
    margin-bottom: 47px;
    padding-bottom: 42px;
    border-bottom: 1px solid #cccccc;
  }

  main.servicedetail.pattern3 .section2 .inner .ourstrength .blocklist .block:nth-of-type(2) img {
    width: 37.142857%;
    margin-bottom: 42px;
    margin-top: 14px;
  }

  main.servicedetail.pattern3 .section2 .inner .ourstrength .blocklist .block:nth-of-type(3) {
    margin-bottom: 35px;
    padding-bottom: 41px;
    border-bottom: 1px solid #cccccc;
  }

  main.servicedetail.pattern3 .section2 .inner .ourstrength .blocklist .block:nth-of-type(3) img {
    width: 38%;
    margin-bottom: 44px;
    margin-top: 4px;
  }

  main.servicedetail.pattern4 .main_visual {
    background-image: url("/assets/img/service/detail4/mainvisual-pc.jpg");
  }

  main.servicedetail.pattern4 .section1 {
    margin-top: 75px;
    padding-bottom: 0;
  }

  main.servicedetail.pattern4 .section2 .inner {
    padding-top: 100px;
  }
}
@charset "UTF-8";

/*
z-index

*/

main.member .main_visual h1 {
  color: #08395e;
  position: relative;
  letter-spacing: 0.05em;
  z-index: 1;
}

main.member .main_visual .img {
  position: absolute;
}

main.member .main_visual .txt {
  position: relative;
  line-height: 2.2;
  letter-spacing: 0.02em;
}

main.member .section1 {
  position: relative;
}

main.member .section1 .filter {
  display: flex;
  align-items: flex-start;
}

main.member .section1 .filter .txt {
  color: #777777;
}

main.member .section1 .filter .select {
  font-weight: 400;
  color: #08395e;
  background-image: url(/assets/img/member/arrow-select.png);
  background-size: 15px 8px;
  background-repeat: no-repeat;
  background-position: right 0;
  cursor: pointer;
}

main.member .section1 .selectbox {
  display: none;
  background-color: #f5f5f5;
  align-items: center;
  justify-content: center;
  position: absolute;
  z-index: 1;
}

main.member .section1 .selectbox.show {
  display: flex;
}

main.member .section1 .selectbox ul {
  overflow: hidden;
}

main.member .section1 .selectbox li {
  letter-spacing: 0.02em;
  font-weight: 400;
}

main.member .section1 .selectbox li:first-child {
  letter-spacing: 0;
}

main.member .section1 .selectbox li.active a {
  color: #08435e;
}

main.member .section1 .selectbox .sponly {
  display: none;
}

main.member .section1 .child {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  /* フレックスアイテムを先頭にまとめる */
  border-top: 1px solid #e7e7e7;
}

main.member .section1 .child .block {
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
  border-bottom: 1px solid #e7e7e7;
}

main.member .section1 .child .block.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.member .section1 .child .block a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

main.member .section1 .child .block .name {
  letter-spacing: 0.05em;
  font-weight: 300;
}

main.member .section1 .child .block img {
  border-radius: 50%;
}

@media screen and (min-width: 1024px) {
  main.member .main_visual h1 {
    font-size: 5.25vw;
    padding-top: 254px;
    left: 9.625%;
    letter-spacing: 0.06em;
  }

  main.member .main_visual .img {
    top: 206px;
    left: -2.5%;
  }

  main.member .main_visual .img img {
    width: 308px;
  }

  main.member .main_visual .txt {
    font-size: 1.6rem;
    line-height: 2;
    margin-top: 33px;
    left: 9.875%;
    width: 34%;
    letter-spacing: 0.04em;
  }

  main.member .section1 {
    width: 80%;
    margin: 142px auto 199px;
  }

  main.member .section1 .filter {
    margin-bottom: 46px;
  }

  main.member .section1 .filter .txt {
    margin-right: 62px;
    font-size: 1.6rem;
  }

  main.member .section1 .filter .select {
    font-size: 1.6rem;
    padding-right: 44px;
  }

  main.member .section1 .selectbox {
    top: -53px;
    left: 76.5px;
  }

  main.member .section1 .selectbox ul {
    padding: 0 48px 0 42px;
  }

  main.member .section1 .selectbox li {
    font-size: 1.6rem;
    line-height: 3.25;
  }

  main.member .section1 .selectbox li a:hover {
    color: #0d6791;
  }

  main.member .section1 .selectbox li:first-child {
    margin-top: 35px;
  }

  main.member .section1 .selectbox li:last-child {
    margin-bottom: 28px;
  }

  main.member .section1 .child .block {
    width: 29.1%;
    margin-right: 6.4%;
  }

  main.member .section1 .child .block a {
    padding: 26px 0;
  }

  main.member .section1 .child .block a:hover {
    color: #0d6791;
  }

  main.member .section1 .child .block:nth-child(3n+2) {
    width: 27%;
    margin-right: 6.3%;
  }

  main.member .section1 .child .block:nth-child(3n) {
    width: 31.2%;
    margin-right: 0;
  }

  main.member .section1 .child .block .name {
    width: calc( 100% - 60px);
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 1023px) {
  main.member .main_visual h1 {
    font-size: 6.4vw;
    padding-top: 138px;
    left: 9.625%;
    line-height: 0.9;
  }

  main.member .main_visual .img {
    top: 118px;
    left: -2.5%;
  }

  main.member .main_visual .img img {
    width: 180px;
  }

  main.member .main_visual .txt {
    width: 80%;
    left: 9.875%;
    margin-top: 26px;
    font-size: 1.6rem;
    font-weight: 400;
  }

  main.member .section1 {
    width: 80%;
    margin: 112px auto 199px;
  }

  main.member .section1 .filter {
    margin-bottom: 46px;
  }

  main.member .section1 .filter .txt {
    margin-right: 58px;
    font-size: 1.6rem;
  }

  main.member .section1 .filter .select {
    font-size: 1.6rem;
    padding-right: 44px;
  }

  main.member .section1 .selectbox {
    top: -53px;
    left: 72.5px;
  }

  main.member .section1 .selectbox ul {
    padding: 0 48px 0 42px;
  }

  main.member .section1 .selectbox li {
    font-size: 1.6rem;
    line-height: 3.25;
  }

  main.member .section1 .selectbox li:first-child {
    margin-top: 35px;
  }

  main.member .section1 .selectbox li:last-child {
    margin-bottom: 28px;
  }

  main.member .section1 .child .block {
    width: 100%;
  }

  main.member .section1 .child .block a {
    padding: 26px 0;
  }

  main.member .section1 .child .block .name {
    width: calc( 100% - 60px);
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 559px) {
  main.member .main_visual h1 {
    font-size: 8.5vw;
    letter-spacing: 0.06em;
    left: 8.2%;
  }

  main.member .main_visual .img {
    top: 118px;
    left: -3.3%;
  }

  main.member .main_visual .img img {
    width: 90px;
  }

  main.member .main_visual .txt {
    width: 84%;
    left: 0%;
    margin: 20px auto 0;
    font-size: 1.2rem;
    font-weight: 400;
    letter-spacing: 0.04em;
  }

  main.member .section1 {
    width: 84%;
    margin: 68px auto 100px;
  }

  main.member .section1 .filter {
    margin-bottom: 19px;
  }

  main.member .section1 .filter .txt {
    margin-right: 32px;
    font-size: 1.5rem;
    letter-spacing: 0.04em;
  }

  main.member .section1 .filter .select {
    font-size: 1.5rem;
    width: 100%;
    background-position: center right 19px;
  }

  main.member .section1 .selectbox {
    width: calc(100% - 69.5px);
    height: inherit;
    top: -24px;
    left: inherit;
    right: 0;
    justify-content: flex-start;
    background-image: url(/assets/img/member/arrow-select-close.png);
    background-size: 15px 8px;
    background-repeat: no-repeat;
    background-position: right 20px top 27px;
  }

  main.member .section1 .selectbox ul {
    width: 100%;
    margin-left: 0;
    padding: 0 21px;
  }

  main.member .section1 .selectbox li {
    font-size: 1.5rem;
    line-height: 1;
    padding-bottom: 28px;
  }

  main.member .section1 .selectbox li.font_mix1 {
    letter-spacing: 0;
  }

  main.member .section1 .selectbox li:first-child {
    margin-top: 24px;
  }

  main.member .section1 .selectbox li:last-child {
    margin-bottom: 24px;
    padding-bottom: 0px;
  }

  main.member .section1 .selectbox li:nth-child(3),
  main.member .section1 .selectbox li:nth-child(4) {
    line-height: 1.6;
  }

  main.member .section1 .selectbox .sponly {
    display: block;
  }

  main.member .section1 .child .block a {
    padding: 18px 0 17px;
  }

  main.member .section1 .child .block .name {
    font-size: 1.5rem;
  }

  main.member .section1 .child .block img {
    width: 50px;
    height: auto;
  }
}
@charset "UTF-8";

/*
z-index

*/

main.memberdetail .section1 {
  position: relative;
}

main.memberdetail .section1 .inner {
  margin: 0 auto;
}

main.memberdetail .section1 .inner .left {
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.memberdetail .section1 .inner .left.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.memberdetail .section1 .inner .left p {
  letter-spacing: 0.04em;
}

main.memberdetail .section1 .inner .right {
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.memberdetail .section1 .inner .right.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.memberdetail .section1 .inner .right .profile dl {
  letter-spacing: 0.04em;
}

main.memberdetail .section1 .inner .right .profile p {
  letter-spacing: 0.04em;
}

main.memberdetail .section1 .inner .skills .ttl {
  position: relative;
  color: #08435e;
  font-weight: 400;
}

main.memberdetail .section1 .inner .skills .ttl:before {
  display: block;
  content: "";
  height: 1px;
  background-color: #08435e;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -1px;
}

main.memberdetail .section1 .inner .skills dl dt {
  float: left;
  clear: left;
}

main.memberdetail .section1 .inner .skills dl:after {
  display: block;
  content: "";
  clear: both;
}

main.memberdetail .section1 .inner .interviews .ttl {
  position: relative;
  color: #08435e;
  font-weight: 400;
}

main.memberdetail .section1 .inner .interviews .ttl:before {
  display: block;
  content: "";
  height: 1px;
  background-color: #08435e;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -1px;
}

main.memberdetail .section1 .inner .interviews ul li a {
  text-decoration: underline;
}

main.memberdetail .pagenation {
  position: relative;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main.memberdetail .pagenation.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.memberdetail .pagenation .prev a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  background-size: 9px 15px;
  background-repeat: no-repeat;
  background-position: left center;
  color: #222222;
}

main.memberdetail .pagenation .next a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  background-image: url(/assets/img/member/icon-next.png);
  background-size: 9px 15px;
  background-repeat: no-repeat;
  background-position: right center;
  color: #222222;
}

@media screen and (min-width: 1024px) {
  main.memberdetail .section1 {
    padding: 247px 0 93px;
  }

  main.memberdetail .section1 .inner {
    width: 70%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  main.memberdetail .section1 .inner .left {
    width: 28.57%;
  }

  main.memberdetail .section1 .inner .left img {
    width: 100%;
    margin: 0 auto;
  }

  main.memberdetail .section1 .inner .left p {
    font-size: 1.5rem;
    line-height: 2.1333;
    margin-top: 39px;
  }

  main.memberdetail .section1 .inner .right {
    width: 52.41%;
    margin-right: 4.82%;
  }

  main.memberdetail .section1 .inner .right .profile {
    margin-bottom: 74px;
  }

  main.memberdetail .section1 .inner .right .profile dl {
    margin-bottom: 28px;
  }

  main.memberdetail .section1 .inner .right .profile dl dt {
    font-size: 1.3rem;
    margin-bottom: 17px;
    line-height: 1.5;
  }

  main.memberdetail .section1 .inner .right .profile dl dd {
    font-size: 2.6rem;
  }

  main.memberdetail .section1 .inner .right .profile dl dd span {
    font-size: 1.6rem;
    margin-left: 19px;
    font-weight: 300;
  }

  main.memberdetail .section1 .inner .right .profile p {
    font-size: 1.6rem;
    line-height: 2;
  }

  main.memberdetail .section1 .inner .right .skills .ttl {
    font-size: 1.6rem;
    padding-left: 49px;
    margin-bottom: 24px;
  }

  main.memberdetail .section1 .inner .right .skills .ttl:before {
    width: 40px;
  }

  main.memberdetail .section1 .inner .right .skills dl {
    font-size: 1.6rem;
    line-height: 2;
  }

  main.memberdetail .section1 .inner .right .interviews {
    margin-top: 94px;
  }

  main.memberdetail .section1 .inner .right .interviews .ttl {
    font-size: 1.6rem;
    padding-left: 49px;
    margin-bottom: 27px;
  }

  main.memberdetail .section1 .inner .right .interviews .ttl:before {
    width: 40px;
  }

  main.memberdetail .section1 .inner .right .interviews ul {
    font-size: 1.6rem;
    line-height: 2;
  }

  main.memberdetail .section1 .inner .right .interviews ul li a:hover {
    color: #0d6791;
  }

  main.memberdetail .pagenation {
    width: 75%;
    margin: 100px auto 101px;
  }

  main.memberdetail .pagenation:after {
    display: block;
    content: "";
    clear: both;
  }

  main.memberdetail .pagenation .prev img,
  main.memberdetail .pagenation .next img {
    width: 60px;
    border-radius: 30px;
  }

  main.memberdetail .pagenation .prev {
    float: left;
  }

  main.memberdetail .pagenation .prev a {
    font-size: 1.6rem;
    background-image: url(/assets/img/member/icon-prev.png);
    padding-left: 38px;
  }

  main.memberdetail .pagenation .prev a:hover {
    color: #0d6791;
  }

  main.memberdetail .pagenation .prev a:hover span {
    text-decoration: underline;
  }

  main.memberdetail .pagenation .prev a img {
    margin-right: 30px;
  }

  main.memberdetail .pagenation .next {
    float: right;
  }

  main.memberdetail .pagenation .next a {
    flex-direction: row-reverse;
    font-size: 1.6rem;
    padding-right: 38px;
  }

  main.memberdetail .pagenation .next a:hover {
    color: #0d6791;
  }

  main.memberdetail .pagenation .next a:hover span {
    text-decoration: underline;
  }

  main.memberdetail .pagenation .next a img {
    margin-left: 30px;
  }

  main.memberdetail .pagenation .viewall {
    font-size: 1.6rem;
    font-weight: 300;
    position: absolute;
    top: 50%;
    /*親要素を起点に上から50%*/
    left: 50%;
    /*親要素を起点に左から50%*/
    transform: translateY(-50%) translateX(-50%);
    /*要素の大きさの半分ずつを戻す*/
    -webkit-transform: translateY(-50%) translateX(-50%);
  }

  main.memberdetail .pagenation .viewall a {
    color: #222222;
  }

  main.memberdetail .pagenation .viewall a:hover {
    color: #0d6791;
    text-decoration: underline;
  }
}

@media screen and (max-width: 1023px) {
  main.memberdetail .section1 {
    padding: 135px 0 100px;
  }

  main.memberdetail .section1 .inner {
    width: 84%;
    margin: 0 auto;
  }

  main.memberdetail .section1 .inner .left {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    align-items: center;
  }

  main.memberdetail .section1 .inner .left img {
    width: 48.57%;
    height: auto;
    align-self: flex-start;
  }

  main.memberdetail .section1 .inner .left p {
    width: 47.619%;
    font-size: 1.1rem;
    line-height: 1.8636;
    margin-top: -9px;
  }

  main.memberdetail .section1 .inner .left .profile dl dt {
    font-size: 1.1rem;
    margin-bottom: 4px;
    line-height: 1.5;
  }

  main.memberdetail .section1 .inner .left .profile dl dd {
    font-size: 1.9rem;
    letter-spacing: 0.04em;
  }

  main.memberdetail .section1 .inner .left .profile dl dd span {
    display: block;
    font-size: 1.2rem;
    font-weight: 300;
    margin-top: 9px;
  }

  main.memberdetail .section1 .inner .right {
    margin-top: 41px;
    width: 100%;
  }

  main.memberdetail .section1 .inner .right .profile {
    margin-bottom: 42px;
  }

  main.memberdetail .section1 .inner .right .profile p {
    font-size: 1.2rem;
    line-height: 2.167;
  }

  main.memberdetail .section1 .inner .right .skills {
    margin-bottom: 37px;
  }

  main.memberdetail .section1 .inner .right .skills .ttl {
    font-size: 1.3rem;
    padding-left: 40px;
    margin-bottom: 7px;
  }

  main.memberdetail .section1 .inner .right .skills .ttl:before {
    width: 30px;
  }

  main.memberdetail .section1 .inner .right .skills dl {
    font-size: 1.2rem;
    line-height: 3;
  }

  main.memberdetail .section1 .inner .right .interviews .ttl {
    font-size: 1.3rem;
    padding-left: 40px;
    margin-bottom: 14px;
  }

  main.memberdetail .section1 .inner .right .interviews .ttl:before {
    width: 30px;
  }

  main.memberdetail .section1 .inner .right .interviews ul {
    font-size: 1.2rem;
    line-height: 2.167;
  }

  main.memberdetail .pagenation {
    width: 84%;
    margin: 0 auto;
    padding-bottom: 89px;
  }

  main.memberdetail .pagenation .prev,
  main.memberdetail .pagenation .next {
    border-top: 1px solid #e7e7e7;
    padding: 15px 0;
  }

  main.memberdetail .pagenation .prev img,
  main.memberdetail .pagenation .next img {
    width: 45px;
    height: auto;
    border-radius: 23px;
  }

  main.memberdetail .pagenation .prev {
    border-bottom: 1px solid #e7e7e7;
  }

  main.memberdetail .pagenation .prev a {
    position: relative;
    font-size: 1.4rem;
    font-weight: 300;
    background: none;
  }

  main.memberdetail .pagenation .prev a:before {
    display: block;
    content: "Prev";
    font-size: 1.3rem;
    position: absolute;
    top: 50%;
    /*親要素を起点に上から50%*/
    right: 0;
    /*親要素を起点に左から50%*/
    transform: translateY(-50%);
    /*要素の大きさの半分ずつを戻す*/
    -webkit-transform: translateY(-50%);
  }

  main.memberdetail .pagenation .prev a img {
    margin-right: 24px;
  }

  main.memberdetail .pagenation .next a {
    position: relative;
    font-size: 1.4rem;
    font-weight: 300;
    background: none;
  }

  main.memberdetail .pagenation .next a:before {
    display: block;
    content: "Next";
    font-size: 1.3rem;
    position: absolute;
    top: 50%;
    /*親要素を起点に上から50%*/
    right: 0;
    /*親要素を起点に左から50%*/
    transform: translateY(-50%);
    /*要素の大きさの半分ずつを戻す*/
    -webkit-transform: translateY(-50%);
  }

  main.memberdetail .pagenation .next a img {
    margin-right: 24px;
  }

  main.memberdetail .pagenation .first {
    padding: 0;
    border-bottom: none;
  }

  main.memberdetail .pagenation .last {
    padding: 0;
    border-top: none;
  }

  main.memberdetail .pagenation .viewall {
    font-size: 1.5rem;
    font-weight: 300;
    text-align: center;
    margin: 29px 0 0;
  }

  main.memberdetail .pagenation .viewall a {
    color: #222222;
  }
}
@charset "UTF-8";

/*
z-index

*/

main.interviews .main_visual h1 {
  color: #08395e;
  position: relative;
  letter-spacing: 0.05em;
  z-index: 1;
}

main.interviews .main_visual .img {
  position: absolute;
}

main.interviews .main_visual .txt {
  position: relative;
  line-height: 2.2;
  letter-spacing: 0.02em;
}

main.interviews .section1 {
  position: relative;
  background-color: #f5f5f5;
}

main.interviews .section1 .block {
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.interviews .section1 .block.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.interviews .section1 .block:last-child {
  margin-bottom: 0;
}

main.interviews .section1 .block dl dt {
  font-weight: normal;
}

main.interviews .section1 .block dl dd {
  color: #777777;
  font-weight: 300;
}

main.interviews .section1 .block h2.ttl {
  font-weight: normal;
}

main.interviews .section1 .block a:hover h2.ttl {
  color: #0d6791;
}

main.interviews .section1 .block .left img {
  width: 100%;
  height: auto;
}

main.interviews .section1 .block .right {
  background: #ffffff;
}

main.interviews .section1 .block .right a {
  display: block;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  -o-box-sizing: content-box;
  -ms-box-sizing: content-box;
  box-sizing: content-box;
}

main.interviews .section1 .block .right a dl {
  border-bottom: 1px solid #cccccc;
}

main.interviews .section1 .block .right a p {
  color: #222222;
}

main.interviews .pagenation {
  position: relative;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}

main.interviews .pagenation .prev {
  position: absolute;
}

main.interviews .pagenation .prev a {
  display: block;
  font-weight: bold;
}

main.interviews .pagenation .prev a img {
  width: 100%;
  height: auto;
}

main.interviews .pagenation .next {
  position: absolute;
}

main.interviews .pagenation .next a {
  display: block;
  font-weight: bold;
}

main.interviews .pagenation .next a img {
  width: 100%;
  height: auto;
}

main.interviews .pagenation ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  font-family: Helvetica Neue, Helvetica, "メイリオ", Meiryo, sans-serif;
}

main.interviews .pagenation ul li {
  text-align: center;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  color: #777777;
  font-weight: 300;
}

main.interviews .pagenation ul li a {
  color: #777777;
}

main.interviews .pagenation ul li.active {
  color: #08435e;
  position: relative;
}

main.interviews .pagenation ul li:last-child {
  margin-right: 0;
}

@media screen and (min-width: 1024px) {
  main.interviews .main_visual h1 {
    font-size: 5.25vw;
    padding-top: 294px;
    left: 9.8%;
    letter-spacing: 0.06em;
  }

  main.interviews .main_visual .img {
    top: 185px;
    left: -3.6%;
  }

  main.interviews .main_visual .img img {
    width: 308px;
  }

  main.interviews .main_visual .txt {
    width: 34%;
    font-size: 1.6rem;
    line-height: 2;
    margin-top: 32px;
    left: 10%;
    letter-spacing: 0.01em;
  }

  main.interviews .section1 {
    width: 100%;
    margin: 179px auto 0;
    padding: 150px 0 200px;
  }

  main.interviews .section1 .block {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    width: 86.8%;
    margin: 0 auto 98px;
  }

  main.interviews .section1 .block:nth-child(2n) {
    flex-flow: row-reverse;
  }

  main.interviews .section1 .block:nth-child(2n) .right {
    width: 48.1268%;
    margin: 0 -4% 0 0;
  }

  main.interviews .section1 .block:nth-child(2n) .left {
    margin-top: 199px;
  }

  main.interviews .section1 .block .left {
    width: 50.1%;
  }

  main.interviews .section1 .block .right {
    width: 47.91%;
    margin: 82px 0 0 -3.7%;
  }

  main.interviews .section1 .block .right a {
    padding: 122px 17% 110px;
  }

  main.interviews .section1 .block .right a dl {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    font-size: 1.6rem;
    line-height: 2;
    margin-bottom: 38px;
    padding-bottom: 40px;
  }

  main.interviews .section1 .block .right a dl dt {
    margin-right: 51px;
    letter-spacing: 0.02em;
  }

  main.interviews .section1 .block .right a dl dd {
    letter-spacing: 0.04em;
  }

  main.interviews .section1 .block .right a h2.ttl {
    font-size: 2.6rem;
    line-height: 1.6;
    margin-bottom: 22px;
    letter-spacing: 0.01em;
  }

  main.interviews .section1 .block .right a p {
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: 0.04em;
  }

  main.interviews .pagenation {
    width: 157px;
    margin: 102px auto 0;
  }

  main.interviews .pagenation .prev {
    width: 8px;
    height: 15px;
    top: 0;
    left: 0;
  }

  main.interviews .pagenation .next {
    width: 8px;
    height: 15px;
    top: 0;
    right: 0;
  }

  main.interviews .pagenation ul li {
    margin: 0 0 0 27px;
    font-size: 1.6rem;
    line-height: normal;
  }

  main.interviews .pagenation ul li:first-child {
    margin: 0;
  }
}

@media screen and (max-width: 1023px) {
  main.interviews .main_visual h1 {
    font-size: 6.5rem;
    padding-top: 138px;
    left: 8.2%;
    line-height: 0.9;
  }

  main.interviews .main_visual .img {
    top: 118px;
    left: -2.5%;
  }

  main.interviews .main_visual .img img {
    width: 180px;
  }

  main.interviews .main_visual .txt {
    width: 80%;
    left: 8%;
    margin-top: 26px;
    font-size: 1.6rem;
    font-weight: 400;
  }

  main.interviews .section1 {
    width: 100%;
    margin: 45px auto 0;
    padding: 60px 0 98px;
  }

  main.interviews .section1 .block {
    width: 100%;
    margin: 0 auto 59px;
  }

  main.interviews .section1 .block:nth-child(2n) .right {
    margin: -24px 5.3% 0 0;
  }

  main.interviews .section1 .block:nth-child(2n) .left {
    margin-left: 5.3%;
  }

  main.interviews .section1 .block .left {
    width: 94.7%;
  }

  main.interviews .section1 .block .right {
    width: 94.7%;
    margin: -57px 0 0 5.3%;
    position: relative;
    z-index: 2;
  }

  main.interviews .section1 .block .right a {
    padding: 61px 30px 54px;
  }

  main.interviews .section1 .block .right a dl {
    font-size: 1.2rem;
    margin-bottom: 14px;
    padding-bottom: 27px;
  }

  main.interviews .section1 .block .right a dl dt {
    font-weight: normal;
    margin-bottom: 23px;
  }

  main.interviews .section1 .block .right a dl dd {
    letter-spacing: 0.04em;
  }

  main.interviews .section1 .block .right a h2.ttl {
    font-size: 2.1rem;
    font-weight: normal;
    line-height: 1.905;
    margin-bottom: 5px;
    letter-spacing: 0.01em;
    color: #08435e;
  }

  main.interviews .section1 .block .right a h2.ttl a {
    color: #08435e;
  }

  main.interviews .section1 .block .right a p {
    font-size: 1.2rem;
    line-height: 2.179;
    letter-spacing: 0.04em;
  }

  main.interviews .pagenation {
    width: 157px;
    margin: 102px auto 0;
  }

  main.interviews .pagenation .prev {
    width: 8px;
    height: 15px;
    top: 0;
    left: 0;
  }

  main.interviews .pagenation .next {
    width: 8px;
    height: 15px;
    top: 0;
    right: 0;
  }

  main.interviews .pagenation ul li {
    margin: 0 0 0 30px;
    font-size: 1.4rem;
    line-height: normal;
  }

  main.interviews .pagenation ul li:first-child {
    margin: 0;
  }
}

@media screen and (max-width: 559px) {
  main.interviews .main_visual h1 {
    font-size: 3.2rem;
    letter-spacing: 0.06em;
  }

  main.interviews .main_visual .img {
    top: 118px;
    left: -3.3%;
  }

  main.interviews .main_visual .img img {
    width: 90px;
  }

  main.interviews .main_visual .txt {
    width: 84%;
    left: 0%;
    margin: 41px auto 0;
    font-size: 1.2rem;
    font-weight: 400;
    letter-spacing: 0.04em;
  }

  main.interviews .section1 {
    width: 100%;
    margin: 45px auto 0;
    padding: 60px 0 98px;
  }

  main.interviews .section1 .block {
    width: 100%;
    margin: 0 auto 59px;
  }

  main.interviews .section1 .block:nth-child(2n) .right {
    margin: -24px 5.3% 0 0;
  }

  main.interviews .section1 .block:nth-child(2n) .left {
    margin-left: 5.3%;
  }

  main.interviews .section1 .block .left {
    width: 94.7%;
  }

  main.interviews .section1 .block .right {
    width: 94.7%;
    margin: -57px 0 0 5.3%;
    position: relative;
    z-index: 2;
  }

  main.interviews .section1 .block .right dl {
    font-size: 1.2rem;
    margin-bottom: 14px;
    padding-bottom: 27px;
  }

  main.interviews .section1 .block .right dl dt {
    font-weight: normal;
    margin-bottom: 23px;
  }

  main.interviews .section1 .block .right dl dd {
    letter-spacing: 0.04em;
  }

  main.interviews .section1 .block .right h2.ttl {
    font-size: 2.1rem;
    font-weight: normal;
    line-height: 1.905;
    margin-bottom: 5px;
    letter-spacing: 0.01em;
  }

  main.interviews .section1 .block .right p {
    font-size: 1.2rem;
    line-height: 2.179;
    letter-spacing: 0.04em;
  }

  main.interviews .pagenation {
    width: 131px;
    margin: 51px auto 0;
  }

  main.interviews .pagenation ul li {
    margin: 0 0 0 21px;
    font-size: 1.4rem;
  }

  main.interviews .pagenation ul li:first-child {
    margin: 0;
  }
}
/*
z-index

*/

main.interviewsdetail .main_visual .left img {
  width: 100%;
  height: auto;
}

main.interviewsdetail .main_visual .right h1 {
  color: #08395e;
  z-index: 1;
}

main.interviewsdetail .main_visual .right .txt {
  color: #08395e;
  letter-spacing: 0.04em;
}

main.interviewsdetail .section1 {
  width: 100%;
  margin: 0 auto;
  position: relative;
}

main.interviewsdetail .section1 .profilearea {
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.interviewsdetail .section1 .profilearea.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.interviewsdetail .section1 .profilearea .ttl-profile {
  color: #777777;
  font-weight: 300;
  letter-spacing: 0.04em;
}

main.interviewsdetail .section1 .profilearea .txt {
  letter-spacing: 0.04em;
}

main.interviewsdetail .section1 .contentarea .block > h2,
main.interviewsdetail .section1 .contentarea .block > h3,
main.interviewsdetail .section1 .contentarea .block > .txt,
main.interviewsdetail .section1 .contentarea .block > img {
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main.interviewsdetail .section1 .contentarea .block > h2.show,
main.interviewsdetail .section1 .contentarea .block > h3.show,
main.interviewsdetail .section1 .contentarea .block > .txt.show,
main.interviewsdetail .section1 .contentarea .block > img.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.interviewsdetail .section1 .contentarea .block h2 {
  color: #08395e;
  position: relative;
  letter-spacing: 0.04em;
}

main.interviewsdetail .section1 .contentarea .block h2:before {
  display: block;
  content: "";
  background-image: url(/assets/img/top/quo.png);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  z-index: -1;
}

main.interviewsdetail .section1 .contentarea .block h3 {
  margin: 0 auto;
  letter-spacing: 0.04em;
}

main.interviewsdetail .section1 .contentarea .block .txt {
  margin: 0 auto;
  letter-spacing: 0.04em;
}

main.interviewsdetail .section1 .otherinterviewarea {
  background-color: #f5f5f5;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.interviewsdetail .section1 .otherinterviewarea.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.interviewsdetail .section1 .otherinterviewarea h2 {
  color: #08435e;
  font-weight: normal;
  position: relative;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

main.interviewsdetail .section1 .otherinterviewarea h2:before {
  display: block;
  content: "";
  height: 1px;
  background-color: #08435e;
  position: absolute;
  left: 0;
  top: 50%;
}

main.interviewsdetail .section1 .otherinterviewarea ul.inner li.block {
  background-color: #ffffff;
}

main.interviewsdetail .section1 .otherinterviewarea ul.inner li.block img {
  width: 100%;
  height: auto;
}

main.interviewsdetail .section1 .otherinterviewarea ul.inner li.block dl dt {
  letter-spacing: 0.02em;
  font-weight: normal;
}

main.interviewsdetail .section1 .otherinterviewarea ul.inner li.block dl dd {
  letter-spacing: 0.04em;
  color: #777777;
  font-weight: 300;
}

main.interviewsdetail .section1 .otherinterviewarea p {
  text-align: center;
}

main.interviewsdetail .section1 .otherinterviewarea p a {
  color: #08435e;
}

@media screen and (min-width: 1024px) {
  main.interviewsdetail .main_visual {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    flex-wrap: wrap;
  }

  main.interviewsdetail .main_visual .left {
    width: 50%;
  }

  main.interviewsdetail .main_visual .right {
    width: 50%;
    position: relative;
  }

  main.interviewsdetail .main_visual .right h1 {
    position: absolute;
    width: 73.375%;
    font-size: 2.375vw;
    font-weight: bold;
    line-height: 1.842;
    bottom: 11.375%;
    left: 20%;
    letter-spacing: 0.01em;
  }

  main.interviewsdetail .main_visual .right h1:before {
    content: "";
    display: block;
    width: 52.12947%;
    padding-top: 44.1%;
    position: absolute;
    top: -67%;
    left: -81px;
    background-image: url(/assets//img/top/quo.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    z-index: -1;
  }

  main.interviewsdetail .main_visual .right .txt {
    position: absolute;
    font-size: 1.375vw;
    line-height: 1.5;
    left: 20%;
    bottom: 0%;
    z-index: 2;
  }

  main.interviewsdetail .section1 {
    padding: 141px 0 0;
  }

  main.interviewsdetail .section1 .profilearea {
    width: 800px;
    margin: 0 auto 123px;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  main.interviewsdetail .section1 .profilearea .ttl-profile {
    font-size: 1.6rem;
    line-height: 2;
    margin-bottom: 10px;
  }

  main.interviewsdetail .section1 .profilearea .txt {
    font-size: 1.6rem;
    line-height: 2;
  }

  main.interviewsdetail .section1 .contentarea .ttl-interview {
    display: none;
  }

  main.interviewsdetail .section1 .contentarea .block {
    margin-bottom: 171px;
  }

  main.interviewsdetail .section1 .contentarea .block h2 {
    width: 65.1%;
    margin-left: 10%;
    margin-bottom: 76px;
    font-size: 3.4rem;
    line-height: 1.824;
    letter-spacing: 0;
  }

  main.interviewsdetail .section1 .contentarea .block h2:before {
    width: 308px;
    height: 260px;
    top: -68px;
    right: -236px;
  }

  main.interviewsdetail .section1 .contentarea .block h2:nth-of-type(2n) {
    margin-left: 25%;
    margin-bottom: 74px;
    margin-top: 168px;
  }

  main.interviewsdetail .section1 .contentarea .block h2:nth-of-type(2n):before {
    top: -32px;
    left: -213px;
  }

  main.interviewsdetail .section1 .contentarea .block h2:nth-of-type(2n+1) {
    margin-top: 173px;
    margin-bottom: 73px;
  }

  main.interviewsdetail .section1 .contentarea .block h2:nth-of-type(2n+1):before {
    top: -32px;
    right: -238px;
  }

  main.interviewsdetail .section1 .contentarea .block h2:nth-of-type(1) {
    margin-top: 0;
    margin-bottom: 73px;
  }

  main.interviewsdetail .section1 .contentarea .block h2:nth-of-type(1):before {
    top: -68px;
    right: -236px;
  }

  main.interviewsdetail .section1 .contentarea .block h3 {
    width: 50%;
    font-size: 1.6rem;
    line-height: 2;
    margin-bottom: 19px;
    letter-spacing: 0.05em;
  }

  main.interviewsdetail .section1 .contentarea .block .txt {
    width: 50%;
    font-size: 1.6rem;
    line-height: 2;
    margin-bottom: 83px;
  }

  main.interviewsdetail .section1 .contentarea .block img {
    width: 75%;
    margin-top: 9px;
    margin-bottom: 89px;
  }

  main.interviewsdetail .section1 .contentarea .block img:nth-of-type(2n) {
    margin-top: 10px;
    margin-left: 25%;
    margin-bottom: 88px;
  }

  main.interviewsdetail .section1 .otherinterviewarea {
    padding: 99px 0 96px;
    margin-top: 193px;
  }

  main.interviewsdetail .section1 .otherinterviewarea h2 {
    width: 90%;
    margin: 0 auto 49px;
    font-size: 1.6em;
    padding-left: 49px;
  }

  main.interviewsdetail .section1 .otherinterviewarea h2:before {
    width: 40px;
    margin-top: -1px;
  }

  main.interviewsdetail .section1 .otherinterviewarea ul.inner {
    width: 90%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
  }

  main.interviewsdetail .section1 .otherinterviewarea ul.inner li.block {
    width: 22.2%;
    margin-right: 3.733%;
  }

  main.interviewsdetail .section1 .otherinterviewarea ul.inner li.block dl {
    padding: 36px 36px 42px;
  }

  main.interviewsdetail .section1 .otherinterviewarea ul.inner li.block dl dt {
    font-size: 2.6rem;
    line-height: 1.6;
    margin-bottom: 11px;
  }

  main.interviewsdetail .section1 .otherinterviewarea ul.inner li.block dl dd {
    font-size: 1.6rem;
    line-height: 2;
  }

  main.interviewsdetail .section1 .otherinterviewarea ul.inner li.block:last-child {
    margin-right: 0;
  }

  main.interviewsdetail .section1 .otherinterviewarea ul.inner li.block a:hover dl dt {
    color: #0d6791;
  }

  main.interviewsdetail .section1 .otherinterviewarea p {
    margin-top: 67px;
    text-align: center;
    font-size: 1.4rem;
    letter-spacing: 0.04em;
  }

  main.interviewsdetail .section1 .otherinterviewarea p a:hover {
    color: #0d6791;
    text-decoration: underline;
  }

  main.interviewsdetail .section1 .snsarea {
    position: absolute;
    top: 137px;
    left: 5%;
    z-index: 3;
  }

  main.interviewsdetail .section1 .snsarea .ttl {
    font-size: 1.6rem;
    line-height: 2;
    font-weight: 300;
    margin-top: 4px;
    margin-bottom: 17px;
    color: #777777;
  }

  main.interviewsdetail .section1 .snsarea ul li:nth-of-type(1),
  main.interviewsdetail .section1 .snsarea ul li:nth-of-type(2) {
    margin-bottom: 28px;
  }

  main.interviewsdetail .section1 .snsarea ul li:nth-of-type(1) img,
  main.interviewsdetail .section1 .snsarea ul li:nth-of-type(2) img {
    width: 14px;
    height: auto;
  }

  main.interviewsdetail .section1 .snsarea ul li:nth-of-type(3) img {
    width: 14px;
    height: auto;
  }
}

@media screen and (max-width: 1023px) {
  main.interviewsdetail .main_visual .left {
    width: 68%;
    margin-left: 32%;
  }

  main.interviewsdetail .main_visual .right {
    position: relative;
    margin: 18px auto 0;
  }

  main.interviewsdetail .main_visual .right h1 {
    width: 84%;
    margin: 0 auto 12px;
    font-size: 5.6vw;
    line-height: 1.4286;
    letter-spacing: 0.02em;
    font-weight: 400;
  }

  main.interviewsdetail .main_visual .right h1:before {
    content: "";
    display: block;
    width: 24%;
    padding-top: 20.4%;
    position: absolute;
    top: -45px;
    left: -10px;
    background-image: url(/assets//img/top/quo.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    z-index: -1;
  }

  main.interviewsdetail .main_visual .right .txt {
    width: 84%;
    margin: 0 auto;
    font-size: 3.2vw;
    line-height: 2.166;
  }

  main.interviewsdetail .section1 {
    padding: 44px 0 0;
  }

  main.interviewsdetail .section1 .profilearea {
    width: 84%;
    margin: 0 auto 92px;
  }

  main.interviewsdetail .section1 .profilearea .ttl-profile {
    font-size: 1.2rem;
    margin-bottom: 14px;
  }

  main.interviewsdetail .section1 .profilearea .txt {
    font-size: 1.2rem;
    line-height: 2.167;
  }

  main.interviewsdetail .section1 .contentarea p.ttl-interview {
    font-size: 1.2rem;
    width: 84%;
    margin: 0 auto 19px;
    letter-spacing: 0.04em;
    color: #777777;
  }

  main.interviewsdetail .section1 .contentarea .block {
    width: 100%;
    margin: 0 auto;
    margin-bottom: 86px;
  }

  main.interviewsdetail .section1 .contentarea .block:last-child {
    margin-bottom: 52px;
  }

  main.interviewsdetail .section1 .contentarea .block h2 {
    width: 84%;
    margin: 0 auto;
    margin-bottom: 37px;
    font-size: 2.1rem;
    line-height: 1.4286;
    font-weight: 400;
  }

  main.interviewsdetail .section1 .contentarea .block h2:before {
    width: 90px;
    height: 76px;
    top: 28px;
    right: -50px;
  }

  main.interviewsdetail .section1 .contentarea .block h2:nth-of-type(2n) {
    margin: 82px auto 38px;
    letter-spacing: 0.04em;
  }

  main.interviewsdetail .section1 .contentarea .block h2:nth-of-type(2n):before {
    top: -35px;
    left: -23px;
    right: 0;
  }

  main.interviewsdetail .section1 .contentarea .block h2:nth-of-type(2n+1) {
    margin-top: 85px;
    margin-bottom: 39px;
  }

  main.interviewsdetail .section1 .contentarea .block h2:nth-of-type(2n+1):before {
    top: inherit;
    bottom: -13px;
    right: -51px;
  }

  main.interviewsdetail .section1 .contentarea .block h2:nth-of-type(1) {
    margin: 0 auto;
    margin-bottom: 37px;
  }

  main.interviewsdetail .section1 .contentarea .block h2:nth-of-type(1):before {
    top: 28px;
    right: -50px;
  }

  main.interviewsdetail .section1 .contentarea .block h3 {
    width: 84%;
    font-size: 1.2rem;
    line-height: 2.167;
    margin-bottom: 26px;
  }

  main.interviewsdetail .section1 .contentarea .block .txt {
    width: 84%;
    font-size: 1.2rem;
    line-height: 2.167;
    margin-bottom: 34px;
  }

  main.interviewsdetail .section1 .contentarea .block img {
    width: 92%;
    margin-top: 19px;
    margin-bottom: 50px;
  }

  main.interviewsdetail .section1 .contentarea .block img:nth-of-type(2n) {
    margin-top: 18px;
    margin-left: 8%;
    margin-bottom: 49px;
  }

  main.interviewsdetail .section1 .otherinterviewarea {
    padding: 97px 0 99px;
    margin-top: 52px;
  }

  main.interviewsdetail .section1 .otherinterviewarea h2 {
    width: 84%;
    margin: 0 auto 21px;
    font-size: 1.3em;
    padding-left: 39px;
    letter-spacing: 0.04em;
  }

  main.interviewsdetail .section1 .otherinterviewarea h2:before {
    width: 30px;
  }

  main.interviewsdetail .section1 .otherinterviewarea ul.inner {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    font-size: 0;
  }

  main.interviewsdetail .section1 .otherinterviewarea ul.inner li.block {
    display: inline-block;
    width: 81.333%;
    min-width: 305px;
    margin: 0 0 0 5.333%;
    position: relative;
  }

  main.interviewsdetail .section1 .otherinterviewarea ul.inner li.block:first-of-type {
    margin: 0 0 0 8%;
  }

  main.interviewsdetail .section1 .otherinterviewarea ul.inner li.block:last-of-type {
    margin-right: 15px;
  }

  main.interviewsdetail .section1 .otherinterviewarea ul.inner li.block dl {
    padding: 24px 30px;
    white-space: normal;
  }

  main.interviewsdetail .section1 .otherinterviewarea ul.inner li.block dl dt {
    font-size: 1.2rem;
    margin-bottom: 15px;
  }

  main.interviewsdetail .section1 .otherinterviewarea ul.inner li.block dl dd {
    font-size: 1.2rem;
  }

  main.interviewsdetail .section1 .otherinterviewarea p {
    margin-top: 64px;
    font-size: 1.5rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  main.interviewsdetail .section1 .otherinterviewarea p a {
    color: #08435e;
    text-decoration: underline;
  }

  main.interviewsdetail .section1 .snsarea {
    display: none;
  }
}
/*
z-index

*/

main.contact {
  background-color: #f5f5f5;
}

main.contact input[type="text"],
main.contact input[type="mail"],
main.contact input[type="email"],
main.contact input[type="tel"] {
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
}

main.contact button,
main.contact input[type="submit"],
main.contact input[type="button"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
}

main.contact textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  resize: none;
  padding: 0;
  border: 0;
  outline: none;
  background: transparent;
  border-radius: 0;
}

main.contact .section1 {
  background-color: #ffffff;
}

main.contact .section1 h1 {
  text-align: center;
  font-weight: normal;
  color: #08435e;
  letter-spacing: 0.02em;
}

main.contact .section1 h1 span {
  color: #777777;
}

main.contact .section1 .inner {
  margin: 0 auto;
}

main.contact .section1 .inner p.attention {
  letter-spacing: 0.04em;
}

main.contact .section1 .inner form .form-item .form-head {
  font-weight: 600;
  letter-spacing: 0.04em;
}

main.contact .section1 .inner form .form-item .form-head span {
  font-weight: normal;
  color: #ff0000;
}

main.contact .section1 .inner form .form-item .form-body span.your-email,
main.contact .section1 .inner form .form-item .form-body span.your-tel,
main.contact .section1 .inner form .form-item .form-body span.your-message {
  width: 100%;
}

main.contact .section1 .inner form .form-item .form-body span input {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  height: 50px;
  line-height: 50px;
  color: #777777;
  background-color: #f5f5f5;
}

main.contact .section1 .inner form .form-item .form-body span textarea {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  line-height: 1.5;
  color: #777777;
  background-color: #f5f5f5;
  letter-spacing: 0.04em;
}

main.contact .section1 .inner form .form-item .form-body span.file-680 {
  width: 100%;
}

main.contact .section1 .inner form .form-item .form-body span.file-680 label {
  display: inline-block;
  color: #222222;
  background-color: #f5f5f5;
  text-align: center;
  letter-spacing: 0.04em;
}

main.contact .section1 .inner form .form-item .form-body span.file-680 label input {
  display: none;
}

main.contact .section1 .inner form .form-item .form-body span.file-680 .filename {
  display: block;
  font-size: 1.4rem;
  color: #777777;
  background-color: #f5f5f5;
  text-align: left;
  height: 50px;
  line-height: 50px;
  position: relative;
  padding-left: 20px;
  letter-spacing: 0.04em;
}

main.contact .section1 .inner form .form-item .form-body span.file-680 .filename .close {
  height: auto;
  position: absolute;
  display: none;
}

main.contact .section1 .inner form .form-item .form-body span.file-680 .filename .close img {
  width: 100%;
  height: auto;
}

main.contact .section1 .inner form .subinner .submitbtn input,
main.contact .section1 .inner form .subinner .btn-container input {
  font-size: 1.4rem;
  font-weight: 300;
  color: #ffffff;
  border: 1px solid #08435e;
  background-color: #08435e;
  letter-spacing: 0.04em;
  margin: 0;
  padding: 0;
}

main.contact .section1 .inner form .subinner .wpcf7-submit,
main.contact .section1 .inner form .subinner .btn-return {
  display: none;
}

main.contact .section1.confirm .inner p.attention {
  text-align: center;
}

main.contact .section1.confirm .inner form .subinner .btn-container .wpcf7c-btn-confirm {
  display: none;
}

main.contact .section1.confirm .inner form .subinner .btn-container .wpcf7-submit {
  display: block;
}

main.contact .section1.confirm .inner form .subinner .btn-return {
  display: block;
}

main.contact .section1.confirm .inner form .subinner .btn-return input {
  font-size: 1.4rem;
  color: #08435e;
  border: 1px solid #08435e;
  background-color: #ffffff;
  letter-spacing: 0.04em;
  margin: 0;
  padding: 0;
}

main.contact .section1.complete p.attention {
  text-align: center;
}

main.contact .section1.complete p.backtotop {
  text-align: center;
}

main.contact .section1.complete p.backtotop a {
  color: #08435e;
}

@media screen and (min-width: 1024px) {
  main.contact {
    margin-top: 141px;
    padding: 150px 0 151px;
  }

  main.contact .section1 {
    width: 80%;
    margin: 0 auto;
    padding: 150px 0 100px;
  }

  main.contact .section1 h1 {
    font-size: 3.8rem;
    margin-bottom: 145px;
  }

  main.contact .section1 h1 span {
    display: block;
    margin-top: 29px;
    font-size: 1.6rem;
    line-height: 2;
  }

  main.contact .section1 .inner {
    width: 66.7%;
  }

  main.contact .section1 .inner p.attention {
    font-size: 1.6rem;
    line-height: 2;
    margin-bottom: 59px;
  }

  main.contact .section1 .inner form .form-item {
    margin-bottom: 48px;
  }

  main.contact .section1 .inner form .form-item .form-head {
    font-size: 1.6rem;
    line-height: 2;
    margin-bottom: 21px;
  }

  main.contact .section1 .inner form .form-item .form-head span {
    margin-left: 49px;
  }

  main.contact .section1 .inner form .form-item .form-head span span.wpcf7-not-valid-tip {
    margin-left: 0;
  }

  main.contact .section1 .inner form .form-item .form-body {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  main.contact .section1 .inner form .form-item .form-body span {
    width: 46.7%;
  }

  main.contact .section1 .inner form .form-item .form-body span input {
    padding: 20px;
    font-size: 1.6rem;
    line-height: 2;
  }

  main.contact .section1 .inner form .form-item .form-body span textarea {
    height: 400px;
    padding: 16px 21px;
    font-size: 1.6rem;
    line-height: 2;
  }

  main.contact .section1 .inner form .form-item .form-body span.file-680 {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  main.contact .section1 .inner form .form-item .form-body span.file-680 label {
    font-size: 1.6rem;
    line-height: 2;
    width: 162px;
    height: 50px;
    line-height: 50px;
    margin-right: 31px;
    letter-spacing: 0.04em;
  }

  main.contact .section1 .inner form .form-item .form-body span.file-680 .filename {
    width: calc(100% - 184px);
    font-size: 1.6rem;
  }

  main.contact .section1 .inner form .form-item .form-body span.file-680 .filename .close {
    width: 11px;
    top: 21px;
    right: 23px;
  }

  main.contact .section1 .inner form .subinner .submitbtn,
  main.contact .section1 .inner form .subinner .btn-container {
    width: 200px;
    margin: 100px auto 0;
  }

  main.contact .section1 .inner form .subinner .submitbtn input,
  main.contact .section1 .inner form .subinner .btn-container input {
    width: 200px;
    height: 60px;
    line-height: 60px;
    border-radius: 30px;
    font-size: 1.6rem;
  }

  main.contact .section1 .inner form .subinner .submitbtn input:hover,
  main.contact .section1 .inner form .subinner .btn-container input:hover {
    background-color: #0d6791;
    border: 1px solid #0d6791;
  }

  main.contact .section1.confirm .inner p.attention {
    margin-bottom: 98px;
  }

  main.contact .section1.confirm .inner form .form-item {
    display: flex;
    justify-content: normal;
    flex-wrap: wrap;
  }

  main.contact .section1.confirm .inner form .form-item .form-head {
    margin-bottom: 0;
    width: 160px;
  }

  main.contact .section1.confirm .inner form .form-item .form-body {
    display: flex;
    justify-content: normal;
    align-items: center;
    font-size: 1.6rem;
    line-height: 2;
  }

  main.contact .section1.confirm .inner form .form-item .form-body span {
    width: inherit;
    margin-right: 15px;
    letter-spacing: 0.04em;
  }

  main.contact .section1.confirm .inner form .form-item.block-message {
    margin-bottom: 40px;
  }

  main.contact .section1.confirm .inner form .form-item.block-message .form-body {
    width: calc(100% - 160px);
    line-height: 2;
    margin-top: -6px;
    letter-spacing: 0.04em;
  }

  main.contact .section1.confirm .inner form .form-item.block-message .form-body span {
    width: 100%;
  }

  main.contact .section1.confirm .inner form .subinner {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    align-items: center;
    width: 450px;
    margin: 151px auto 0;
  }

  main.contact .section1.confirm .inner form .subinner .btn-container {
    margin: 0;
  }

  main.contact .section1.confirm .inner form .subinner .btn-return input {
    width: 200px;
    height: 60px;
    line-height: 60px;
    border-radius: 30px;
    font-size: 1.6rem;
  }

  main.contact .section1.complete {
    margin-bottom: 51px;
  }

  main.contact .section1.complete p.attention {
    margin-bottom: 51px;
  }

  main.contact .section1.complete p.backtotop {
    font-size: 1.6rem;
    line-height: 2;
    margin-bottom: 100px;
    letter-spacing: 0.04em;
  }

  main.contact .section1.complete p.backtotop a:hover {
    color: #0d6791;
    text-decoration: underline;
  }
}

@media screen and (max-width: 1023px) {
  main.contact {
    position: relative;
    top: 80px;
    padding: 50px 0 80px;
  }

  main.contact .section1 {
    width: 89.3%;
    margin: 0 auto;
    padding: 75px 0 100px;
  }

  main.contact .section1 h1 {
    font-size: 1.9rem;
    margin-bottom: 98px;
  }

  main.contact .section1 h1 span {
    display: block;
    margin-top: 22px;
    font-size: 1.2rem;
  }

  main.contact .section1 .inner {
    width: 88.1%;
  }

  main.contact .section1 .inner p.attention {
    font-size: 1.2rem;
    margin-bottom: 48px;
  }

  main.contact .section1 .inner form .form-item {
    margin-bottom: 49px;
  }

  main.contact .section1 .inner form .form-item .form-head {
    font-size: 1.2rem;
    margin-bottom: 7px;
  }

  main.contact .section1 .inner form .form-item .form-head span {
    display: block;
    margin-top: 4px;
    font-size: 1.1rem;
  }

  main.contact .section1 .inner form .form-item.block-message .form-head {
    margin-bottom: 16px;
  }

  main.contact .section1 .inner form .form-item.block-message .form-body {
    padding-top: 0;
  }

  main.contact .section1 .inner form .form-item.block-file {
    margin-bottom: 99px;
    letter-spacing: 0.04em;
  }

  main.contact .section1 .inner form .form-item .form-body {
    padding-top: 7px;
  }

  main.contact .section1 .inner form .form-item .form-body span {
    margin-bottom: 15px;
    display: block;
  }

  main.contact .section1 .inner form .form-item .form-body span input {
    padding: 20px 14px;
    font-size: 1.6rem;
  }

  main.contact .section1 .inner form .form-item .form-body span input::placeholder {
    font-size: 1.2rem;
  }

  main.contact .section1 .inner form .form-item .form-body span input[type="mail"],
  main.contact .section1 .inner form .form-item .form-body span input[type="tel"] {
    padding: 20px;
    font-size: 1.6rem;
  }

  main.contact .section1 .inner form .form-item .form-body span input[type="mail"]::placeholder,
  main.contact .section1 .inner form .form-item .form-body span input[type="tel"]::placeholder {
    font-size: 1.2rem;
  }

  main.contact .section1 .inner form .form-item .form-body span textarea {
    height: 350px;
    padding: 16px 15px;
    font-size: 1.6rem;
  }

  main.contact .section1 .inner form .form-item .form-body span textarea::placeholder {
    font-size: 1.2rem;
  }

  main.contact .section1 .inner form .form-item .form-body span:last-child {
    margin-bottom: 0;
  }

  main.contact .section1 .inner form .form-item .form-body span.file-680 label {
    font-size: 1.2rem;
    width: 131px;
    height: 40px;
    line-height: 40px;
    margin-bottom: 15px;
  }

  main.contact .section1 .inner form .form-item .form-body span.file-680 .filename {
    width: calc(100% - 20px);
  }

  main.contact .section1 .inner form .form-item .form-body span.file-680 .filename .close {
    width: 12px;
    top: 19px;
    right: 19px;
  }

  main.contact .section1 .inner form .subinner .submitbtn,
  main.contact .section1 .inner form .subinner .btn-container {
    width: 150px;
    margin: 0 auto;
  }

  main.contact .section1 .inner form .subinner .submitbtn input,
  main.contact .section1 .inner form .subinner .btn-container input {
    width: 150px;
    height: 50px;
    line-height: 50px;
    border-radius: 30px;
  }

  main.contact .section1.confirm .inner p.attention {
    margin-bottom: 98px;
    line-height: 1.5;
  }

  main.contact .section1.confirm .inner form .form-item {
    margin-bottom: 48px;
  }

  main.contact .section1.confirm .inner form .form-item .form-head {
    margin-bottom: 0;
  }

  main.contact .section1.confirm .inner form .form-item .form-body {
    display: flex;
    justify-content: normal;
    align-items: center;
    font-size: 1.2rem;
    margin-top: 23px;
    padding: 0;
  }

  main.contact .section1.confirm .inner form .form-item .form-body span {
    margin-right: 15px;
    margin-bottom: 0;
  }

  main.contact .section1.confirm .inner form .form-item.block-message {
    margin-bottom: 40px;
  }

  main.contact .section1.confirm .inner form .form-item.block-message .form-body {
    margin-top: 0;
  }

  main.contact .section1.confirm .inner form .form-item.block-message span {
    margin: 0;
    margin-top: 16px;
    width: 100%;
    line-height: 2.167;
    letter-spacing: 0.04em;
  }

  main.contact .section1.confirm .inner form .form-item.block-file {
    margin-bottom: 99px;
  }

  main.contact .section1.confirm .inner form .form-item.block-file span {
    letter-spacing: 0.04em;
  }

  main.contact .section1.confirm .inner form .subinner .btn-return {
    width: 150px;
    margin: 49px auto 0;
  }

  main.contact .section1.confirm .inner form .subinner .btn-return input {
    width: 150px;
    height: 50px;
    line-height: 50px;
    border-radius: 25px;
  }

  main.contact .section1.complete h1 {
    margin-bottom: 86px;
  }

  main.contact .section1.complete p.attention {
    margin-bottom: 44px;
    line-height: 2.167;
  }

  main.contact .section1.complete p.backtotop {
    font-size: 1.4rem;
    letter-spacing: 0.04em;
  }

  main.contact .section1.complete p.backtotop a {
    text-decoration: underline;
  }
}
@charset "UTF-8";

/*
z-index

*/

main.news {
  background-color: #f5f5f5;
}

main.news .section1 {
  position: relative;
  background-color: #ffffff;
  margin: 0 auto;
}

main.news .section1 h1 {
  text-align: center;
  font-weight: normal;
  color: #08435e;
  letter-spacing: 0.02em;
}

main.news .section1 h1 span {
  display: block;
  color: #777777;
}

main.news .section1 .inner {
  margin: 0 auto;
  position: relative;
}

main.news .section1 .inner .filter {
  display: flex;
  align-items: flex-start;
}

main.news .section1 .inner .filter .txt {
  color: #777777;
  font-weight: 300;
}

main.news .section1 .inner .filter .select {
  font-weight: 400;
  color: #08435e;
  background-image: url(/assets/img/news/arrow-select.png);
  background-size: 15px 8px;
  background-repeat: no-repeat;
  background-position: right 0;
  cursor: pointer;
}

main.news .section1 .inner .selectbox {
  display: none;
  background-color: #f5f5f5;
  align-items: center;
  justify-content: center;
  position: absolute;
  z-index: 2;
}

main.news .section1 .inner .selectbox.show {
  display: flex;
}

main.news .section1 .inner .selectbox ul {
  overflow: hidden;
}

main.news .section1 .inner .selectbox li {
  letter-spacing: 0.02em;
}

main.news .section1 .inner .selectbox li.active a {
  color: #08435e;
}

main.news .section1 .inner .child {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  /* フレックスアイテムを先頭にまとめる */
  border-top: 1px solid #c8c7c6;
}

main.news .section1 .inner .child .block {
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
  width: 100%;
  border-bottom: 1px solid #c8c7c6;
}

main.news .section1 .inner .child .block.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.news .section1 .inner .child .block a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

main.news .section1 .inner .child .block a dl {
  width: 100%;
}

main.news .section1 .inner .child .block a dl dt {
  letter-spacing: 0.02em;
  font-weight: 300;
  position: relative;
}

main.news .section1 .inner .child .block a dl dt span {
  color: #777777;
}

main.news .section1 .inner .child .block a dl dd {
  letter-spacing: 0.04em;
}

main.news .section1 .inner .child .block a:hover dd {
  color: #0d6791;
}

main.news .pagenation {
  position: relative;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main.news .pagenation:after {
  display: block;
  content: "";
  clear: both;
}

main.news .pagenation.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.news .pagenation .prev {
  position: absolute;
}

main.news .pagenation .prev a {
  display: block;
  font-weight: bold;
}

main.news .pagenation .prev a img {
  width: 100%;
  height: auto;
}

main.news .pagenation .next {
  position: absolute;
}

main.news .pagenation .next a {
  display: block;
  font-weight: bold;
}

main.news .pagenation .next a img {
  width: 100%;
  height: auto;
}

main.news .pagenation ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  font-family: Helvetica Neue, Helvetica, "メイリオ", Meiryo, sans-serif;
}

main.news .pagenation ul li {
  text-align: center;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  color: #777777;
  font-weight: 300;
}

main.news .pagenation ul li a {
  color: #777777;
}

main.news .pagenation ul li.active {
  color: #08435e;
  position: relative;
}

main.news .pagenation ul li:last-child {
  margin-right: 0;
}

@media screen and (min-width: 1024px) {
  main.news {
    margin-top: 141px;
    padding: 150px 0 0;
  }

  main.news .section1 {
    width: 80%;
    padding: 150px 0 155px;
  }

  main.news .section1 h1 {
    font-size: 3.8rem;
    margin-bottom: 138px;
  }

  main.news .section1 h1 span {
    margin-top: 30px;
    font-size: 1.6rem;
    line-height: 2;
  }

  main.news .section1 .inner {
    width: 66.7%;
  }

  main.news .section1 .inner .filter {
    margin-bottom: 45px;
    margin-left: 39px;
  }

  main.news .section1 .inner .filter .select {
    font-size: 1.6rem;
    padding-right: 44px;
  }

  main.news .section1 .inner .selectbox {
    top: -49px;
    left: 0;
  }

  main.news .section1 .inner .selectbox ul {
    margin: 2px 0;
    padding: 0 47px 0 39px;
  }

  main.news .section1 .inner .selectbox li {
    font-size: 1.6rem;
    line-height: 3.25;
  }

  main.news .section1 .inner .selectbox li:first-child {
    margin-top: 29px;
    letter-spacing: normal;
  }

  main.news .section1 .inner .selectbox li:last-child {
    margin-bottom: 27px;
  }

  main.news .section1 .inner .selectbox li a:hover {
    color: #0d6791;
  }

  main.news .section1 .inner .child .block a {
    padding: 45px 0 40px;
  }

  main.news .section1 .inner .child .block a dl dt {
    font-size: 1.3rem;
    margin-left: 2px;
    margin-bottom: 17px;
  }

  main.news .section1 .inner .child .block a dl dt span {
    position: absolute;
    left: 265px;
  }

  main.news .section1 .inner .child .block a dl dd {
    font-size: 1.6rem;
    line-height: 2;
  }

  main.news .pagenation {
    width: 157px;
    margin: 102px auto 0;
    padding-bottom: 147px;
  }

  main.news .pagenation .prev {
    width: 8px;
    height: 15px;
    top: 0;
    left: 0;
  }

  main.news .pagenation .next {
    width: 8px;
    height: 15px;
    top: 0;
    right: 0;
  }

  main.news .pagenation ul li {
    margin: 0 0 0 27px;
    font-size: 1.6rem;
    line-height: normal;
  }

  main.news .pagenation ul li:first-child {
    margin: 0;
  }

  main.news .pagenation ul li a:hover {
    color: #0d6791;
    text-decoration: underline;
  }
}

@media screen and (max-width: 1023px) {
  main.news {
    position: relative;
    top: 80px;
    padding: 50px 0 178px;
  }

  main.news .section1 {
    width: 89.3%;
    padding: 75px 0 100px;
  }

  main.news .section1 h1 {
    font-size: 1.9rem;
    margin-bottom: 102px;
  }

  main.news .section1 h1 span {
    margin-top: 22px;
    font-size: 1.4rem;
    letter-spacing: 0.01em;
  }

  main.news .section1 .inner {
    width: 88.1%;
  }

  main.news .section1 .inner .filter {
    margin-bottom: 46px;
    margin-left: 39px;
  }

  main.news .section1 .inner .filter .select {
    font-size: 1.6rem;
    padding-right: 44px;
  }

  main.news .section1 .inner .selectbox {
    top: -49px;
    left: 0;
  }

  main.news .section1 .inner .selectbox ul {
    margin: 2px 0;
    padding: 0 47px 0 39px;
  }

  main.news .section1 .inner .selectbox li {
    font-size: 1.6rem;
    line-height: 3.25;
  }

  main.news .section1 .inner .selectbox li:first-child {
    margin-top: 29px;
    letter-spacing: 0;
  }

  main.news .section1 .inner .selectbox li:last-child {
    margin-bottom: 27px;
  }

  main.news .section1 .inner .child .block a {
    padding: 42px 0;
  }

  main.news .section1 .inner .child .block a dl dt {
    font-size: 1.4rem;
    margin-bottom: 19px;
    letter-spacing: 0.02em;
  }

  main.news .section1 .inner .child .block a dl dt span {
    position: absolute;
    left: 265px;
  }

  main.news .section1 .inner .child .block a dl dd {
    font-size: 1.7rem;
    line-height: 1.794;
  }

  main.news .pagenation {
    width: 157px;
    margin: 102px auto 0;
  }

  main.news .pagenation .prev {
    width: 8px;
    height: 15px;
    top: 0;
    left: 0;
  }

  main.news .pagenation .next {
    width: 8px;
    height: 15px;
    top: 0;
    right: 0;
  }

  main.news .pagenation ul li {
    margin: 0 0 0 30px;
    font-size: 1.4rem;
    line-height: normal;
  }

  main.news .pagenation ul li:first-child {
    margin: 0;
  }
}

@media screen and (max-width: 559px) {
  main.news .section1 {
    margin: 0 auto 50px;
    padding-bottom: 60px;
  }

  main.news .section1 h1 {
    margin-bottom: 65px;
  }

  main.news .section1 .inner .filter {
    margin-bottom: 19px;
    margin-left: 24px;
  }

  main.news .section1 .inner .filter .txt {
    margin-right: 30px;
    font-size: 1.5rem;
    letter-spacing: 0.04em;
  }

  main.news .section1 .inner .filter .select {
    font-size: 1.5rem;
    width: 100%;
    background-position: center right 18px;
  }

  main.news .section1 .inner .selectbox {
    width: 100%;
    height: inherit;
    top: -25px;
    left: inherit;
    right: 0;
    justify-content: flex-start;
    background-image: url(/assets/img/member/arrow-select-close.png);
    background-size: 15px 8px;
    background-repeat: no-repeat;
    background-position: right 18px top 27px;
  }

  main.news .section1 .inner .selectbox.show {
    display: block;
  }

  main.news .section1 .inner .selectbox ul {
    margin-top: 1px;
    margin-left: 0;
    padding: 0 24px;
  }

  main.news .section1 .inner .selectbox li {
    font-size: 1.5rem;
    line-height: 1;
    padding-bottom: 28px;
  }

  main.news .section1 .inner .selectbox li:first-child {
    margin-top: 24px;
  }

  main.news .section1 .inner .selectbox li:last-child {
    margin-bottom: 18px;
    padding-bottom: 0px;
  }

  main.news .section1 .inner .child .block a {
    padding: 25px 0 17px;
  }

  main.news .section1 .inner .child .block a dl dt {
    font-size: 1.2rem;
    margin-bottom: 4px;
    letter-spacing: 0;
    color: #777777;
  }

  main.news .section1 .inner .child .block a dl dt span {
    position: absolute;
    left: 170px;
  }

  main.news .section1 .inner .child .block a dl dd {
    font-size: 1.2rem;
    line-height: 2.167;
    color: #08435e;
  }

  main.news .pagenation {
    width: 131px;
    margin: 51px auto 0;
  }

  main.news .pagenation ul li {
    margin: 0 0 0 21px;
    font-size: 1.4rem;
    line-height: normal;
  }

  main.news .pagenation ul li:first-child {
    margin: 0;
  }
}
@charset "UTF-8";

/*
z-index

*/

main.newsdetail {
  background-color: #f5f5f5;
}

main.newsdetail .section1 {
  position: relative;
  background-color: #ffffff;
  margin: 0 auto;
}

main.newsdetail .section1 .inner {
  margin: 0 auto;
  position: relative;
}

main.newsdetail .section1 .inner .date {
  display: flex;
  align-items: center;
  justify-content: center;
}

main.newsdetail .section1 .inner .date dl {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  font-size: 1.5rem;
  letter-spacing: 0.02em;
  margin-left: -5px;
}

main.newsdetail .section1 .inner .date dl dt {
  color: #777777;
}

main.newsdetail .section1 .inner .date dl dd {
  color: #08435e;
  font-weight: 300;
}

main.newsdetail .section1 .inner h1 {
  text-align: center;
  font-weight: 400;
}

main.newsdetail .section1 .inner img {
  width: 100%;
  height: auto;
}

main.newsdetail .section1 .inner p {
  margin: 0 auto;
  letter-spacing: 0.04em;
  font-weight: 400;
}

main.newsdetail .section1 .inner p a {
  color: #08435e;
}

main.newsdetail .section1 .inner .wp-block-embed__wrapper {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

main.newsdetail .section1 .inner .wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

main.newsdetail .pagenation {
  position: relative;
}

main.newsdetail .pagenation .prev a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  background-size: 9px 15px;
  background-repeat: no-repeat;
  background-position: left top;
  color: #222222;
  font-size: 1.4rem;
  font-weight: 300;
  line-height: normal;
  background-image: url(/assets/img/member/icon-prev.png);
}

main.newsdetail .pagenation .next a {
  font-size: 1.4rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  background-size: 9px 15px;
  background-repeat: no-repeat;
  background-position: right top;
  color: #222222;
  font-weight: 300;
  line-height: normal;
  background-image: url(/assets/img/member/icon-next.png);
}

main.newsdetail .pagenation .viewall {
  font-size: 1.4rem;
  font-weight: 300;
  position: absolute;
  top: 50%;
  /*親要素を起点に上から50%*/
  left: 50%;
  /*親要素を起点に左から50%*/
  transform: translateY(-50%) translateX(-50%);
  /*要素の大きさの半分ずつを戻す*/
  -webkit-transform: translateY(-50%) translateX(-50%);
  line-height: normal;
}

main.newsdetail .pagenation .viewall a {
  color: #222222;
}

@media screen and (min-width: 1024px) {
  main.newsdetail {
    margin-top: 141px;
    padding: 158px 0 0;
  }

  main.newsdetail .section1 {
    width: 80%;
    padding: 102px 0 147px;
  }

  main.newsdetail .section1 .inner {
    width: 62.5%;
  }

  main.newsdetail .section1 .inner .date {
    margin-bottom: 43px;
  }

  main.newsdetail .section1 .inner .date dl {
    font-size: 1.6rem;
    line-height: 2;
  }

  main.newsdetail .section1 .inner .date dl dt {
    margin-right: 40px;
  }

  main.newsdetail .section1 .inner h1 {
    font-size: 2.6rem;
    line-height: 1.6;
    margin-bottom: 99px;
  }

  main.newsdetail .section1 .inner img {
    margin-bottom: 90px;
  }

  main.newsdetail .section1 .inner h2 {
    font-size: 3.4rem;
    width: 80%;
    margin: 30px auto;
  }

  main.newsdetail .section1 .inner h3 {
    font-size: 2.6rem;
    width: 80%;
    margin: 30px auto;
  }

  main.newsdetail .section1 .inner p {
    width: 80%;
    font-size: 1.6rem;
    line-height: 2;
  }

  main.newsdetail .section1 .inner p a:hover {
    color: #0d6791;
  }

  main.newsdetail .pagenation {
    width: 80%;
    margin: 104px auto 0;
    padding-bottom: 150px;
  }

  main.newsdetail .pagenation:after {
    display: block;
    content: "";
    clear: both;
  }

  main.newsdetail .pagenation .prev {
    float: left;
  }

  main.newsdetail .pagenation .prev a {
    font-size: 1.6rem;
    padding-left: 29px;
  }

  main.newsdetail .pagenation .prev a:hover {
    color: #0d6791;
  }

  main.newsdetail .pagenation .prev a:hover span {
    text-decoration: underline;
  }

  main.newsdetail .pagenation .prev a img {
    margin-right: 30px;
  }

  main.newsdetail .pagenation .next {
    float: right;
  }

  main.newsdetail .pagenation .next a {
    font-size: 1.6rem;
    padding-right: 29px;
  }

  main.newsdetail .pagenation .next a:hover {
    color: #0d6791;
  }

  main.newsdetail .pagenation .next a:hover span {
    text-decoration: underline;
  }

  main.newsdetail .pagenation .next a img {
    margin-left: 30px;
  }

  main.newsdetail .pagenation .viewall {
    top: 0%;
    /*親要素を起点に上から0%*/
    transform: translateY(0%) translateX(-50%);
    /*要素の大きさの半分ずつを戻す*/
    -webkit-transform: translateY(0%) translateX(-50%);
  }

  main.newsdetail .pagenation .viewall a {
    font-size: 1.6rem;
  }

  main.newsdetail .pagenation .viewall a:hover {
    color: #0d6791;
    text-decoration: underline;
  }
}

@media screen and (max-width: 1023px) {
  main.newsdetail {
    position: relative;
    top: 80px;
    padding: 50px 0 179px;
  }

  main.newsdetail .section1 {
    width: 89.333%;
    padding: 52px 0 52px;
  }

  main.newsdetail .section1 .inner {
    width: 100%;
    text-align: center;
  }

  main.newsdetail .section1 .inner .date {
    margin-bottom: 16px;
  }

  main.newsdetail .section1 .inner .date dl {
    margin-left: 0;
    font-size: 1.2rem;
  }

  main.newsdetail .section1 .inner .date dl dt {
    margin-right: 29px;
  }

  main.newsdetail .section1 .inner .date dl dd {
    color: #777777;
  }

  main.newsdetail .section1 .inner h1 {
    font-size: 1.4rem;
    line-height: 1.6;
    margin-bottom: 53px;
    padding: 0 45px;
    letter-spacing: 0.02em;
    display: inline-block;
    text-align: left;
  }

  main.newsdetail .section1 .inner img {
    margin-bottom: 40px;
  }

  main.newsdetail .section1 .inner p {
    width: 87.164%;
    font-size: 1.2rem;
    line-height: 2.167;
    text-align: left;
  }

  main.newsdetail .section1 .inner h2 {
    font-size: 2.1rem;
    width: 87.164%;
    margin: 30px auto;
  }

  main.newsdetail .section1 .inner h3 {
    font-size: 1.6rem;
    width: 87.164%;
    margin: 30px auto;
  }

  main.newsdetail .pagenation {
    width: 89.333%;
    margin: 51px auto 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  main.newsdetail .pagenation .prev a {
    padding-left: 23px;
  }

  main.newsdetail .pagenation .prev a img {
    margin-right: 30px;
  }

  main.newsdetail .pagenation .next a {
    padding-right: 23px;
  }

  main.newsdetail .pagenation .next a img {
    margin-left: 30px;
  }
}
/*
z-index

*/

main.careers {
  position: relative;
}

main.careers .main_visual {
  position: relative;
}

main.careers .main_visual .img {
  width: 100%;
  height: 100vh;
  overflow: hidden;
  position: relative;
}

main.careers .main_visual .img img {
  width: auto;
  height: 100%;
  vertical-align: bottom;
}

main.careers .main_visual .txtarea {
  position: absolute;
  z-index: 2;
}

main.careers .main_visual .txtarea h1 {
  line-height: 0.7;
  color: #08435e;
  letter-spacing: 0.01em;
}

main.careers .main_visual .txtarea .btn a:hover span:after {
  animation: hover_line_footer 0.8s;
}

@keyframes hover_line_footer {
  0% {
    width: 100%;
    left: 0%;
  }

  33% {
    width: 100%;
    left: 0%;
  }

  66% {
    width: 0%;
    left: 100%;
  }

  66.01% {
    width: 0%;
    left: 0%;
  }

  100% {
    width: 100%;
  }
}

main.careers .section1,
main.careers .section2,
main.careers .section3,
main.careers .section4,
main.careers .section5 {
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.careers .section1.show,
main.careers .section2.show,
main.careers .section3.show,
main.careers .section4.show,
main.careers .section5.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.careers .section1 .inner .left img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

main.careers .section1 .inner .right h2 {
  font-weight: 400;
  font-size: 2.1rem;
}

main.careers .section2 {
  position: relative;
  z-index: 2;
}

main.careers .section2 .imgarea {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

main.careers .section2 .imgarea .left img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

main.careers .section2 .imgarea .right img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

main.careers .section3 {
  position: relative;
  background-color: #f5f5f5;
}

main.careers .section3 p.ttl {
  width: 100%;
  color: #084b5e;
  font-weight: 400;
  letter-spacing: 0.02em;
  position: relative;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

main.careers .section3 p.ttl:before {
  display: block;
  content: "";
  height: 1px;
  background-color: #08435e;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -1px;
}

main.careers .section3 .inner {
  margin: 0 auto;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

main.careers .section3 .block h3 {
  font-size: 2.1rem;
  font-weight: 400;
}

main.careers .section4 p {
  letter-spacing: 0.04em;
}

main.careers .section5 {
  position: relative;
}

main.careers .section5 .txtarea {
  position: absolute;
  z-index: 2;
}

main.careers .section5 .txtarea p.ttl {
  width: 100%;
  color: #084b5e;
  font-weight: 400;
  letter-spacing: 0.02em;
  position: relative;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

main.careers .section5 .txtarea p.ttl:before {
  display: block;
  content: "";
  height: 1px;
  background-color: #08435e;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -1px;
}

main.careers .section5 .txtarea h2 {
  letter-spacing: 0.05em;
}

main.careers .section5 .txtarea h2 a {
  color: #084b5e;
}

main.careers .section5 .img {
  position: absolute;
  z-index: -1;
}

main.careers .section5 .img img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

main.careers .section5 ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

main.careers .section5 ul li {
  width: 50%;
}

main.careers .section5 ul li img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

@media screen and (min-width: 1024px) {
  main.careers .main_visual {
    display: flex;
    align-items: center;
  }

  main.careers .main_visual .img {
    background-image: url("/assets/img/careers/mainvisual-pc.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
  }

  main.careers .main_visual .txtarea {
    right: 113px;
  }

  main.careers .main_visual .txtarea h1 {
    font-size: 6.25vw;
    margin-left: -2px;
    line-height: 1;
    letter-spacing: 0.03em;
  }

  main.careers .main_visual .txtarea .btn {
    margin-top: 64px;
  }

  main.careers .main_visual .txtarea .btn a {
    position: relative;
    color: #08435e;
    font-size: 2.6rem;
    font-weight: 300;
    letter-spacing: 0.04em;
  }

  main.careers .main_visual .txtarea .btn a:hover:before {
    animation: arrow8 .5s;
  }

  main.careers .main_visual .txtarea .btn a:before {
    content: "";
    border: 0px;
    width: 9px;
    height: 9px;
    border-top: solid 1px #08435e;
    border-right: solid 1px #08435e;
    position: absolute;
    transform: rotate(45deg);
    margin-top: 5px;
  }

  main.careers .main_visual .txtarea .btn a span {
    position: relative;
    left: 34px;
    letter-spacing: 0.05em;
  }

  main.careers .main_visual .txtarea .btn a span:after {
    content: "";
    height: 1px;
    width: 100%;
    background-color: #08435e;
    display: inline-block;
    top: 26px;
    left: 0;
    position: absolute;
  }

  main.careers .section1 .inner {
    width: 66.75%;
    margin: 142px auto 143px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
  }

  main.careers .section1 .inner .left {
    width: 47%;
    margin-left: -0.8%;
  }

  main.careers .section1 .inner .right {
    width: 40.4494382%;
  }

  main.careers .section1 .inner .right h2 {
    font-size: 2.6rem;
    line-height: 1.6;
    margin-bottom: 22px;
  }

  main.careers .section1 .inner .right p {
    font-size: 1.6rem;
    line-height: 2;
  }

  main.careers .section2 .imgarea .left {
    width: 21.625%;
    margin-top: 153px;
    margin-left: 11.75%;
  }

  main.careers .section2 .imgarea .right {
    width: 48.375%;
  }

  main.careers .section3 {
    margin-top: -219px;
    padding: 319px 0 146px;
  }

  main.careers .section3 p.ttl {
    margin: 0 auto 35px;
    padding-left: 49px;
    font-size: 1.6rem;
  }

  main.careers .section3 p.ttl:before {
    width: 40px;
  }

  main.careers .section3 .inner {
    width: 84.375%;
    padding-left: 4%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  main.careers .section3 .inner .block {
    width: 29.5%;
  }

  main.careers .section3 .inner .block h3 {
    font-size: 2.6rem;
    line-height: 1.6;
    margin-bottom: 20px;
    letter-spacing: 0.01em;
  }

  main.careers .section3 .inner .block p {
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: 0.04em;
  }

  main.careers .section4 {
    margin: 0 0 215px;
    padding-top: 198px;
    text-align: center;
  }

  main.careers .section4 h2 {
    font-size: 3.8rem;
    color: #084b5e;
    font-weight: 400;
    letter-spacing: 0.02em;
    margin-bottom: 87px;
  }

  main.careers .section4 h2 span {
    display: block;
    font-size: 1.6rem;
    line-height: 2;
    margin-top: 21px;
    color: #777777;
  }

  main.careers .section4 ul {
    width: 60%;
    margin: 98px auto 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
  }

  main.careers .section4 ul li {
    width: 47.1875%;
    border-bottom: 1px solid #cccccc;
  }

  main.careers .section4 ul li a {
    display: block;
    padding: 31px 0;
    font-size: 1.6rem;
    line-height: 2;
    background-image: url(/assets/img/careers/icon-next.png);
    background-size: 9px 15px;
    background-repeat: no-repeat;
    background-position: right center;
    letter-spacing: 0.02em;
  }

  main.careers .section4 ul li a:hover {
    color: #0d6791;
  }

  main.careers .section4 p {
    font-size: 1.6rem;
    margin-bottom: 200px;
  }

  main.careers .section5 {
    margin-bottom: 222px;
    display: flex;
    align-items: center;
  }

  main.careers .section5 .txtarea {
    left: 9.5%;
  }

  main.careers .section5 .txtarea p.ttl {
    margin-left: 8px;
    margin-bottom: 27px;
    padding-left: 49px;
    font-size: 1.6rem;
  }

  main.careers .section5 .txtarea p.ttl:before {
    width: 40px;
  }

  main.careers .section5 .txtarea h2 {
    font-size: 4.7rem;
    font-size: 2.97375vw;
    line-height: 1;
  }

  main.careers .section5 .txtarea h2 a:hover {
    color: #0d6791;
  }

  main.careers .section5 .img {
    width: 19.25%;
    top: 8px;
    left: -66px;
  }

  main.careers .section5 ul {
    width: 68.375%;
    margin-left: 31.625%;
  }
}

@media screen and (max-width: 1023px) {
  main.careers .main_visual .img {
    background-image: url("/assets/img/careers/mainvisual-sp.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
  }

  main.careers .main_visual .txtarea {
    width: 100%;
    height: 100vh;
    text-align: center;
  }

  main.careers .main_visual .txtarea h1 {
    margin-top: 108px;
    font-size: 13.333vw;
    line-height: 1;
  }

  main.careers .main_visual .txtarea .btn {
    width: 73.333%;
    margin: 25px auto 0;
    text-align: left;
  }

  main.careers .main_visual .txtarea .btn a {
    position: relative;
    font-size: 1.4rem;
    font-weight: 300;
    letter-spacing: 0.04em;
    color: #084b5e;
  }

  main.careers .main_visual .txtarea .btn a:hover:before {
    animation: arrow4 .5s;
  }

  main.careers .main_visual .txtarea .btn a:before {
    content: "";
    border: 0px;
    width: 5.5px;
    height: 5.5px;
    border-top: solid 1px #084b5e;
    border-right: solid 1px #084b5e;
    position: absolute;
    transform: rotate(45deg);
    margin-top: 1.5px;
  }

  main.careers .main_visual .txtarea .btn a span {
    position: relative;
    left: 12px;
  }

  main.careers .main_visual .txtarea .btn a span:after {
    content: "";
    height: 1px;
    width: 100%;
    background-color: #084b5e;
    display: inline-block;
    top: 15px;
    left: 1px;
    position: absolute;
  }

  main.careers .section1 .inner {
    width: 84%;
    margin: 75px auto 52px;
  }

  main.careers .section1 .inner .left {
    margin-bottom: 43px;
  }

  main.careers .section1 .inner .right h2 {
    line-height: 1.42857;
    margin-bottom: 13px;
  }

  main.careers .section1 .inner .right p {
    font-size: 1.2rem;
    line-height: 2.167;
    letter-spacing: 0.04em;
  }

  main.careers .section2 .imgarea .left {
    width: 26.533%;
    margin-top: 100px;
    margin-left: 8%;
  }

  main.careers .section2 .imgarea .right {
    width: 57.733%;
  }

  main.careers .section3 {
    margin-top: -173px;
    padding: 223px 0 52px;
  }

  main.careers .section3 p.ttl {
    margin: 0 auto 45px;
    padding-left: 40px;
    font-size: 1.3rem;
  }

  main.careers .section3 p.ttl:before {
    width: 30px;
  }

  main.careers .section3 .inner {
    width: 83.375%;
  }

  main.careers .section3 .inner .block {
    margin-bottom: 42px;
  }

  main.careers .section3 .inner .block:last-child {
    margin-bottom: 0;
  }

  main.careers .section3 .inner .block h3 {
    margin-bottom: 15px;
  }

  main.careers .section3 .inner .block p {
    font-size: 1.2rem;
    line-height: 2.167;
  }

  main.careers .section4 {
    margin: 0 0 50px;
    padding-top: 101px;
    text-align: center;
  }

  main.careers .section4 h2 {
    font-size: 1.9rem;
    color: #084b5e;
    font-weight: 400;
    letter-spacing: 0.02em;
    margin-bottom: 46px;
  }

  main.careers .section4 h2 span {
    display: block;
    font-size: 1.2rem;
    margin-top: 22px;
    color: #777777;
  }

  main.careers .section4 ul {
    width: 84%;
    margin: 0 auto;
  }

  main.careers .section4 ul li {
    width: 100%;
    border-bottom: 1px solid #e7e7e7;
  }

  main.careers .section4 ul li:first-child {
    border-top: 1px solid #e7e7e7;
  }

  main.careers .section4 ul li a {
    display: block;
    padding: 35px 0 34px;
    font-size: 1.2rem;
    background-image: url(/assets/img/careers/icon-next-sp.png);
    background-size: 9px 15px;
    background-repeat: no-repeat;
    background-position: right center;
    letter-spacing: 0.02em;
  }

  main.careers .section4 p {
    font-size: 1.2rem;
  }

  main.careers .section5 {
    margin-bottom: 98px;
    padding-top: 189px;
  }

  main.careers .section5 .txtarea {
    width: calc(100% - 36px);
    top: 72px;
    left: 36px;
  }

  main.careers .section5 .txtarea p.ttl {
    margin: 0 auto 9px;
    padding-left: 30px;
    font-size: 1.3rem;
  }

  main.careers .section5 .txtarea p.ttl:before {
    width: 20px;
    left: 5px;
  }

  main.careers .section5 .txtarea h2 {
    font-size: 4rem;
    line-height: 1;
  }

  main.careers .section5 .img {
    width: 22%;
    top: 50px;
    left: -17px;
  }

  main.careers .section5 ul {
    width: 100%;
  }
}
@charset "UTF-8";

/*
z-index

*/

main.casestudies {
  background-color: #f5f5f5;
}

main.casestudies .section1 {
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.casestudies .section1.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.casestudies .pagenation {
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main.casestudies .pagenation.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.casestudies .section1 {
  position: relative;
  background-color: #ffffff;
  margin: 0 auto;
}

main.casestudies .section1 .inner {
  margin: 0 auto;
  position: relative;
}

main.casestudies .section1 .inner h1 {
  text-align: center;
  font-weight: 400;
  color: #08435e;
  letter-spacing: 0.02em;
}

main.casestudies .section1 .inner h1 span {
  color: #777777;
  display: block;
  letter-spacing: 0.01em;
  font-family: source-han-sans-japanese, sans-serif;
}

main.casestudies .section1 .inner h2 {
  text-align: center;
  font-weight: 400;
  letter-spacing: 0.02em;
}

main.casestudies .section1 .inner .profilearea {
  background-color: #f5f5f5;
}

main.casestudies .section1 .inner .profilearea img {
  height: auto;
}

main.casestudies .section1 .inner .profilearea .txtarea .clientprofile p.ttl {
  letter-spacing: 0.04em;
}

main.casestudies .section1 .inner .profilearea .txtarea .clientprofile div.txt p,
main.casestudies .section1 .inner .profilearea .txtarea .clientprofile div.txt ul {
  color: #777777;
  letter-spacing: 0.04em;
}

main.casestudies .section1 .inner .profilearea .txtarea .warcmember p.ttl {
  letter-spacing: 0.04em;
}

main.casestudies .section1 .inner .profilearea .txtarea .warcmember dl {
  color: #777777;
  letter-spacing: 0.04em;
}

main.casestudies .section1 .inner .profilearea .txtarea .warcmember dl dd:last-child {
  margin-bottom: 0;
}

main.casestudies .section1 .inner .profilearea .txtarea .warcmember dl dd span a {
  color: #777777;
  text-decoration: underline;
}

main.casestudies .section1 .inner .blocklist .block {
  border-bottom: 1px solid #cccccc;
}

main.casestudies .section1 .inner .blocklist .block:last-child {
  border: none;
  margin: 0;
  padding: 0;
}

main.casestudies .section1 .inner .blocklist .block h3 {
  font-weight: 400;
}

main.casestudies .section1 .inner .blocklist .block p {
  letter-spacing: 0.04em;
}

main.casestudies .section1 .inner .blocklist .block dl {
  letter-spacing: 0.04em;
}

main.casestudies .section1 .inner .blocklist .block dl dt {
  font-weight: 600;
}

main.casestudies .section1 .inner .blocklist .block dl dd:last-child {
  margin-bottom: 0;
}

main.casestudies .pagenation {
  position: relative;
}

main.casestudies .pagenation .prev a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  background-size: 9px 15px;
  background-repeat: no-repeat;
  background-position: left top;
  color: #222222;
  font-size: 1.4rem;
  font-weight: 300;
  line-height: normal;
  background-image: url(/assets/img/member/icon-prev.png);
}

main.casestudies .pagenation .next a {
  font-size: 1.4rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  background-size: 9px 15px;
  background-repeat: no-repeat;
  background-position: right top;
  color: #222222;
  font-weight: 300;
  line-height: normal;
  background-image: url(/assets/img/member/icon-next.png);
}

main.casestudies .pagenation .viewall {
  font-size: 1.4rem;
  font-weight: 300;
  position: absolute;
  top: 50%;
  /*親要素を起点に上から50%*/
  left: 50%;
  /*親要素を起点に左から50%*/
  transform: translateY(-50%) translateX(-50%);
  /*要素の大きさの半分ずつを戻す*/
  -webkit-transform: translateY(-50%) translateX(-50%);
  line-height: normal;
}

main.casestudies .pagenation .viewall a {
  color: #222222;
}

@media screen and (min-width: 1024px) {
  main.casestudies {
    margin-top: 141px;
    padding: 150px 0 0;
  }

  main.casestudies .section1 {
    width: 80%;
    padding: 152px 0 192px;
  }

  main.casestudies .section1 .inner {
    width: 75%;
  }

  main.casestudies .section1 .inner h1 {
    font-size: 3.8rem;
    margin-bottom: 127px;
  }

  main.casestudies .section1 .inner h1 span {
    font-size: 1.6rem;
    line-height: 2;
    margin-top: 14px;
  }

  main.casestudies .section1 .inner h2 {
    font-size: 2.6rem;
    line-height: 1.6;
    margin-bottom: 93px;
  }

  main.casestudies .section1 .inner .profilearea {
    padding: 100px 11% 102px;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  main.casestudies .section1 .inner .profilearea img {
    width: 35.56%;
    align-self: center;
    margin-right: 10.695%;
  }

  main.casestudies .section1 .inner .profilearea .txtarea {
    width: 53.745%;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  main.casestudies .section1 .inner .profilearea .txtarea .clientprofile p.ttl {
    font-size: 1.6rem;
    line-height: 2;
    width: 120px;
    white-space: nowrap;
  }

  main.casestudies .section1 .inner .profilearea .txtarea .clientprofile div.txt {
    margin-top: 6px;
  }

  main.casestudies .section1 .inner .profilearea .txtarea .clientprofile div.txt p {
    font-size: 1.6rem;
    line-height: 2;
  }

  main.casestudies .section1 .inner .profilearea .txtarea .clientprofile div.txt ul {
    font-size: 1.6rem;
    line-height: 2;
    padding-left: 17px;
  }

  main.casestudies .section1 .inner .profilearea .txtarea .clientprofile div.txt ul li {
    position: relative;
  }

  main.casestudies .section1 .inner .profilearea .txtarea .clientprofile div.txt ul li:before {
    position: absolute;
    content: '';
    top: 16px;
    left: -10px;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #777777;
  }

  main.casestudies .section1 .inner .profilearea .txtarea .warcmember p.ttl {
    font-size: 1.6rem;
    line-height: 2;
    width: 120px;
    white-space: nowrap;
  }

  main.casestudies .section1 .inner .profilearea .txtarea .warcmember dl {
    font-size: 1.6rem;
    line-height: 2;
    margin-top: 6px;
  }

  main.casestudies .section1 .inner .profilearea .txtarea .warcmember dl dd {
    margin-bottom: 32px;
  }

  main.casestudies .section1 .inner .profilearea .txtarea .warcmember dl dd span {
    margin-right: 10px;
  }

  main.casestudies .section1 .inner .profilearea .txtarea div.clientprofile {
    margin-bottom: 0;
  }

  main.casestudies .section1 .inner .profilearea .txtarea div.warcmember {
    margin-top: 37px;
  }

  main.casestudies .section1 .inner .blocklist {
    width: 77.9%;
    margin: 90px auto 0;
  }

  main.casestudies .section1 .inner .blocklist .block {
    margin-bottom: 48px;
    padding-bottom: 43px;
  }

  main.casestudies .section1 .inner .blocklist .block h3 {
    font-size: 2.6rem;
    margin-bottom: 24px;
  }

  main.casestudies .section1 .inner .blocklist .block p {
    font-size: 1.6rem;
    line-height: 2;
  }

  main.casestudies .section1 .inner .blocklist .block dl {
    font-size: 1.6rem;
    line-height: 2;
  }

  main.casestudies .section1 .inner .blocklist .block dl dd {
    margin-bottom: 32px;
  }

  main.casestudies .pagenation {
    width: 80%;
    margin: 96px auto 0;
    padding-bottom: 95px;
  }

  main.casestudies .pagenation:after {
    display: block;
    content: "";
    clear: both;
  }

  main.casestudies .pagenation .prev {
    float: left;
  }

  main.casestudies .pagenation .prev a {
    padding-left: 29px;
    font-size: 1.6rem;
  }

  main.casestudies .pagenation .prev a:hover {
    color: #0d6791;
  }

  main.casestudies .pagenation .prev a:hover span {
    text-decoration: underline;
  }

  main.casestudies .pagenation .prev a img {
    margin-right: 30px;
  }

  main.casestudies .pagenation .next {
    float: right;
  }

  main.casestudies .pagenation .next a {
    padding-right: 29px;
    font-size: 1.6rem;
  }

  main.casestudies .pagenation .next a:hover {
    color: #0d6791;
  }

  main.casestudies .pagenation .next a:hover span {
    text-decoration: underline;
  }

  main.casestudies .pagenation .next a img {
    margin-left: 30px;
  }

  main.casestudies .pagenation .viewall {
    top: 0%;
    /*親要素を起点に上から0%*/
    transform: translateY(0%) translateX(-50%);
    /*要素の大きさの半分ずつを戻す*/
    -webkit-transform: translateY(0%) translateX(-50%);
  }

  main.casestudies .pagenation .viewall a {
    font-size: 1.6rem;
  }

  main.casestudies .pagenation .viewall a:hover {
    color: #0d6791;
    text-decoration: underline;
  }
}

@media screen and (max-width: 1023px) {
  main.casestudies {
    position: relative;
    top: 80px;
    padding: 50px 0 179px;
  }

  main.casestudies .section1 {
    width: 89.333%;
    padding: 76px 0 41px;
  }

  main.casestudies .section1 .inner {
    width: 88%;
  }

  main.casestudies .section1 .inner h1 {
    font-size: 1.9rem;
    margin-bottom: 53px;
  }

  main.casestudies .section1 .inner h1 span {
    font-size: 1.2rem;
    margin-top: 18px;
  }

  main.casestudies .section1 .inner h2 {
    display: none;
  }

  main.casestudies .section1 .inner .profilearea {
    padding: 42px 10.16949% 48px;
    text-align: center;
  }

  main.casestudies .section1 .inner .profilearea img {
    width: 44.49%;
    margin: 0 auto 40px;
  }

  main.casestudies .section1 .inner .profilearea .txtarea {
    text-align: left;
  }

  main.casestudies .section1 .inner .profilearea .txtarea .clientprofile {
    margin-bottom: 19px;
  }

  main.casestudies .section1 .inner .profilearea .txtarea .clientprofile p.ttl {
    font-size: 1.1rem;
    margin-bottom: 3px;
  }

  main.casestudies .section1 .inner .profilearea .txtarea .clientprofile div.txt p {
    font-size: 1.2rem;
    line-height: 2.167;
  }

  main.casestudies .section1 .inner .profilearea .txtarea .clientprofile div.txt ul {
    font-size: 1.2rem;
    line-height: 2.167;
    padding-left: 13px;
  }

  main.casestudies .section1 .inner .profilearea .txtarea .clientprofile div.txt ul li {
    position: relative;
  }

  main.casestudies .section1 .inner .profilearea .txtarea .clientprofile div.txt ul li:before {
    position: absolute;
    content: '';
    top: 12px;
    left: -8px;
    width: 2px;
    height: 2px;
    border-radius: 50%;
    background: #777777;
  }

  main.casestudies .section1 .inner .profilearea .txtarea .warcmember p.ttl {
    font-size: 1.1rem;
    margin-bottom: 2px;
  }

  main.casestudies .section1 .inner .profilearea .txtarea .warcmember dl {
    font-size: 1.2rem;
    line-height: 2.167;
  }

  main.casestudies .section1 .inner .profilearea .txtarea .warcmember dl dd {
    margin-bottom: 17px;
  }

  main.casestudies .section1 .inner .profilearea .txtarea .warcmember dl dd span {
    margin-right: 10px;
  }

  main.casestudies .section1 .inner .blocklist {
    width: 100%;
    margin: 99px auto 0;
  }

  main.casestudies .section1 .inner .blocklist .block {
    margin-bottom: 47px;
    padding-bottom: 42px;
  }

  main.casestudies .section1 .inner .blocklist .block h3 {
    font-size: 2.1rem;
    margin-bottom: 13px;
  }

  main.casestudies .section1 .inner .blocklist .block p {
    font-size: 1.2rem;
    line-height: 2.167;
  }

  main.casestudies .section1 .inner .blocklist .block dl {
    font-size: 1.2rem;
    line-height: 2.167;
  }

  main.casestudies .section1 .inner .blocklist .block dl dd {
    margin-bottom: 28px;
  }

  main.casestudies .pagenation {
    width: 89.333%;
    margin: 51px auto 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  main.casestudies .pagenation .prev a {
    padding-left: 23px;
  }

  main.casestudies .pagenation .prev a img {
    margin-right: 30px;
  }

  main.casestudies .pagenation .next a {
    padding-right: 23px;
  }

  main.casestudies .pagenation .next a img {
    margin-left: 30px;
  }
}
/*
z-index

*/

main.whoweare img {
  width: 100%;
  height: auto;
}

main.whoweare .main_visual {
  background-color: #f5f5f5;
  width: 100%;
  overflow: hidden;
  position: relative;
}

main.whoweare .main_visual .inner {
  display: flex;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

main.whoweare .main_visual .inner .img {
  position: relative;
}

main.whoweare .main_visual .inner .img h1 {
  position: absolute;
  letter-spacing: -0.02em;
  color: #222222;
}

main.whoweare .main_visual .inner .txtarea p.txt {
  letter-spacing: 0.04em;
}

main.whoweare .section1,
main.whoweare .section2,
main.whoweare .section3 .inner,
main.whoweare .section4,
main.whoweare .section5 {
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main.whoweare .section1.show,
main.whoweare .section2.show,
main.whoweare .section3 .inner.show,
main.whoweare .section4.show,
main.whoweare .section5.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main.whoweare .section1 .inner p.ttl {
  color: #084b5e;
  font-weight: 400;
  position: relative;
  letter-spacing: 0.02em;
}

main.whoweare .section1 .inner p.ttl:before {
  display: block;
  content: "";
  height: 1px;
  background-color: #08435e;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -1px;
}

main.whoweare .section1 .inner .txtarea {
  position: relative;
}

main.whoweare .section1 .inner .txtarea dl.left dt {
  letter-spacing: 0.02em;
}

main.whoweare .section1 .inner .txtarea dl.left dd {
  letter-spacing: 0.04em;
}

main.whoweare .section1 .inner .txtarea dl.right dt {
  letter-spacing: 0.02em;
}

main.whoweare .section1 .inner .txtarea dl.right dd {
  letter-spacing: 0.04em;
}

main.whoweare .section1 .inner .txtarea img {
  z-index: -1;
}

main.whoweare .section2 {
  position: relative;
  background-color: #f5f5f5;
}

main.whoweare .section2 .inner .txtarea {
  background-color: #ffffff;
  box-sizing: border-box;
}

main.whoweare .section2 .inner .txtarea p.ttl {
  color: #084b5e;
  font-weight: 400;
  position: relative;
  letter-spacing: 0.02em;
}

main.whoweare .section2 .inner .txtarea p.ttl:before {
  display: block;
  content: "";
  height: 1px;
  background-color: #08435e;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -1px;
}

main.whoweare .section2 .inner .txtarea .blocklist .block dl dt {
  color: #222222;
  letter-spacing: 0.02em;
}

main.whoweare .section2 .inner .txtarea .blocklist .block dl dd {
  letter-spacing: 0.04em;
}

main.whoweare .section3 {
  background-color: #f5f5f5;
}

main.whoweare .section3 .inner p.ttl {
  color: #084b5e;
  font-weight: 400;
  position: relative;
  letter-spacing: 0.04em;
}

main.whoweare .section3 .inner p.ttl:before {
  display: block;
  content: "";
  height: 1px;
  background-color: #08435e;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -1px;
}

main.whoweare .section3 .inner h2 {
  margin: 0 auto;
}

main.whoweare .section3 .inner .logotxt {
  color: #777777;
  text-align: center;
  letter-spacing: 0.25em;
}

main.whoweare .section3 .inner .fontarea {
  display: flex;
  flex-wrap: wrap;
}

main.whoweare .section3 .inner .fontarea .subinner .sans-serif dl {
  color: #777777;
}

main.whoweare .section3 .inner .fontarea .subinner .sans-serif dl dt {
  letter-spacing: 0.04em;
}

main.whoweare .section3 .inner .fontarea .subinner .sans-serif dl dd {
  letter-spacing: 0.05em;
}

main.whoweare .section3 .inner .fontarea .subinner .serif dl {
  color: #777777;
}

main.whoweare .section3 .inner .fontarea .subinner .serif dl dt {
  letter-spacing: 0.04em;
}

main.whoweare .section3 .inner .fontarea .subinner .serif dl dd {
  letter-spacing: 0.04em;
}

main.whoweare .section3 .inner p.txt {
  letter-spacing: 0.04em;
}

main.whoweare .section4 .inner {
  position: relative;
}

main.whoweare .section4 .inner p.ttl {
  color: #084b5e;
  font-weight: 400;
  position: relative;
  letter-spacing: 0.02em;
  transform-origin: left;
}

main.whoweare .section4 .inner p.ttl:before {
  display: block;
  content: "";
  height: 1px;
  background-color: #08435e;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -1px;
}

main.whoweare .section4 .inner .block {
  position: relative;
}

main.whoweare .section4 .inner .block .right {
  position: relative;
}

main.whoweare .section4 .inner .block .right .img {
  position: absolute;
}

main.whoweare .section4 .inner .block .right p {
  position: relative;
  letter-spacing: 0.04em;
}

main.whoweare .section4 .inner .block .right p.credit {
  letter-spacing: 0.04em;
}

main.whoweare .section5 h2 {
  text-align: center;
  color: #08435e;
  font-weight: 400;
  letter-spacing: 0.02em;
}

main.whoweare .section5 h2 span {
  display: block;
  color: #777777;
}

main.whoweare .section5 .blocklist {
  margin: 0 auto;
}

main.whoweare .section5 .blocklist .block {
  border-bottom: 1px solid #cccccc;
}

main.whoweare .section5 .blocklist .block dl dt {
  letter-spacing: 0.04em;
}

main.whoweare .section5 .blocklist .block dl dd {
  letter-spacing: 0.04em;
}

main.whoweare .section5 .blocklist .block dl dd a {
  color: #08435e;
  letter-spacing: 0.2em;
  position: relative;
}

main.whoweare .section5 .blocklist .block dl dd a:before {
  content: "";
  display: block;
  width: 13px;
  height: 16px;
  position: absolute;
  left: 2px;
  top: 5px;
  background-image: url(/assets/img/whoweare/icon-map.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}

@media screen and (min-width: 1024px) {
  main.whoweare .main_visual .inner {
    margin-top: 176px;
    margin-bottom: 98px;
  }

  main.whoweare .main_visual .inner .img {
    width: 29.8125%;
    margin-top: 85px;
    margin-left: 7.4375%;
    margin-right: 12.6875%;
  }

  main.whoweare .main_visual .inner .img h1 {
    top: 44%;
    left: 36.478%;
    font-size: 2.0625vw;
    letter-spacing: 0.02em;
  }

  main.whoweare .main_visual .inner .txtarea p.txt {
    font-size: 1.6rem;
    line-height: 3.3125;
    margin-top: 85px;
  }

  main.whoweare .section1 {
    margin: 0;
    padding-top: 200px;
  }

  main.whoweare .section1 .inner {
    padding-left: 10%;
  }

  main.whoweare .section1 .inner p.ttl {
    margin: 0 0 42px 0;
    padding-left: 51px;
    font-size: 1.6rem;
  }

  main.whoweare .section1 .inner p.ttl:before {
    width: 40px;
  }

  main.whoweare .section1 .inner .txtarea {
    display: flex;
    flex-wrap: wrap;
  }

  main.whoweare .section1 .inner .txtarea dl {
    width: 44.236%;
  }

  main.whoweare .section1 .inner .txtarea dl dt {
    font-size: 2.6rem;
    line-height: 1.6;
    margin-bottom: 30px;
    letter-spacing: 0.02em;
  }

  main.whoweare .section1 .inner .txtarea dl dd {
    font-size: 1.6rem;
    line-height: 2;
    margin-left: 2px;
    letter-spacing: 0.02em;
  }

  main.whoweare .section1 .inner .txtarea img {
    position: absolute;
    width: 53.125%;
    top: -40px;
    right: 0;
  }

  main.whoweare .section2 {
    margin: 11.8125% 0 0;
    padding-bottom: 200px;
  }

  main.whoweare .section2 .inner .txtarea {
    position: absolute;
    top: 0;
    right: 0;
    width: 71.5625%;
    padding: 152px 156px 141px;
    padding: 9.5% 9.75% 8.8125%;
  }

  main.whoweare .section2 .inner .txtarea p.ttl {
    margin: 0 0 46px 0;
    padding-left: 51px;
    font-size: 1.6rem;
  }

  main.whoweare .section2 .inner .txtarea p.ttl:before {
    width: 40px;
  }

  main.whoweare .section2 .inner .txtarea .blocklist {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  main.whoweare .section2 .inner .txtarea .blocklist .block {
    width: 29.411%;
  }

  main.whoweare .section2 .inner .txtarea .blocklist .block dl dt {
    font-size: 3rem;
    margin-bottom: 22px;
  }

  main.whoweare .section2 .inner .txtarea .blocklist .block dl dd {
    font-size: 1.6rem;
    line-height: 2;
    margin-left: 1px;
  }

  main.whoweare .section2 .inner img {
    width: 63.25%;
  }

  main.whoweare .section3 {
    padding-bottom: 194px;
  }

  main.whoweare .section3 .inner {
    position: relative;
  }

  main.whoweare .section3 .inner p.ttl {
    margin: 0;
    padding-left: 49px;
    font-size: 1.6rem;
    transform-origin: left;
    transform: rotate(90deg);
    position: absolute;
    top: 131px;
    left: 9.9375%;
  }

  main.whoweare .section3 .inner p.ttl:before {
    width: 40px;
  }

  main.whoweare .section3 .inner h2 {
    width: 312px;
  }

  main.whoweare .section3 .inner .logotxt {
    font-size: 50px;
    line-height: 1.58;
    margin-top: 61px;
    margin-bottom: 108px;
    margin-left: 11px;
  }

  main.whoweare .section3 .inner .fontarea {
    width: 55.1875%;
    margin-left: 24.875%;
  }

  main.whoweare .section3 .inner .fontarea .subinner {
    display: flex;
    flex-wrap: wrap;
  }

  main.whoweare .section3 .inner .fontarea .subinner .sans-serif {
    width: 114px;
    margin-right: 76px;
  }

  main.whoweare .section3 .inner .fontarea .subinner .sans-serif dl {
    margin-top: 31px;
  }

  main.whoweare .section3 .inner .fontarea .subinner .sans-serif dl dt {
    font-size: 1.4rem;
    margin-bottom: 26px;
  }

  main.whoweare .section3 .inner .fontarea .subinner .sans-serif dl dd {
    font-size: 4rem;
  }

  main.whoweare .section3 .inner .fontarea .subinner .serif {
    width: 120px;
    margin-right: 89px;
  }

  main.whoweare .section3 .inner .fontarea .subinner .serif dl {
    margin-top: 31px;
  }

  main.whoweare .section3 .inner .fontarea .subinner .serif dl dt {
    font-size: 1.4rem;
    margin-bottom: 16px;
  }

  main.whoweare .section3 .inner .fontarea .subinner .serif dl dd {
    font-size: 4.5rem;
  }

  main.whoweare .section3 .inner .fontarea p.txt {
    width: calc(100% - 405px);
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: 0.04em;
  }

  main.whoweare .section4 .inner {
    width: 86.6875%;
    margin: 200px 0 0 13.3125%;
  }

  main.whoweare .section4 .inner p.ttl {
    margin: 0 0 48px 0;
    padding-left: 51px;
    font-size: 1.6rem;
    position: absolute;
    top: 0;
    left: 6px;
  }

  main.whoweare .section4 .inner p.ttl:before {
    width: 40px;
  }

  main.whoweare .section4 .inner .block {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    justify-content: space-between;
  }

  main.whoweare .section4 .inner .block .left {
    margin-top: 218px;
    width: 51.91%;
  }

  main.whoweare .section4 .inner .block .right {
    width: 40.447%;
  }

  main.whoweare .section4 .inner .block .right .img {
    width: 164px;
    height: auto;
    position: absolute;
    top: 46px;
    left: -111px;
    z-index: -1;
  }

  main.whoweare .section4 .inner .block .right p {
    margin-top: 113px;
    margin-left: -2px;
    font-size: 1.6rem;
    line-height: 2;
  }

  main.whoweare .section4 .inner .block .right p.credit {
    font-size: 1.6rem;
    line-height: 2;
    margin-top: 33px;
    text-align: right;
  }

  main.whoweare .section5 {
    padding-top: 193px;
    margin-bottom: 200px;
  }

  main.whoweare .section5 h2 {
    font-size: 3.8rem;
    margin-bottom: 108px;
  }

  main.whoweare .section5 h2 span {
    font-size: 1.6rem;
    line-height: 2;
    margin-top: 28px;
  }

  main.whoweare .section5 .blocklist {
    width: 73.375%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  main.whoweare .section5 .blocklist .block {
    padding: 30px 0;
  }

  main.whoweare .section5 .blocklist .block:last-child {
    padding: 30px 0 32px;
  }

  main.whoweare .section5 .blocklist .block dl {
    display: flex;
    flex-wrap: wrap;
  }

  main.whoweare .section5 .blocklist .block dl dt {
    font-size: 1.6rem;
    line-height: 2;
    width: 158px;
  }

  main.whoweare .section5 .blocklist .block dl dd {
    font-size: 1.6rem;
    line-height: 2;
    width: calc(100% - 158px);
  }

  main.whoweare .section5 .blocklist .block dl dd a {
    padding-left: 27px;
  }

  main.whoweare .section5 .blocklist .left {
    width: 47.785%;
  }

  main.whoweare .section5 .blocklist .right {
    width: 47.785%;
  }

  main.whoweare .section5 .blocklist .right dl dt {
    width: 214px;
  }

  main.whoweare .section5 .blocklist .right dl dd {
    width: calc(100% - 214px);
  }

  main.whoweare .section5 .blocklist .right dl dd a:hover {
    color: #0d6791;
    text-decoration: underline;
  }
}

@media screen and (min-width: 1024px) and (max-width: 1200px) {
  main.whoweare .section3 .inner .fontarea {
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  main.whoweare .section3 .inner .fontarea .subinner {
    width: 120px;
  }

  main.whoweare .section3 .inner .fontarea .subinner .sans-serif {
    width: 120px;
  }

  main.whoweare .section3 .inner .fontarea .subinner .sans-serif dl {
    margin: 0;
  }

  main.whoweare .section3 .inner .fontarea .subinner .serif {
    width: 120px;
  }

  main.whoweare .section3 .inner .fontarea p.txt {
    width: calc(100% - 196px);
  }
}

@media screen and (max-width: 1023px) {
  main.whoweare .main_visual .inner {
    margin-top: 82px;
    margin-bottom: 50px;
  }

  main.whoweare .main_visual .inner .img {
    width: 51.6%;
    padding-right: 48.4%;
    margin-left: -17px;
  }

  main.whoweare .main_visual .inner .img h1 {
    top: 37.4468%;
    left: 40.8%;
    font-size: 4.267vw;
    letter-spacing: 0.02em;
  }

  main.whoweare .main_visual .inner .txtarea {
    width: 84%;
    margin: 0 auto;
  }

  main.whoweare .main_visual .inner .txtarea p.txt {
    font-size: 1.3rem;
    line-height: 2.423;
    margin-top: 24px;
  }

  main.whoweare .main_visual .inner .txtarea p.txt br {
    display: none;
  }

  main.whoweare .section1 {
    margin: 100px 0 0;
  }

  main.whoweare .section1 .inner p.ttl {
    width: calc(84% - 39px);
    margin: 0 auto 19px;
    padding-left: 39px;
    font-size: 1.3rem;
  }

  main.whoweare .section1 .inner p.ttl:before {
    width: 30px;
  }

  main.whoweare .section1 .inner .txtarea dl {
    width: 84%;
    margin: 0 auto;
  }

  main.whoweare .section1 .inner .txtarea dl dt {
    font-size: 2.1rem;
    line-height: 1.42857;
    margin-bottom: 12px;
  }

  main.whoweare .section1 .inner .txtarea dl dd {
    font-size: 1.2rem;
    line-height: 2.167;
    margin-left: 2px;
  }

  main.whoweare .section1 .inner .txtarea img {
    position: relative;
    width: 79.6%;
    margin: 33px 0 35px 26.4%;
    z-index: -1;
  }

  main.whoweare .section2 {
    margin: 65px 0 0;
    padding-bottom: 98px;
    background-color: inherit;
  }

  main.whoweare .section2 .inner .txtarea {
    width: 84%;
    margin: 0 auto;
  }

  main.whoweare .section2 .inner .txtarea p.ttl {
    margin: 0 0 26px 0;
    padding-left: 39px;
    font-size: 1.3rem;
  }

  main.whoweare .section2 .inner .txtarea p.ttl:before {
    width: 30px;
  }

  main.whoweare .section2 .inner .txtarea .blocklist {
    padding-bottom: 33px;
  }

  main.whoweare .section2 .inner .txtarea .blocklist .block {
    margin-bottom: 33px;
  }

  main.whoweare .section2 .inner .txtarea .blocklist .block:last-child {
    margin-bottom: 0;
  }

  main.whoweare .section2 .inner .txtarea .blocklist .block dl dt {
    font-size: 2.1rem;
    margin-bottom: 5px;
  }

  main.whoweare .section2 .inner .txtarea .blocklist .block dl dd {
    font-size: 1.2rem;
    line-height: 2.167;
  }

  main.whoweare .section2 .inner img {
    width: 100%;
  }

  main.whoweare .section3 {
    padding-bottom: 92px;
    background-color: inherit;
  }

  main.whoweare .section3 .inner {
    width: 84%;
    margin: 0 auto;
  }

  main.whoweare .section3 .inner p.ttl {
    margin: 0 0 49px;
    padding-left: 39px;
    font-size: 1.3rem;
    transform-origin: left;
  }

  main.whoweare .section3 .inner p.ttl:before {
    width: 30px;
  }

  main.whoweare .section3 .inner h2 {
    width: 49.5238%;
  }

  main.whoweare .section3 .inner .logotxt {
    font-size: 2.25rem;
    line-height: 1.488;
    margin-top: 34px;
    margin-bottom: 52px;
    margin-left: 7px;
  }

  main.whoweare .section3 .inner .fontarea {
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  main.whoweare .section3 .inner .fontarea .subinner {
    width: 60px;
  }

  main.whoweare .section3 .inner .fontarea .subinner .sans-serif {
    width: 60px;
  }

  main.whoweare .section3 .inner .fontarea .subinner .sans-serif dl dt {
    font-size: 1.2rem;
    margin-bottom: 22px;
  }

  main.whoweare .section3 .inner .fontarea .subinner .sans-serif dl dd {
    font-size: 2rem;
  }

  main.whoweare .section3 .inner .fontarea .subinner .serif {
    width: 60px;
  }

  main.whoweare .section3 .inner .fontarea .subinner .serif dl {
    margin-top: 43px;
  }

  main.whoweare .section3 .inner .fontarea .subinner .serif dl dt {
    font-size: 1.2rem;
    margin-bottom: 19px;
  }

  main.whoweare .section3 .inner .fontarea .subinner .serif dl dd {
    font-size: 2.25rem;
  }

  main.whoweare .section3 .inner .fontarea p.txt {
    width: calc(100% - 80px);
    font-size: 1.2rem;
    line-height: 2.167;
    margin-top: -6px;
    text-align: justify;
    text-justify: inter-ideograph;
  }

  main.whoweare .section4 {
    background-color: inherit;
  }

  main.whoweare .section4 .inner {
    width: 84%;
    margin: 0 auto;
    padding: 0;
  }

  main.whoweare .section4 .inner p.ttl {
    margin: 0 0 26px 2px;
    padding-left: 39px;
    font-size: 1.3rem;
    letter-spacing: 0.04em;
    transform-origin: left;
  }

  main.whoweare .section4 .inner p.ttl:before {
    width: 30px;
  }

  main.whoweare .section4 .inner .block {
    position: relative;
    padding-bottom: 3px;
  }

  main.whoweare .section4 .inner .block .left {
    width: 100%;
    margin: 0 auto;
  }

  main.whoweare .section4 .inner .block .right {
    width: 100%;
  }

  main.whoweare .section4 .inner .block .right .img {
    width: 97px;
    height: auto;
    top: -8px;
    left: -50px;
  }

  main.whoweare .section4 .inner .block .right p {
    margin-top: 31px;
    font-size: 1.2rem;
    line-height: 2.17857;
  }

  main.whoweare .section4 .inner .block .right p.credit {
    font-size: 1.2rem;
    line-height: 2.17857;
    margin-top: 23px;
    letter-spacing: 0.04em;
    text-align: right;
  }

  main.whoweare .section5 {
    background-color: inherit;
    padding-top: 92px;
    padding-bottom: 98px;
  }

  main.whoweare .section5 h2 {
    font-size: 1.9rem;
    margin-bottom: 24px;
  }

  main.whoweare .section5 h2 span {
    font-size: 1.2rem;
    margin-top: 22px;
  }

  main.whoweare .section5 .blocklist {
    width: 84%;
  }

  main.whoweare .section5 .blocklist .block {
    padding: 25px 0 24px;
  }

  main.whoweare .section5 .blocklist .block dl dt {
    font-size: 1.2rem;
    line-height: 1;
    margin-bottom: 13px;
  }

  main.whoweare .section5 .blocklist .block dl dd {
    font-size: 1.2rem;
    line-height: 1;
  }

  main.whoweare .section5 .blocklist .block dl dd a {
    padding-left: 27px;
    text-decoration: underline;
  }

  main.whoweare .section5 .blocklist .block:last-child {
    padding-bottom: 17px;
  }

  main.whoweare .section5 .blocklist .block:last-child dl dt {
    margin-bottom: 5px;
  }

  main.whoweare .section5 .blocklist .block:last-child dl dd {
    line-height: 2.167;
  }
}
/*
z-index

*/

main.policy {
  background-color: #f5f5f5;
}

main.policy .section1 {
  background-color: #ffffff;
  margin: 0 auto;
}

main.policy .section1 h1 {
  text-align: center;
  font-weight: normal;
  color: #08435e;
  letter-spacing: 0.02em;
}

main.policy .section1 h1 span {
  color: #777777;
  display: block;
}

main.policy .section1 .inner {
  margin: 0 auto;
}

main.policy .section1 .inner p {
  letter-spacing: 0.04em;
}

main.policy .section1 .inner dl dt {
  letter-spacing: 0.04em;
}

main.policy .section1 .inner dl dd {
  letter-spacing: 0.04em;
}

main.policy .section1 .inner dl dd:last-child {
  margin-bottom: 0;
}

main.policy .section1 .inner dl dd span {
  display: block;
}

@media screen and (min-width: 1024px) {
  main.policy {
    margin-top: 141px;
    padding: 150px 0 200px;
  }

  main.policy .section1 {
    width: 80%;
    padding: 150px 0 196px;
  }

  main.policy .section1 h1 {
    font-size: 3.8rem;
    margin-bottom: 138px;
  }

  main.policy .section1 h1 span {
    margin-top: 29px;
    font-size: 1.6rem;
    line-height: 2;
  }

  main.policy .section1 .inner {
    width: 66.7%;
  }

  main.policy .section1 .inner p {
    font-size: 1.6rem;
    line-height: 2;
    margin-bottom: 90px;
  }

  main.policy .section1 .inner dl dt {
    font-size: 2.6rem;
    line-height: 1.6;
    margin-left: -2px;
    margin-bottom: 30px;
  }

  main.policy .section1 .inner dl dd {
    font-size: 1.6rem;
    line-height: 2;
    margin-bottom: 90px;
  }

  main.policy .section1 .inner dl dd ul {
    margin-top: 24px;
  }

  main.policy .section1 .inner dl dd span {
    margin-top: 23px;
    margin-bottom: 94px;
  }
}

@media screen and (max-width: 1023px) {
  main.policy {
    position: relative;
    top: 80px;
    padding: 50px 0 80px;
  }

  main.policy .section1 {
    width: 89.3%;
    padding: 75px 0 95px;
  }

  main.policy .section1 h1 {
    font-size: 1.9rem;
    margin-bottom: 70px;
  }

  main.policy .section1 h1 span {
    margin-top: 20px;
    font-size: 1.2rem;
  }

  main.policy .section1 .inner {
    width: 88.2%;
  }

  main.policy .section1 .inner p {
    font-size: 1.1rem;
    line-height: 1.8636;
    margin-bottom: 38px;
  }

  main.policy .section1 .inner dl dt {
    font-size: 1.5rem;
    line-height: 2;
    margin-left: -2px;
    margin-bottom: 11px;
  }

  main.policy .section1 .inner dl dd {
    font-size: 1.1rem;
    line-height: 1.8636;
    margin-bottom: 38px;
  }

  main.policy .section1 .inner dl dd ul {
    margin-top: 24px;
  }

  main.policy .section1 .inner dl dd span {
    margin-top: 21px;
    margin-bottom: 30px;
  }
}
/*
z-index

*/

main.error404 .main_visual h1 {
  color: #08435e;
  text-align: center;
}

main.error404 .main_visual h2 {
  color: #08435e;
  text-align: center;
}

main.error404 .main_visual .txt {
  text-align: center;
  line-height: 2;
}

main.error404 .main_visual .btn {
  text-align: center;
  line-height: 2;
}

main.error404 .main_visual .btn a {
  color: #08435e;
  border-bottom: 1px solid #08435e;
}

@media screen and (min-width: 1024px) {
  main.error404 .main_visual h1 {
    font-size: 25.4rem;
    margin-top: 265px;
  }

  main.error404 .main_visual h2 {
    font-size: 8.5rem;
    margin-top: -13px;
  }

  main.error404 .main_visual .txt {
    font-size: 1.6rem;
    line-height: 2;
    margin-top: 24px;
  }

  main.error404 .main_visual .btn {
    font-size: 1.6rem;
    line-height: 2;
    margin-top: 81px;
    margin-bottom: 196px;
  }

  main.error404 .main_visual .btn a {
    padding-bottom: 4px;
    border-bottom: none;
  }

  main.error404 .main_visual .btn a:hover {
    color: #0d6791;
    border-bottom: 1px solid #0d6791;
  }
}

@media screen and (max-width: 1023px) {
  main.error404 .main_visual h1 {
    font-size: 12.7rem;
    padding-top: 142px;
  }

  main.error404 .main_visual h2 {
    font-size: 4.25rem;
    margin-top: -1px;
  }

  main.error404 .main_visual .txt {
    font-size: 1.3rem;
    margin-top: 16px;
  }

  main.error404 .main_visual .btn {
    font-size: 1.3rem;
    margin-top: 35px;
    margin-bottom: 94px;
  }

  main.error404 .main_visual .btn a {
    padding-bottom: 2px;
  }
}