@charset "UTF-8";

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, 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, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {

  margin: 0;

  padding: 0;

  border: 0;

  font: inherit;

  font-size: 100%;

  vertical-align: baseline;

}



html {

  line-height: 1;

}



ol, ul {

  list-style: none;

}



table {

  border-collapse: collapse;

  border-spacing: 0;

}



caption, th, td {

  text-align: left;

  font-weight: normal;

  vertical-align: middle;

}



q, blockquote {

  quotes: none;

}



q:before, q:after, blockquote:before, blockquote:after {

  content: "";

  content: none;

}



a img {

  border: none;

}



article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {

  display: block;

}



.clearfix:after {

  content: ".";

  display: block;

  height: 0;

  font-size: 0;

  clear: both;

  visibility: hidden;

}





.sbr{

    display: none;

}



/*スマートフォンでは有効（改行する）*/

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

    .sbr{

        display: block;

    }

}





/**

 * - vars

 * - mixins

 * - @media

 */





/**

 * Media

 */



@-webkit-keyframes arrow-right {

  100% {

    right: -10px;

  }

}



@keyframes arrow-right {

  100% {

    right: -10px;

  }

}



@-webkit-keyframes arrow-left {

  100% {

    left: 10px;

  }

}



@keyframes arrow-left {

  100% {

    left: 10px;

  }

}



@-webkit-keyframes sec-anim {

  50% {

    opacity: 0;

    -webkit-transform: translateY(50px);

    transform: translateY(50px);

  }

  100% {

    opacity: 1;

    -webkit-transform: translateY(0);

    transform: translateY(0);

  }

}



@keyframes sec-anim {

  50% {

    opacity: 0;

    -webkit-transform: translateY(50px);

    transform: translateY(50px);

  }

  100% {

    opacity: 1;

    -webkit-transform: translateY(0);

    transform: translateY(0);

  }

}



@-webkit-keyframes fadein {

  0% {

    opacity: 0;

  }

  100% {

    opacity: 1;

  }

}



@keyframes fadein {

  0% {

    opacity: 0;

  }

  100% {

    opacity: 1;

  }

}



@-webkit-keyframes blockIn {

  0% {

    width: 0;

  }

  100% {

    width: 100%;

  }

}



@keyframes blockIn {

  0% {

    width: 0;

  }

  100% {

    width: 100%;

  }

}



@-webkit-keyframes blockOut {

  0% {

    -webkit-transform: translateX(0);

    transform: translateX(0);

  }

  100% {

    -webkit-transform: translateX(102%);

    transform: translateX(102%);

  }

}



@keyframes blockOut {

  0% {

    -webkit-transform: translateX(0);

    transform: translateX(0);

  }

  100% {

    -webkit-transform: translateX(102%);

    transform: translateX(102%);

  }

}



@-webkit-keyframes kv {

  0% {

    opacity: 0;

    -webkit-transform: translateX(100%);

    transform: translateX(100%);

  }

  100% {

    opacity: 1;

    -webkit-transform: translateX(0);

    transform: translateX(0);

  }

}



@keyframes kv {

  0% {

    opacity: 0;

    -webkit-transform: translateX(100%);

    transform: translateX(100%);

  }

  100% {

    opacity: 1;

    -webkit-transform: translateX(0);

    transform: translateX(0);

  }

}



@-webkit-keyframes right {

  0% {

    -webkit-transform: translateX(100%);

    transform: translateX(100%);

  }

  100% {

    -webkit-transform: translateX(0);

    transform: translateX(0);

  }

}



@keyframes right {

  0% {

    -webkit-transform: translateX(100%);

    transform: translateX(100%);

  }

  100% {

    -webkit-transform: translateX(0);

    transform: translateX(0);

  }

}



@-webkit-keyframes right2 {

  0% {

    -webkit-transform: translateX(50%);

    transform: translateX(50%);

  }

  100% {

    -webkit-transform: translateX(0);

    transform: translateX(0);

  }

}



@keyframes right2 {

  0% {

    -webkit-transform: translateX(50%);

    transform: translateX(50%);

  }

  100% {

    -webkit-transform: translateX(0);

    transform: translateX(0);

  }

}



@-webkit-keyframes left {

  0% {

    opacity: 0;

    -webkit-transform: translateX(-100%);

    transform: translateX(-100%);

  }

  100% {

    opacity: 1;

    -webkit-transform: translateX(0);

    transform: translateX(0);

  }

}



@keyframes left {

  0% {

    opacity: 0;

    -webkit-transform: translateX(-100%);

    transform: translateX(-100%);

  }

  100% {

    opacity: 1;

    -webkit-transform: translateX(0);

    transform: translateX(0);

  }

}



@-webkit-keyframes left2 {

  0% {

    opacity: 0;

    -webkit-transform: translateX(-50%);

    transform: translateX(-50%);

  }

  100% {

    opacity: 1;

    -webkit-transform: translateX(0);

    transform: translateX(0);

  }

}



@keyframes left2 {

  0% {

    opacity: 0;

    -webkit-transform: translateX(-50%);

    transform: translateX(-50%);

  }

  100% {

    opacity: 1;

    -webkit-transform: translateX(0);

    transform: translateX(0);

  }

}



@-webkit-keyframes kvblockIn {

  0% {

    height: 0;

  }

  100% {

    height: 100%;

  }

}



@keyframes kvblockIn {

  0% {

    height: 0;

  }

  100% {

    height: 100%;

  }

}



@-webkit-keyframes kvblockOut {

  0% {

    -webkit-transform: translateY(0);

    transform: translateY(0);

  }

  100% {

    -webkit-transform: translateY(102%);

    transform: translateY(102%);

  }

}



@keyframes kvblockOut {

  0% {

    -webkit-transform: translateY(0);

    transform: translateY(0);

  }

  100% {

    -webkit-transform: translateY(102%);

    transform: translateY(102%);

  }

}



@-webkit-keyframes height {

  0% {

    -webkit-transform: scaleY(0);

    transform: scaleY(0);

  }

  100% {

    -webkit-transform: scaleY(1);

    transform: scaleY(1);

  }

}



@keyframes height {

  0% {

    -webkit-transform: scaleY(0);

    transform: scaleY(0);

  }

  100% {

    -webkit-transform: scaleY(1);

    transform: scaleY(1);

  }

}



@-webkit-keyframes enttl-y {

  0% {

    -webkit-transform: translate(-50%, 100%);

    transform: translate(-50%, 100%);

  }

  100% {

    -webkit-transform: translate(-50%, 0%);

    transform: translate(-50%, 0%);

  }

}



@keyframes enttl-y {

  0% {

    -webkit-transform: translate(-50%, 100%);

    transform: translate(-50%, 100%);

  }

  100% {

    -webkit-transform: translate(-50%, 0%);

    transform: translate(-50%, 0%);

  }

}



@-webkit-keyframes enttl-x {

  0% {

    -webkit-transform: translate(-100%, -50%);

    transform: translate(-100%, -50%);

  }

  100% {

    -webkit-transform: translate(0%, -50%);

    transform: translate(0%, -50%);

  }

}



@keyframes enttl-x {

  0% {

    -webkit-transform: translate(-100%, -50%);

    transform: translate(-100%, -50%);

  }

  100% {

    -webkit-transform: translate(0%, -50%);

    transform: translate(0%, -50%);

  }

}



@-webkit-keyframes enttl-rx {

  0% {

    -webkit-transform: translate(100%, -50%);

    transform: translate(100%, -50%);

  }

  100% {

    -webkit-transform: translate(0%, -50%);

    transform: translate(0%, -50%);

  }

}



@keyframes enttl-rx {

  0% {

    -webkit-transform: translate(100%, -50%);

    transform: translate(100%, -50%);

  }

  100% {

    -webkit-transform: translate(0%, -50%);

    transform: translate(0%, -50%);

  }

}



@-webkit-keyframes story-odd {

  50% {

    opacity: 0;

    -webkit-transform: translateY(0);

    transform: translateY(0);

  }

  100% {

    opacity: 1;

    -webkit-transform: translateY(-60px);

    transform: translateY(-60px);

  }

}



@keyframes story-odd {

  50% {

    opacity: 0;

    -webkit-transform: translateY(0);

    transform: translateY(0);

  }

  100% {

    opacity: 1;

    -webkit-transform: translateY(-60px);

    transform: translateY(-60px);

  }

}



@-webkit-keyframes story-even {

  50% {

    opacity: 0;

    -webkit-transform: translateY(60px);

    transform: translateY(60px);

  }

  100% {

    opacity: 1;

    -webkit-transform: translateY(0);

    transform: translateY(0);

  }

}



@keyframes story-even {

  50% {

    opacity: 0;

    -webkit-transform: translateY(60px);

    transform: translateY(60px);

  }

  100% {

    opacity: 1;

    -webkit-transform: translateY(0);

    transform: translateY(0);

  }

}



@-webkit-keyframes sp-work-img {

  50% {

    opacity: 0;

    -webkit-transform: translateY(0);

    transform: translateY(0);

  }

  100% {

    opacity: 1;

    -webkit-transform: translateY(-13.99vw);

    transform: translateY(-13.99vw);

  }

}



@keyframes sp-work-img {

  50% {

    opacity: 0;

    -webkit-transform: translateY(0);

    transform: translateY(0);

  }

  100% {

    opacity: 1;

    -webkit-transform: translateY(-13.99vw);

    transform: translateY(-13.99vw);

  }

}



@-webkit-keyframes photo {

  50% {

    opacity: 0;

    -webkit-transform: translateY(0);

    transform: translateY(0);

  }

  100% {

    opacity: 1;

    -webkit-transform: translateY(-50%);

    transform: translateY(-50%);

  }

}



@keyframes photo {

  50% {

    opacity: 0;

    -webkit-transform: translateY(0);

    transform: translateY(0);

  }

  100% {

    opacity: 1;

    -webkit-transform: translateY(-50%);

    transform: translateY(-50%);

  }

}



@-webkit-keyframes scale-zoom {

  0% {

    -webkit-transform: scale(1);

    transform: scale(1);

  }

  100% {

    -webkit-transform: scale(1.1);

    transform: scale(1.1);

  }

}



@keyframes scale-zoom {

  0% {

    -webkit-transform: scale(1);

    transform: scale(1);

  }

  100% {

    -webkit-transform: scale(1.1);

    transform: scale(1.1);

  }

}



@-webkit-keyframes scroll-bar {

  0% {

    height: 0;

    bottom: inherit;

    top: 73px;

  }

  40% {

    height: 130px;

    bottom: inherit;

    top: 73px;

  }

  41% {

    height: 130px;

    bottom: 0;

    top: inherit;

  }

  80% {

    height: 0;

    bottom: 0;

    top: inherit;

  }

  100% {

    height: 0;

    bottom: 0;

    top: inherit;

  }

}



@keyframes scroll-bar {

  0% {

    height: 0;

    bottom: inherit;

    top: 73px;

  }

  40% {

    height: 130px;

    bottom: inherit;

    top: 73px;

  }

  41% {

    height: 130px;

    bottom: 0;

    top: inherit;

  }

  80% {

    height: 0;

    bottom: 0;

    top: inherit;

  }

  100% {

    height: 0;

    bottom: 0;

    top: inherit;

  }

}



@-webkit-keyframes loader {

  0% {

    stroke-dashoffset: 37.373;

  }

  100% {

    stroke-dashoffset: -37.373;

  }

}



@keyframes loader {

  0% {

    stroke-dashoffset: 37.373;

  }

  100% {

    stroke-dashoffset: -37.373;

  }

}



@-webkit-keyframes loading {

  from {

    -webkit-transform: none;

    transform: none;

  }

  to {

    -webkit-transform: rotate(360deg);

    transform: rotate(360deg);

  }

}



@keyframes loading {

  from {

    -webkit-transform: none;

    transform: none;

  }

  to {

    -webkit-transform: rotate(360deg);

    transform: rotate(360deg);

  }

}



@-webkit-keyframes load-stroke {

  0% {

    stroke-dasharray: 37.373 37.373;

  }

  100% {

    stroke-dasharray: 37.373 37.373;

  }

}



@keyframes load-stroke {

  0% {

    stroke-dasharray: 37.373 37.373;

  }

  100% {

    stroke-dasharray: 37.373 37.373;

  }

}



@-webkit-keyframes load-end {

  0% {

    stroke-dashoffset: -37.373;

    stroke-dasharray: 37.373 37.373;

  }

  100% {

    stroke-dashoffset: 0;

    stroke-dasharray: 100;

  }

}



@keyframes load-end {

  0% {

    stroke-dashoffset: -37.373;

    stroke-dasharray: 37.373 37.373;

  }

  100% {

    stroke-dashoffset: 0;

    stroke-dasharray: 100;

  }

}



@-webkit-keyframes line {

  0% {

    background-position: right bottom;

    background-size: 100% 1px;

  }

  50% {

    background-position: right bottom;

    background-size: 0 1px;

  }

  51% {

    background-position: left bottom;

    background-size: 0 1px;

  }

  100% {

    background-position: left bottom;

    background-size: 100% 1px;

  }

}



@keyframes line {

  0% {

    background-position: right bottom;

    background-size: 100% 1px;

  }

  50% {

    background-position: right bottom;

    background-size: 0 1px;

  }

  51% {

    background-position: left bottom;

    background-size: 0 1px;

  }

  100% {

    background-position: left bottom;

    background-size: 100% 1px;

  }

}



@-webkit-keyframes arrow {

  0% {

    opacity: 1;

    -webkit-transform: translateX(0);

    transform: translateX(0);

  }

  50% {

    opacity: 1;

    -webkit-transform: translateX(-450%);

    transform: translateX(-450%);

  }

  51% {

    opacity: 1;

    -webkit-transform: translateX(0);

    transform: translateX(0);

  }

  99% {

    -webkit-transform: translateX(-450%);

    transform: translateX(-450%);

    opacity: 1;

  }

  100% {

    opacity: 0;

  }

}



@keyframes arrow {

  0% {

    opacity: 1;

    -webkit-transform: translateX(0);

    transform: translateX(0);

  }

  50% {

    opacity: 1;

    -webkit-transform: translateX(-450%);

    transform: translateX(-450%);

  }

  51% {

    opacity: 1;

    -webkit-transform: translateX(0);

    transform: translateX(0);

  }

  99% {

    -webkit-transform: translateX(-450%);

    transform: translateX(-450%);

    opacity: 1;

  }

  100% {

    opacity: 0;

  }

}



@-webkit-keyframes circleBg {

  0% {

    -webkit-transform-origin: center;

    transform-origin: center;

    stroke-dasharray: 0 660;

  }

  100% {

    -webkit-transform-origin: center;

    transform-origin: center;

    stroke-dasharray: 660 660;

  }

}



@keyframes circleBg {

  0% {

    -webkit-transform-origin: center;

    transform-origin: center;

    stroke-dasharray: 0 660;

  }

  100% {

    -webkit-transform-origin: center;

    transform-origin: center;

    stroke-dasharray: 660 660;

  }

}



@-webkit-keyframes circleCont1 {

  0% {

    -webkit-transform-origin: center;

    transform-origin: center;

    stroke-dasharray: 0 660;

  }

  100% {

    -webkit-transform-origin: center;

    transform-origin: center;

    stroke-dasharray: 261 660;

  }

}



@keyframes circleCont1 {

  0% {

    -webkit-transform-origin: center;

    transform-origin: center;

    stroke-dasharray: 0 660;

  }

  100% {

    -webkit-transform-origin: center;

    transform-origin: center;

    stroke-dasharray: 261 660;

  }

}



@-webkit-keyframes circleCont2 {

  0% {

    -webkit-transform-origin: center;

    transform-origin: center;

    stroke-dasharray: 0 660;

  }

  100% {

    -webkit-transform-origin: center;

    transform-origin: center;

    stroke-dasharray: 187 660;

  }

}



@keyframes circleCont2 {

  0% {

    -webkit-transform-origin: center;

    transform-origin: center;

    stroke-dasharray: 0 660;

  }

  100% {

    -webkit-transform-origin: center;

    transform-origin: center;

    stroke-dasharray: 187 660;

  }

}



@-webkit-keyframes circleCont3 {

  0% {

    -webkit-transform-origin: center;

    transform-origin: center;

    stroke-dasharray: 0 660;

  }

  100% {

    -webkit-transform-origin: center;

    transform-origin: center;

    stroke-dasharray: 98 660;

  }

}



@keyframes circleCont3 {

  0% {

    -webkit-transform-origin: center;

    transform-origin: center;

    stroke-dasharray: 0 660;

  }

  100% {

    -webkit-transform-origin: center;

    transform-origin: center;

    stroke-dasharray: 98 660;

  }

}



@-webkit-keyframes barChart1 {

  0% {

    width: 0;

  }

  100% {

    width: 88.9%;

  }

}



@keyframes barChart1 {

  0% {

    width: 0;

  }

  100% {

    width: 88.9%;

  }

}



@-webkit-keyframes barChart2 {

  0% {

    width: 0;

  }

  100% {

    width: 48.1%;

  }

}



@keyframes barChart2 {

  0% {

    width: 0;

  }

  100% {

    width: 48.1%;

  }

}



@-webkit-keyframes barChart3 {

  0% {

    width: 0;

  }

  100% {

    width: 37.0%;

  }

}



@keyframes barChart3 {

  0% {

    width: 0;

  }

  100% {

    width: 37.0%;

  }

}



@-webkit-keyframes barChart4 {

  0% {

    width: 0;

  }

  100% {

    width: 25.9%;

  }

}



@keyframes barChart4 {

  0% {

    width: 0;

  }

  100% {

    width: 25.9%;

  }

}



@-webkit-keyframes barChart5 {

  0% {

    width: 0;

  }

  100% {

    width: 18.5%;

  }

}



@keyframes barChart5 {

  0% {

    width: 0;

  }

  100% {

    width: 18.5%;

  }

}



.icon {

  display: inline-block;

  width: 1em;

  height: 1em;

  stroke-width: 0;

  stroke: currentColor;

  fill: currentColor;

}





/* ==========================================

Single-colored icons can be modified like so:

.icon-name {

  font-size: 32px;

  color: red;

}

========================================== */



.icon_blank_pc {

  width: 1.25em;

}



.icon_blank_sp {

  width: 1.388671875em;

}



.icon_arrow {

  width: 1.6591796875em;

}



.icon_link_black {

  width: 2.154296875em;

}



.icon_link_white {

  width: 2.154296875em;

}



html {

  font-size: 100%;

  -ms-overflow-style: -ms-autohiding-scrollbar;

}



body {

  opacity: 0;

  font-size: 14px;

  line-height: 1.6;

  color: #1e1e1e;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 400;

}



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

  body {

    font-size: 11px;

  }

}



body.loaded {

  opacity: 1;

}



main {

  position: relative;

}



.sec--max {

  max-width: 1920px;

  margin: 0 auto;

}



.wrap {

  margin: 0 2.8vw;

}



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

  .wrap {

    margin: 0;

  }

}



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

  .pc-on {

    display: none !important;

  }

}



.sp-on {

  display: none !important;

}



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

  .sp-on {

    display: block !important;

  }

}





select {

  background-color: transparent;

  text-indent: .01px;

  text-overflow: "";

}



textarea {

  font-size: 100%;

}



em {

  font-style: normal;

}



strong {

  font-weight: bold;

}



img {

  max-width: 100%;

  height: auto;

  vertical-align: bottom;

}



img[src*="_sp."] {

  display: none;

}



.pan{

	width: 100%;

    margin: auto;

    max-width: 1320px;

    padding-top: 50px

}





.tit{

  font-family: 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;

  letter-spacing: 0.15em;

  font-size: 4rem;

  padding-bottom: 1.5em;

  padding-top: 1.5em;

  

}

.readA{

  font-family: 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;

  letter-spacing: 0.15em;

  font-size: 1.8rem;

  line-height: 1.8em;

}



.sTit{

  font-family: 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;

  letter-spacing: 0.15em;

  font-size: 2.8rem;

  padding-bottom: 1.5em;

  padding-left: 0.8em;

}







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

   .pan {

     width: 100%;

     margin: auto;

     padding-top: 50px;

     padding-left: 40px;

   }

  .tit{

   font-family: 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;

   letter-spacing: 0.15em;

   font-size: 2.6rem;

   padding-bottom: 1.5em;

  }


.readA{

  font-family: 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;

  letter-spacing: 0.15em;

  font-size: 1.8rem;

  line-height: 1.6em;

}



  img[src*="_pc."] {

    display: none;

  }

  img[src*="_sp."] {

    display: inline;

  }

}



#wrap_top {

  background: #fff;

  overflow: hidden;

  margin-top: 90px;

}



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

  #wrap_top {

    min-width: 100%;

    margin-top: 50px;

  }

}



#wrap_top.fixed::before {

  content: "";

  display: block;

  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  background-color: rgba(30, 30, 30, .5);

  z-index: 80;

}



a {

  text-decoration: none;

  color: #1e1e1e;

}



a:hover {

  text-decoration: none;

}



section .inner {

  padding: 60px 0 30px 0;

  margin: 0 auto;

}



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

  section .inner {

    width: 100%;

  }

}



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

  section .inner {

    width: 100%;

    padding: 29px 0 24px 0;

  }

}



.sec-anim {

  opacity: 0;

}



.sec-anim.view {

  -webkit-animation: sec-anim 1s 0s ease forwards;

  animation: sec-anim 1s 0s ease forwards;

}



.sec-anim--2.view {

  -webkit-animation: sec-anim 1s 0.25s ease forwards;

  animation: sec-anim 1s 0.25s ease forwards;

}



.sec-anim--3.view {

  -webkit-animation: sec-anim 1s 0.5s ease forwards;

  animation: sec-anim 1s 0.5s ease forwards;

}



html {

  font-size: 62.5%;

}



*, *::before, *::after {

  -webkit-box-sizing: border-box;

  box-sizing: border-box;

}



.clearfix::after {

  clear: both;

  content: "";

  display: block;

}



img {

  max-width: 100%;

}



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

  br.sp_only {

    display: none;

  }

}



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

  br.pc_only {

    display: none;

  }

}



.contents-width {

  margin: 0 auto;

  max-width: 1200px;

}



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

  .contents-width {

    margin: 0 auto;

    padding: 0 4%;

  }

}



.appear, .appears {

  position: relative;

  z-index: 1;

}



.headerWrapper {

    padding-left: 100px;

    height: 80px;

    display: flex;

    justify-content: space-between;

    align-items: center;

}

.headerMenu {

    height: 100%;

}

.headerMenuNavArea {

    display: inline-flex;

    align-items: center;

    height: 100%;

    padding-right: 30px;

}

.headerMenuNavLink {

    padding-right: 5px;

    padding-left: 25px;

    height: 100%;

    display: inline-block;

    font-size: 14px;

}



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

	.headerMenuNav {

	    width: 100%;

	    text-align: center;

	    border-bottom: 1px solid #d5d5d5;

	}

	.headerMenuNavLink {

	    padding-right: 0;

	    padding-left: 0;

	    height: 40px;

	    width: 100%;

	    display: flex;

	    justify-content: center;

	    align-items: center;

	    line-height: 1;

	}

}



.header {

  position: fixed;

  top: 0;

  left: 0;

  width: 100%;

  background-color: #fff;

  height: 90px;

  padding: 0;

  z-index: 100;

}



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

  .header {

    height: 50px;

  }

}



.header__logo {

  position: absolute;

  left: 0;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

}



.header__logo a {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

}



.header__logo div {

  height: 60px;

  padding: 0 30px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  border-right: 1px solid #f5f5f5;

}



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

  .header__logo div {

    height: 50px;

    padding: 0 15px;

    border-right: none;

  }

}



.header__logo div:last-child {

  border: none;

}



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

  .header__logo div:last-child {

    padding-left: 0;

  }

}



.header__logo img {

  display: block;

}



.header__logo .logo {

  /*width: 136px;*/

}



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

  .header__logo .logo {

    /*width: 80px;*/

  }

}



.header__logo .text {

  width: 210px;

}



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

  .header__logo .text {

    width: 120px;

  }

}



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

  .header__logo .text {

    width: 100px;

  }

}



.header__inner {

  position: absolute;

  right: 10px;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

}



.header__links {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

}

.flex{

	display: flex;

	justify-content: center;

}



.read{

    margin-bottom: 40px;

    font-size: 16px;

    line-height: 2;

    letter-spacing: 0.04em;

    text-align: justify;

}

.readD{

    margin-bottom: 40px;

    font-size: 16px;

    line-height: 2;

    letter-spacing: 0.04em;

    /*text-align: center;*/

    background-color: #f9f9f9;

    width: 70%;

    padding: 50px;

}

.read2{

    margin-bottom: 40px;

    font-size: 1.8rem;

    line-height: 2;

    letter-spacing: 0.04em;

    text-align: justify;

}

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

  .header__links {

    display: none;

  }

}

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

	.read {
	    margin-bottom: 40px;
	    font-size: 16px;
	    line-height: 2;
	    letter-spacing: 0.04em;
	    text-align: justify;
	    width:100%;
	}

	.header__inner {

	  position: absolute;

	  right: 0px;

	  top: 50%;

	  -webkit-transform: translateY(-50%);

	  transform: translateY(-50%);

	  display: -webkit-box;

	  display: -ms-flexbox;

	  display: flex;

	}

	.readD{

	    margin-bottom: 40px;

	    font-size: 16px;

	    line-height: 2;

	    letter-spacing: 0.04em;

	    /*text-align: center;*/

	    background-color: #f9f9f9;

	    width: 100%;

	    padding: 5px;

	}

}





.header__links a {

  display: block;

  width: 140px;

  height: 60px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  color: #1e1e1e;

  background-color: #f5f5f5;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 18px;

  letter-spacing: 0.05em;

  -webkit-transition: all .3s;

  transition: all .3s;

}



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

  .header__links a:hover {

    background-color: #e7e7e7;

  }

}



.header__links div:nth-child(2) a {

  color: #fff;

  background-color: #72c9f3;

}



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

  .header__links div:nth-child(2) a:hover {

    background-color: #7ed0f7;

  }

}



.header__search {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  width: 80px;

  height: 60px;

  border-right: 1px solid #f5f5f5;

}



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

  .header__search:hover .icon {

    color: #3c3c3c;

  }

  .header__search:hover .circle {

    stroke: #3c3c3c;

    -webkit-animation: loader 0.5s forwards cubic-bezier(0.4, 0, 0.3, 1), load-stroke 0.5s forwards, load-end 0s 0.5s forwards;

    animation: loader 0.5s forwards cubic-bezier(0.4, 0, 0.3, 1), load-stroke 0.5s forwards, load-end 0s 0.5s forwards;

  }

  .header__search:hover .rect {

    fill: #3c3c3c;

  }

}



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

  .header__search {

    width: 50px;

    height: 50px;

    border-right: none;

    border-left: 1px solid #f5f5f5;

  }

}



.header__search .icon {

  position: relative;

  width: 20px;

  height: 20px;

}



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

  .header__search .icon {

    width: 16px;

    height: 16px;

  }

}



.header__search .circle {

  position: absolute;

  top: 0;

  left: 0;

  fill: none;

  stroke: #1e1e1e;

  stroke-width: 1.8;

  -webkit-transition: stroke .3s;

  transition: stroke .3s;

}



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

  .header__search .circle {

    width: 13px;

    height: 13px;

  }

}



.header__search .rect {

  position: absolute;

  top: 0;

  left: 0;

  fill: #1e1e1e;

  -webkit-transition: fill .3s;

  transition: fill .3s;

}



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

  .header__search .rect {

    width: 16px;

    height: 16px;

  }

}



.header__menu {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  width: 80px;

  height: 60px;

}



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

  .header__menu:hover {

    cursor: pointer;

  }

  .header__menu:hover .header__menu__inner span {

    background: #3c3c3c;

  }

  .header__menu:hover .header__menu__inner span:last-child {

    width: 24px;

  }

}



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

  .header__menu {

    width: 100px;

    height: 50px;

    background-color: #72c9f3;

  }

}



.header__menu__inner {

  width: 24px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

  -webkit-box-pack: end;

  -ms-flex-pack: end;

  justify-content: flex-end;

}



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

  .header__menu__inner {

    width: 18px;

  }

}



.header__menu__inner span {

  display: block;

  width: 24px;

  height: 2px;

  margin: 2.5px 0;

  background: #1e272f;

  -webkit-transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);

  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);

}



.header__menu__inner span:nth-child(1) {

  opacity: 0;

  -webkit-animation: fadein .4s forwards;

  animation: fadein .4s forwards;

}



.header__menu__inner span:nth-child(2) {

  opacity: 0;

  -webkit-animation: fadein .4s forwards;

  animation: fadein .4s forwards;

}



.header__menu__inner span:last-child {

  width: 15px;

}



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

  .header__menu__inner span {

    width: 18px;

    height: 1.5px;

    margin: 1.75px 0;

    background-color: #fff;

  }

  .header__menu__inner span:last-child {

    width: 12.5px;

  }

}



.header__menu.add_plus {

  -webkit-transition: all .4s;

  transition: all .4s;

}



.header__menu.add_plus .header__menu__inner {

  display: block;

  width: 24px;

  height: 24px;

  -webkit-transform-origin: center;

  transform-origin: center;

}



.header__menu.add_plus .header__menu__inner span {

  width: 100%;

  height: 1.5px;

  margin: 0;

  background-color: #1e272f;

  -webkit-transform: rotate(-45deg) translate(-11.5px, 15.5px);

  transform: rotate(-45deg) translate(-11.5px, 15.5px);

  -webkit-transform-origin: 0 0;

  transform-origin: 0 0;

}



.header__menu.add_plus .header__menu__inner span:first-child {

  -webkit-transform: rotate(45deg) translate(5.5px, 0px);

  transform: rotate(45deg) translate(5.5px, 0px);

  -webkit-transform-origin: 0 0;

  transform-origin: 0 0;

}



.header__menu.add_plus .header__menu__inner span:last-child {

  opacity: 0;

}



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

  .header__menu.add_plus {

    background-color: #f5f5f5;

  }

  .header__menu.add_plus .header__menu__inner {

    display: block;

    width: 18px;

    height: 18px;

    -webkit-transform-origin: center;

    transform-origin: center;

  }

  .header__menu.add_plus .header__menu__inner span {

    width: 100%;

    height: 1.5px;

    margin: 0;

    background-color: #1e272f;

    -webkit-transform: rotate(-45deg) translate(-8px, 11px);

    transform: rotate(-45deg) translate(-8px, 11px);

    -webkit-transform-origin: 0 0;

    transform-origin: 0 0;

  }

  .header__menu.add_plus .header__menu__inner span:first-child {

    -webkit-transform: rotate(45deg) translate(4px, 0px);

    transform: rotate(45deg) translate(4px, 0px);

    -webkit-transform-origin: 0 0;

    transform-origin: 0 0;

  }

  .header__menu.add_plus .header__menu__inner span:last-child {

    opacity: 0;

  }

}



.header__navi {

  position: absolute;

  top: 90px;

  left: 0;

  width: 100%;

  background-color: #fff;

  z-index: 90;

  pointer-events: none;

  border-top: solid 1px #f5f5f5;

  height: calc(100vh - 90px);

  -webkit-transform: scale3d(0.95, 0.95, 1);

  transform: scale3d(0.95, 0.95, 1);

  opacity: 0;

  -webkit-transition: all .5s;

  transition: all .5s;

  overflow-y: scroll;

}



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

  .header__navi {

    top: 50px;

    border-top: none;

    height: calc(100vh - 50px);

  }

}



.header__navi.active {

  pointer-events: all;

  opacity: 1;

  -webkit-transform: scale3d(1, 1, 1);

  transform: scale3d(1, 1, 1);

}



.header__navi.active .navi .links {

  opacity: 1;

  -webkit-transform: translate3d(0, 0, 0);

  transform: translate3d(0, 0, 0);

}



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

  .header__navi .header__links {

    display: none;

  }

}



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

  .header__navi .header__links {

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-align: center;

    -ms-flex-align: center;

    align-items: center;

    -webkit-box-pack: center;

    -ms-flex-pack: center;

    justify-content: center;

    padding: 15px 4vw;

    background-color: #f5f5f5;

  }

  .header__navi .header__links>div {

    width: 50%;

  }

  .header__navi .header__links>div:first-child a {

    background-color: #fff;

  }

  .header__navi .header__links a {

    width: 100%;

    height: 50px;

    font-size: 16px;

  }

}



.header__navi .navi.inner {

  max-width: 1920px;

  margin: 0 auto;

  padding: 175px 0;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  counter-reset: navnum 0;

}



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

  .header__navi .navi.inner {

    padding: 20px 0;

  }

}



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

  .header__navi .navi.inner {

    display: block;

    padding: 30px 0;

  }

}



.header__navi .navi .links {

  width: 33.33%;

  padding: 0 4.1vw;

  border-right: solid 1px #f5f5f5;

  opacity: 0;

  -webkit-transform: translate3d(20%, 0, 0);

  transform: translate3d(20%, 0, 0);

  -webkit-transition: opacity 0.4s cubic-bezier(0.63, 0.32, 0.35, 0.63), -webkit-transform 0.4s cubic-bezier(0.63, 0.32, 0.35, 0.63);

  transition: opacity 0.4s cubic-bezier(0.63, 0.32, 0.35, 0.63), -webkit-transform 0.4s cubic-bezier(0.63, 0.32, 0.35, 0.63);

  transition: transform 0.4s cubic-bezier(0.63, 0.32, 0.35, 0.63), opacity 0.4s cubic-bezier(0.63, 0.32, 0.35, 0.63);

  transition: transform 0.4s cubic-bezier(0.63, 0.32, 0.35, 0.63), opacity 0.4s cubic-bezier(0.63, 0.32, 0.35, 0.63), -webkit-transform 0.4s cubic-bezier(0.63, 0.32, 0.35, 0.63);

  -webkit-transition-delay: 0.4s;

  transition-delay: 0.4s;

}



.header__navi .navi .links:nth-child(2) {

  -webkit-transition-delay: 0.5s;

  transition-delay: 0.5s;

}



.header__navi .navi .links:nth-child(3) {

  -webkit-transition-delay: 0.6s;

  transition-delay: 0.6s;

}



.header__navi .navi .links:last-child {

  border-right: none;

}



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

  .header__navi .navi .links {

    width: 100%;

    padding: 0 8vw;

    margin-bottom: 30px;

    border-right: none;

  }

  .header__navi .navi .links:last-child {

    margin-bottom: 0;

  }

}



.header__navi .navi .links:nth-child(1) .links__ttl {

  background-color: #72c9f3;

  background-image: url(../img/common/header_nav01.png);

}



.header__navi .navi .links:nth-child(1) .links__ttl__inner::before {

  counter-increment: navnum 1;

  content: counter(navnum, decimal-leading-zero);

  line-height: 1;

  font-size: 24px;

  font-family: 'Libre Caslon Display', serif;

  padding: 5px;

  border-top: solid 1px #1e1e1e;

  border-bottom: solid 1px #1e1e1e;

}



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

  .header__navi .navi .links:nth-child(1) .links__ttl__inner::before {

    padding: 2px 0;

    font-size: 15px;

  }

}



.header__navi .navi .links:nth-child(2) .links__ttl {

  background-color: #bdb07b;

  background-image: url(../img/common/header_nav02.png);

}



.header__navi .navi .links:nth-child(2) .links__ttl__inner::before {

  counter-increment: navnum 1;

  content: counter(navnum, decimal-leading-zero);

  line-height: 1;

  font-size: 24px;

  font-family: 'Libre Caslon Display', serif;

  padding: 5px;

  border-top: solid 1px #1e1e1e;

  border-bottom: solid 1px #1e1e1e;

}



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

  .header__navi .navi .links:nth-child(2) .links__ttl__inner::before {

    padding: 2px 0;

    font-size: 15px;

  }

}



.header__navi .navi .links:nth-child(3) .links__ttl {

  background-color: #6aa0db;

  background-image: url(../img/common/header_nav03.png);

}



.header__navi .navi .links:nth-child(3) .links__ttl__inner::before {

  counter-increment: navnum 1;

  content: counter(navnum, decimal-leading-zero);

  line-height: 1;

  font-size: 24px;

  font-family: 'Libre Caslon Display', serif;

  padding: 5px;

  border-top: solid 1px #1e1e1e;

  border-bottom: solid 1px #1e1e1e;

}



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

  .header__navi .navi .links:nth-child(3) .links__ttl__inner::before {

    padding: 2px 0;

    font-size: 15px;

  }

}



.header__navi .navi .links:nth-child(1) .links__ttl__inner img {

  width: 237px;

  height: 26px;

}



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

  .header__navi .navi .links:nth-child(1) .links__ttl__inner img {

    width: 194.34px;

    height: 20px;

  }

}



.header__navi .navi .links:nth-child(2) .links__ttl__inner img {

  width: 198px;

  height: 26px;

}



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

  .header__navi .navi .links:nth-child(2) .links__ttl__inner img {

    width: 162.36px;

    height: 20px;

  }

}



.header__navi .navi .links:nth-child(3) .links__ttl__inner img {

  width: 235px;

  height: 26px;

}



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

  .header__navi .navi .links:nth-child(3) .links__ttl__inner img {

    width: 192.7px;

    height: 20px;

  }

}



.header__navi .navi .links__ttl {

  position: relative;

  margin-bottom: 50px;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 500;

  font-size: 42px;

  letter-spacing: 0.02em;

  height: 240px;

  background-repeat: no-repeat;

  background-size: cover;

  background-position: center;

}



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

  .header__navi .navi .links__ttl {

    margin-bottom: 30px;

    font-size: 32px;

  }

}



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

  .header__navi .navi .links__ttl span {

    display: none;

  }

}



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

  .header__navi .navi .links__ttl {

    margin-bottom: 0;

    font-size: 32px;

    height: 140px;

  }

  .header__navi .navi .links__ttl span {

    position: absolute;

    right: 0;

    bottom: 0;

    display: block;

    width: 40px;

    height: 40px;

    background-color: #fff;

  }

  .header__navi .navi .links__ttl span::before {

    content: "";

    position: absolute;

    right: 9px;

    bottom: 0;

    display: block;

    width: 1px;

    height: 18px;

    background-color: #1e1e1e;

  }

  .header__navi .navi .links__ttl span::after {

    content: "";

    position: absolute;

    right: 0;

    bottom: 9px;

    display: block;

    width: 18px;

    height: 1px;

    background-color: #1e1e1e;

  }

  .header__navi .navi .links__ttl.add_plus span::before {

    display: none;

  }

}



.header__navi .navi .links__ttl__inner {

  position: absolute;

  left: 0;

  top: 0;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  width: 100%;

  height: 100%;

  line-height: 1;

}



.header__navi .navi .links__ttl__inner div {

  margin: 22px 0 18px;

}



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

  .header__navi .navi .links__ttl__inner div {

    margin: 5px 0 7px;

  }

}



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

  .header__navi .navi .links__list {

    /*display: none;*/

    padding-bottom: 5px;

    margin-top: 35px;

  }

}



.header__navi .navi .links__list li {

  margin-bottom: 15px;

}



.header__navi .navi .links__list li.block {

  margin: 50px 0;

  padding-left: 0;

}



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

  .header__navi .navi .links__list li.block {

    margin: 30px 0;

  }

}



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

  .header__navi .navi .links__list li.block {

    margin: 30px 0 20px;

  }

}



.header__navi .navi .links__list li.block::before {

  display: none;

}



.header__navi .navi .links__list li.block dt {

  margin-bottom: 25px;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 22px;

  letter-spacing: 0.05em;

}



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

  .header__navi .navi .links__list li.block dt {

    margin-bottom: 10px;

  }

}



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

  .header__navi .navi .links__list li.block dt {

    margin-bottom: 18px;

    font-size: 21px;

  }

}



.header__navi .navi .links__list li.block .num {

  counter-reset: footerblock 0;

}



.header__navi .navi .links__list li.block .num li a span::before {

  font-size: 14px;

  counter-increment: footerblock 1;

  content: counter(footerblock, decimal-leading-zero) ". ";

}



.header__navi .navi .links__list a {

  display: block;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  font-size: 14px;

  letter-spacing: 0.1em;

  position: relative;

  padding-left: 30px;

  -webkit-transition: color .3s;

  transition: color .3s;

}



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

  .header__navi .navi .links__list a {

    padding-left: 34px;

  }

}



.header__navi .navi .links__list a::before {

  content: "";

  display: block;

  width: 10px;

  height: 1px;

  position: absolute;

  left: 0;

  top: 12px;

  background: url(../img/common/underline_black.png) no-repeat left bottom;

  background-size: 100% 1px;

}



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

  .header__navi .navi .links__list a::before {

    width: 15px;

    top: 11px;

  }

}



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

  .header__navi .navi .links__list a:hover {

    color: #a0a0a0;

  }

  .header__navi .navi .links__list a:hover::before {

    -webkit-animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

    animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

  }

}



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

  .header__navi .navi .links__list a {

    font-size: 16px;

  }

}



.header__navi .recruit {

  height: 140px;

  background-color: #f5f5f5;

}



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

  .header__navi .recruit {

    height: auto;

  }

}



.header__navi .recruit .links {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  max-width: 1920px;

  margin: 0 auto;

  padding: 40px 0;

}



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

  .header__navi .recruit .links {

    display: block;

    padding: 30px 8vw;

  }

}



.header__navi .recruit .links__ttl {

  margin-right: 45px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 16px;

  letter-spacing: 0.1em;

}



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

  .header__navi .recruit .links__ttl {

    font-size: 12px;

  }

}



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

  .header__navi .recruit .links__ttl {

    margin: 0 0 25px;

    text-align: center;

    font-size: 17px;

  }

}



.header__navi .recruit .links__list ul {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

}



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

  .header__navi .recruit .links__list ul {

    display: block;

  }

}



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

  .header__navi .recruit .links__list ul li {

    position: relative;

    width: 100%;

  }

  .header__navi .recruit .links__list ul li::after {

    position: absolute;

    left: 50%;

    bottom: 0;

    -webkit-transform: translateX(-50%);

    transform: translateX(-50%);

    width: 87%;

    height: 1px;

    background-color: #f5f5f5;

    content: "";

  }

  .header__navi .recruit .links__list ul li:last-child::after {

    display: none;

  }

}



.header__navi .recruit .links__list ul li a {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  width: 190px;

  height: 60px;

  background-color: #fff;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  font-size: 14px;

  margin-right: 1px;

  -webkit-transition: all .3s;

  transition: all .3s;

}



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

  .header__navi .recruit .links__list ul li a {

    width: 100%;

    font-size: 13px;

  }

}



.header__navi .recruit .links__list ul li a[target="_blank"]::after {

  content: "";

  display: block;

  width: 10px;

  height: 1em;

  margin-left: 8px;

  background-image: url(../img/common/icon_blank_pc.svg);

  background-repeat: no-repeat;

  background-size: contain;

  background-position: bottom;

}



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

  .header__navi .recruit .links__list ul li a[target="_blank"]::after {

    width: 12.5px;

    height: 9px;

    background-image: url(../img/common/icon_blank_sp.svg);

  }

}



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

  .header__navi .recruit .links__list ul li a:hover {

    color: #a0a0a0;

  }

}



.header__navi .recruit .links__list ul li:last-child a {

  margin-right: 0;

}



.fixed {

  position: fixed;

  top: 0;

  left: 0;

  width: 100%;

}



.footer {

  padding-top: 72px;

  background-color: #f5f5f5;

}



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

  .footer {

    padding-top: 42px;

  }

}



.footer .inner {

  max-width: 76.47%;

  min-width: 960px;

  margin: 0 auto;

  padding: 0 40px;

}



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

  .footer .inner {

    max-width: inherit;

    min-width: inherit;

    padding: 0 3vw;

  }

}



.footer__recruit {

  /*background-color: #f5f5f5;*/

}



.footer__recruit .btn {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  height: 152px;

  margin-bottom: 8px;

  background-color: #72c9f3;

  color: #fff;

  font-size: 36px;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  letter-spacing: 0.05em;

  -webkit-transform: translateY(-72px);

  transform: translateY(-72px);

  -webkit-transition: all .3s;

  transition: all .3s;

}



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

  .footer__recruit .btn:hover {

    background-color: #7ed0f7;

  }

  .footer__recruit .btn:hover::before {

    height: 60px;

    top: -60px;

  }

}



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

  .footer__recruit .btn {

    font-size: 26px;

    height: 86px;

    margin-bottom: 0;

    -webkit-transform: translateY(-42px);

    transform: translateY(-42px);

  }

}



.footer__recruit .btn::before {

  content: "";

  width: 1px;

  height: 40px;

  background-color: #72c9f3;

  position: absolute;

  top: -40px;

  left: 50%;

  -webkit-transform: translateX(-50%);

  transform: translateX(-50%);

  -webkit-transition: all .3s;

  transition: all .3s;

}



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

  .footer__recruit .btn::before {

    height: 20px;

    top: -20px;

  }

}



.footer__recruit .btn::after {

  content: "";

  width: 1px;

  height: 24px;

  background-color: #fff;

  position: absolute;

  top: 0;

  left: 50%;

  -webkit-transform: translateX(-50%);

  transform: translateX(-50%);

}



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

  .footer__recruit .btn::after {

    height: 12px;

  }

}



.footer__recruit .links__ttl {

  font-family: 'Noto Serif JP', serif;

  font-weight: 400;

  font-size: 22px;

  letter-spacing: 0.1em;

  text-align: center;

  margin-bottom: 40px;

}



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

  .footer__recruit .links__ttl {

    font-size: 17px;

    margin-bottom: 28px;

  }

}



.footer__recruit .links__list ul {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  padding-bottom: 40px;

}



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

  .footer__recruit .links__list ul {

    display: block;

    padding-bottom: 30px;

  }

}



.footer__recruit .links__list ul li {

  width: calc(25% - 0.75px);

  background-color: #fff;

}



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

  .footer__recruit .links__list ul li {

    width: 100%;

    position: relative;

  }

  .footer__recruit .links__list ul li::after {

    position: absolute;

    left: 50%;

    bottom: 0;

    -webkit-transform: translateX(-50%);

    transform: translateX(-50%);

    width: 87%;

    height: 1px;

    background-color: #f5f5f5;

    content: "";

  }

  .footer__recruit .links__list ul li:last-child::after {

    display: none;

  }

}



.footer__recruit .links__list ul li a {

  width: 100%;

  height: 90px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  font-size: 16px;

  color: #1e1e1e;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  -webkit-transition: all .3s;

  transition: all .3s;

}



.footer__recruit .links__list ul li a[target="_blank"]::after {

  content: "";

  display: block;

  width: 10px;

  height: 1em;

  margin-left: 8px;

  background-image: url(../img/common/icon_blank_pc.svg);

  background-repeat: no-repeat;

  background-size: contain;

  background-position: bottom;

}



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

  .footer__recruit .links__list ul li a[target="_blank"]::after {

    width: 12.5px;

    height: 9px;

    background-image: url(../img/common/icon_blank_sp.svg);

  }

}



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

  .footer__recruit .links__list ul li a:hover {

    color: #a0a0a0;

  }

}



.footer__recruit .bnr_now {

  display: block;

  padding: 0 0 80px;

}



.footer__recruit .bnr_now:hover {

  opacity: .6;

  -webkit-transition: all .3s;

  transition: all .3s;

}



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

  .footer__recruit .bnr_now {

    padding: 0 0 40px;

  }

}



.footer__recruit .bnr_now img {

  width: 100%;

}



.footer__navi {

  padding: 100px 0;

}



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

  .footer__navi {

    padding: 50px 0;

  }

}



.footer__navi .inner {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  counter-reset: footernum 0;

}



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

  .footer__navi .inner {

    display: block;

  }

}



.footer__navi .links {

  width: 27.7%;

}



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

  .footer__navi .links {

    width: 100%;

    margin-bottom: 35px;

  }

  .footer__navi .links:last-child {

    margin-bottom: 0;

  }

}



.footer__navi .links:nth-child(1) .links__ttl {

  border-top: solid 4px #72c9f3;

}



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

  .footer__navi .links:nth-child(1) .links__ttl {

    border-top: solid 3px #72c9f3;

  }

}



.footer__navi .links:nth-child(1) .links__ttl::before {

  font-family: 'Libre Caslon Display', serif;

  font-size: 20px;

  counter-increment: footernum 1;

  content: counter(footernum, decimal-leading-zero);

  line-height: 1;

}



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

  .footer__navi .links:nth-child(1) .links__ttl::before {

    margin-right: 20px;

  }

}



.footer__navi .links:nth-child(2) .links__ttl {

  border-top: solid 4px #bdb07b;

}



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

  .footer__navi .links:nth-child(2) .links__ttl {

    border-top: solid 3px #bdb07b;

  }

}



.footer__navi .links:nth-child(2) .links__ttl::before {

  font-family: 'Libre Caslon Display', serif;

  font-size: 20px;

  counter-increment: footernum 1;

  content: counter(footernum, decimal-leading-zero);

  line-height: 1;

}



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

  .footer__navi .links:nth-child(2) .links__ttl::before {

    margin-right: 20px;

  }

}



.footer__navi .links:nth-child(3) .links__ttl {

  border-top: solid 4px #6aa0db;

}



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

  .footer__navi .links:nth-child(3) .links__ttl {

    border-top: solid 3px #6aa0db;

  }

}



.footer__navi .links:nth-child(3) .links__ttl::before {

  font-family: 'Libre Caslon Display', serif;

  font-size: 20px;

  counter-increment: footernum 1;

  content: counter(footernum, decimal-leading-zero);

  line-height: 1;

}



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

  .footer__navi .links:nth-child(3) .links__ttl::before {

    margin-right: 20px;

  }

}



.footer__navi .links__ttl {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  margin-bottom: 60px;

  padding: 24px 0;

  border-bottom: solid 1px #f5f5f5;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 28px;

  letter-spacing: 0.02em;

}



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

  .footer__navi .links__ttl span {

    display: none;

  }

}



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

  .footer__navi .links__ttl {

    margin-bottom: 0;

    padding: 30px 0;

    font-size: 27px;

    -webkit-box-orient: horizontal;

    -webkit-box-direction: normal;

    -ms-flex-direction: row;

    flex-direction: row;

    -webkit-box-pack: start;

    -ms-flex-pack: start;

    justify-content: flex-start;

    line-height: 1;

    position: relative;

  }

  .footer__navi .links__ttl span {

    position: absolute;

    right: 0;

    top: 50%;

    -webkit-transform: translateY(-50%);

    transform: translateY(-50%);

    display: block;

    width: 18px;

    height: 18px;

  }

  .footer__navi .links__ttl span::before {

    content: "";

    position: absolute;

    left: 50%;

    top: 0;

    -webkit-transform: translateX(-50%);

    transform: translateX(-50%);

    display: block;

    width: 1px;

    height: 18px;

    background-color: #1e1e1e;

  }

  .footer__navi .links__ttl span::after {

    content: "";

    position: absolute;

    right: 0;

    top: 50%;

    -webkit-transform: translateY(-50%);

    transform: translateY(-50%);

    display: block;

    width: 18px;

    height: 1px;

    background-color: #1e1e1e;

  }

  .footer__navi .links__ttl.add_plus span::before {

    display: none;

  }

}



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

  .footer__navi .links__list {

    display: none;

    padding-bottom: 5px;

    margin-top: 35px;

  }

}



.footer__navi .links__list li {

  margin-bottom: 15px;

}



.footer__navi .links__list li.block {

  margin: 50px 0;

  padding-left: 0;

}



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

  .footer__navi .links__list li.block {

    margin: 30px 0 20px;

  }

}



.footer__navi .links__list li.block::before, .footer__navi .links__list li.block::after {

  display: none;

}



.footer__navi .links__list li.block dt {

  margin-bottom: 25px;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 22px;

  letter-spacing: 0.05em;

}



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

  .footer__navi .links__list li.block dt {

    margin-bottom: 18px;

    font-size: 21px;

  }

}



.footer__navi .links__list li.block .num {

  counter-reset: footerblock 0;

}



.footer__navi .links__list li.block .num li a span::before {

  font-size: 14px;

  counter-increment: footerblock 1;

  content: counter(footerblock, decimal-leading-zero) ". ";

}



.footer__navi .links__list a {

  display: block;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  font-size: 14px;

  letter-spacing: 0.1em;

  position: relative;

  padding-left: 30px;

  -webkit-transition: color .3s;

  transition: color .3s;

}



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

  .footer__navi .links__list a {

    padding-left: 34px;

  }

}



.footer__navi .links__list a::before {

  content: "";

  display: block;

  width: 10px;

  height: 1px;

  position: absolute;

  left: 0;

  top: 12px;

  background: url(../img/common/underline_black.png) no-repeat left bottom;

  background-size: 100% 1px;

}



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

  .footer__navi .links__list a::before {

    width: 15px;

    top: 11px;

  }

}



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

  .footer__navi .links__list a:hover {

    color: #a0a0a0;

  }

  .footer__navi .links__list a:hover::before {

    -webkit-animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

    animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

  }

}



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

  .footer__navi .links__list a {

    font-size: 13px;

  }

}



.footer__b {

  padding: 80px 0;

  /*background-color: #1e1e1e;*/

  color: #fff;

  background-image: url( ../img/foot_bg.png );

  background-size: cover;

  height: 60vh;

}



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

  .footer__business {

    padding: 50px 0;

  }

}



.footer__b a {

  color: #fff;

}



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

  .footer__b a {

    position: relative;

  }

  .footer__b a::after {

    content: "";

    display: block;

    height: 1px;

    width: 100%;

    position: absolute;

    bottom: 0;

    left: 0;

    background: #fff;

    -webkit-transform-origin: right;

    transform-origin: right;

    -webkit-transform: scale(0, 1);

    transform: scale(0, 1);

    -webkit-transition: -webkit-transform .6s;

    transition: -webkit-transform .6s;

    transition: transform .6s;

    transition: transform .6s, -webkit-transform .6s;

  }

  .footer__b a:hover::after {

    -webkit-transform-origin: left;

    transform-origin: left;

    -webkit-transform: scale(1, 1);

    transform: scale(1, 1);

    -webkit-transition: -webkit-transform .4s;

    transition: -webkit-transform .4s;

    transition: transform .4s;

    transition: transform .4s, -webkit-transform .4s;

  }

}



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

  .footer__b {

    padding: 10px 0;

    /*background-color: #1e1e1e;*/

    color: #fff;

    background-image: url( ../img/foot_bg.png );

    background-size: cover;

    height: 110vh;

  }

  .footer__b .links {

    position: relative;

  }

}



.footer__b .links__ttl {

  position: relative;

  text-align: center;

  font-family: 'Noto Serif JP', serif;

  font-weight: 400;

  font-size: 18px;

  letter-spacing: 0.1em;

}



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

  .footer__b .links__ttl {

    font-size: 17px;

    position: absolute;

    top: -13px;

    left: 0;

    width: 100%;

  }

}



.footer__b .links__ttl::before {

  position: absolute;

  top: 50%;

  left: 0;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  display: block;

  content: "";

  width: 100%;

  height: 1px;

  background-color: rgba(255, 255, 255, .1);

}



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

  .footer__b .links__ttl::before {

    display: none;

  }

}



.footer__b .links__ttl span {

  position: relative;

  padding: 0 30px;

  background-color: #1e1e1e;

}



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

  .footer__b .links__ttl span {

    padding: 0 20px;

  }

}



.footer__b .links__list {

  padding: 50px 0 60px;

  border-bottom: solid 1px rgba(255, 255, 255, .1);

}



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

  .footer__b .links__list {

    margin-top: 13px;

    padding: 45px 0 38px;

    border: solid 1px rgba(255, 255, 255, .1);

  }

}



.footer__b .links__list ul {

  display: -ms-grid;

  display: grid;

  -ms-grid-columns: 28% 32% 1fr 23%;

  grid-template-columns: 28% 32% 1fr 23%;

  -ms-grid-rows: 30px;

  grid-template-rows: 30px;

  grid-gap: 0;

  gap: 0;

}



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

  .footer__b .links__list ul {

    display: block;

  }

}



.footer__b .links__list ul li:nth-of-type(4n-3) {

  -ms-grid-column: 1;

}



.footer__b .links__list ul li:nth-of-type(4n-2) {

  -ms-grid-column: 2;

}



.footer__b .links__list ul li:nth-of-type(4n-1) {

  -ms-grid-column: 3;

}



.footer__b .links__list ul li:nth-of-type(4n) {

  -ms-grid-column: 4;

}



.footer__b .links__list ul li:nth-of-type(-n+4) {

  -ms-grid-row: 1;

}



.footer__b .links__list ul li:nth-of-type(4n+5), .footer__b .links__list ul li:nth-of-type(4n+6), .footer__b .links__list ul li:nth-of-type(4n+7), .footer__b .links__list ul li:nth-of-type(4n+8) {

  -ms-grid-row: 2;

}



.footer__b .links__list ul li:nth-of-type(4n+9), .footer__b .links__list ul li:nth-of-type(4n+10), .footer__b .links__list ul li:nth-of-type(4n+11), .footer__b .links__list ul li:nth-of-type(4n+12) {

  -ms-grid-row: 3;

}



.footer__b .links__list ul li:nth-of-type(-n+4) {

  -ms-grid-row: 1;

}



.footer__b .links__list ul li:nth-of-type(7) {

  -ms-grid-row: 2;

  -ms-grid-row-span: 1;

  -ms-grid-column: 3;

  -ms-grid-column-span: 2;

  grid-area: 2 / 3 / 3 / 5;

}



.footer__b .links__list ul li:nth-of-type(8) {

  -ms-grid-row: 3;

  -ms-grid-column: 1;

}



.footer__b .links__list ul li:nth-of-type(9) {

  -ms-grid-row: 3;

  -ms-grid-column: 2;

}



.footer__b .links__list ul li:nth-of-type(10) {

  -ms-grid-row: 3;

  -ms-grid-row-span: 1;

  -ms-grid-column: 3;

  -ms-grid-column-span: 2;

  grid-area: 3 / 3 / 4 / 5;

}



.footer__b .links__list ul li, .footer__b .links__list ul a {

  line-height: 2.5;

  font-size: 12px;

  letter-spacing: 0.1em;

}



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

  .footer__b .links__list ul a {

    display: block;

    width: 100%;

    padding: 0 34px;

    line-height: 2.6;

  }

}



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

  .footer__b .links__list ul a {

    padding: 0 20px;

  }

}



.footer__b .links__list ul .italic {

  font-style: italic;

}



.footer__b .else {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: center;

  margin-top: 50px;

  font-size: 12px;

  letter-spacing: 0.15em;

}



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

  .footer__b .else {

    display: block;

    text-align: center;

    margin-top: 35px;

  }

}



.footer__b .else .links {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

}



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

  .footer__b .else .links {

    -ms-flex-wrap: wrap;

    flex-wrap: wrap;

    -webkit-box-pack: center;

    -ms-flex-pack: center;

    justify-content: center;

    margin-bottom: 30px;

  }

}



.footer__b .else .links li {

  margin-right: 36px;

}



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

  .footer__b .else .links li {

    margin-right: 19px;

  }

  .footer__b .else .links li a {

    line-height: 2.25;

  }

}



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

  .footer__b .else .links li:nth-child(1) {

    -webkit-box-flex: 0;

    -ms-flex: 0 0 100%;

    flex: 0 0 100%;

    margin-right: 0;

  }

}



.footer__b .else .links li:last-child {

  margin-right: 0;

}





/* pager  */

.pager{

  padding-top: 60px;

}

.pager .pagination {

  text-align: center;

}



.pager .pagination li {

  display: inline;

  margin: 0 2px;

  padding: 0;

  display: inline-block;

  background:#172c5d;

  width: 50px;

  height: 50px;

  text-align: center;

  position: relative;

  border-radius: 10px;

}





.pager .pagination li a{

  vertical-align: middle;

  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  text-align: center;

  display:table;

  color: #fff;

  text-decoration: none;

}



.pager .pagination li a span{

  display:table-cell;

  vertical-align:middle;

}



.pager .pagination li a:hover,

.pager .pagination li a.active{

  color: #000;

  background: #ebebed;

  border-radius: 10px;

}



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

  .pager .pagination li{

    display: none;

  }



  .pager .pagination li.pre,

  .pager .pagination li.next{

    display: inline-block;

    width: 40%;

    height: 50px;

    text-align: center;

  }



  .pager .pagination li.pre a,

  .pager .pagination li.next a{

    width: 100%;

    text-align: center;

  }



  .pager .pagination li.pre span::after{

    content: "　前の10件へ";

  }



  .pager .pagination li.next span::before{

    content: "次の10件へ　";

  }



}





.p_ttl{

	max-width: 1373px;

	width: 100%;

	margin: auto;

}

.price_ttl{

	border-bottom: 1px solid #000;

	text-align:left;

	font-size: 3rem;

    font-family: 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;

}



.tTb{

	padding-bottom: 70px;

}



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

	.p_ttl{

		max-width: 1373px;

		width: 100%;

		margin: 60px 20px;

	}

	.price_ttl{

		border-bottom: 1px solid #000;

		text-align:left;

		font-size: 3rem;

	    font-family: 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;

		width: 90%;

	}

}





.sml{

	font-size: 1.4rem;

	letter-spacing: 0.15em;

}





/* table */



table {

  margin: 20px auto;

  width: 50%;

}

.noline_l {

  border: none;

  font-size: 1.8rem;

  text-align: left;

  padding-bottom: 10px;

}

.noline_r {

  border: none;

  font-size: 1.8rem;

  text-align: right;

  padding-bottom: 10px;

}

.cloth {

  background: #FCFCFC;

  border: solid 1px #ccc;

  color: #000;

  padding: 20px 10px;

  font-size: 1.8rem;

  letter-spacing: 0.15em;

}

.clotd {

  border: solid 1px #ccc;

  padding: 10px;

  text-align: right;

  font-size: 1.8rem;

  letter-spacing: 0.15em;

}

 

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

  .last td:last-child {

    border-bottom: solid 1px #ccc;

    width: 100%;

  }

  .tbl-r02 {

    width: 80%;

  }

  .tbl-r02 th,

  .tbl-r02 td {

    /*border-bottom: none;*/

    display: block;

    width: 100%;

  }

}





.form-table {
  border-collapse: collapse;
}

 


input[type="submit"],
input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea,
button {

  -moz-appearance: none;
  -webkit-appearance: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
  border: none;
}

 

 

input[type="text"],
input[type="email"],
input[type="tel"],
textarea {

  background: #f8f8f8;
  display: block;
  font-size: 16px;
  padding: 12px 15px;
  width: 480px;
  transition: 0.8s;
  border-radius: 0;
}

 

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus {
  background: #e9f5fb;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

 

textarea[name="content"] {
  display: inline-block;
  width: 100%;
  height: 200px;
}

 

input::placeholder,

textarea::placeholder {

  color: #ccc;

}

 

::-webkit-input-placeholder {

  color: #8d8d8d;

  opacity: 1;

}

 

::-moz-placeholder {

  color: #ccc;

  opacity: 1;

}

 

:-ms-input-placeholder {

  color: #ccc;

  opacity: 1;

}

 

.form-table {

  width: 100%;

}

 

.form-table th,

.form-table td {

  border-top: 1px solid #d7d7d7;

  border-bottom: 1px solid #d7d7d7;

  padding: 20px;

}

 

.form-table th {

  background: #ffecea;

  padding-left: 50px;

  position: relative;

  text-align: left;

  width: 300px;

}


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


	input[type="text"],
	input[type="email"],
	input[type="tel"],
	textarea {

	  background: #ededed;
	  display: block;
	  font-size: 16px;
	  padding: 12px 15px;
	  width: 100%;
	  transition: 0.8s;
	  border-radius: 0;
	}


	input[type="text"]:focus,
	input[type="email"]:focus,
	input[type="tel"]:focus,
	textarea:focus {
	  background: #e9f5fb;
	  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
	}


	textarea[name="content"] {
	  display: inline-block;
	  width: 100%;
	  height: 200px;
	}


	.form-table {
	  width: 100%;
	}

 

	.form-table th,
	.form-table td {

	  border-top: 1px solid #d7d7d7;
	  border-bottom: 1px solid #d7d7d7;
	  padding: 20px;

	}

	.form-table th {
	  background: #ffecea;
	  padding-left: 5px;
	  position: relative;
	  text-align: left;
	  width: 30%;
	}
}


/* entry */





.entry {

  position: relative;

  max-width: 960px;

  margin: 0 auto;

  background-color: #72c9f3;

  color: #fff;

  text-align: center;

  padding: 80px 45px 60px;

}



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

  .entry {

    max-width: calc(100% - 16vw + 12px);

    max-height: 84.5vh;

    padding: 40px 20px 30px;

  }

}



.entry__ttl {

  margin-bottom: 28px;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 500;

  font-size: 46px;

  letter-spacing: 0.1em;

  line-height: 1;

}



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

  .entry__ttl {

    margin-bottom: 20px;

    font-size: 28px;

  }

}



.entry__text {

  margin-bottom: 66px;

  font-size: 14px;

  letter-spacing: 0.1em;

}



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

  .entry__text {

    margin-bottom: 30px;

    font-size: 11px;

    letter-spacing: 0.05em;

  }

}



.entry__list {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  margin-bottom: 50px;

}



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

  .entry__list {

    display: block;

    margin-bottom: 27px;

  }

}



.entry .card .comingsoon {

  position: relative;

  color: #1e1e1e;

}



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

  .entry .card .comingsoon {

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    padding-left: 15px;

    height: 77px;

    margin-bottom: 3px;

  }

}



.entry .card .comingsoon .card__img-wrap, .entry .card .comingsoon .card__ttl {

  background-color: #e7e7e7;

}



.entry .card a {

  position: relative;

  color: #1e1e1e;

}



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

  .entry .card a {

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    padding-left: 15px;

    height: 77px;

    margin-bottom: 3px;

  }

}



.entry .card a:hover .card__img .img {

  -webkit-transform: scale(1.1, 1.1);

  transform: scale(1.1, 1.1);

}



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

  .entry .card a:hover .card__ttl::before {

    -webkit-animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

    animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

  }

}



.entry .card__img-wrap {

  position: relative;

  width: 270px;

  height: 138px;

  background-color: #fff;

}



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

  .entry .card__img-wrap {

    width: 67px;

    height: auto;

  }

}



.entry .card__img {

  position: absolute;

  left: 0;

  top: -20px;

  display: block;

  overflow: hidden;

}



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

  .entry .card__img {

    left: -15px;

    top: 50%;

    -webkit-transform: translateY(-50%);

    transform: translateY(-50%);

  }

}



.entry .card__img .img {

  width: 250px;

  height: 0;

  padding-top: 58.5%;

  background-color: #1e1e1e;

  background-size: cover;

  background-position: center;

  background-repeat: no-repeat;

  -webkit-transition: all .3s;

  transition: all .3s;

}



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

  .entry .card__img .img {

    width: 82px;

    height: 52px;

    padding-top: 0;

  }

}



.entry .card__ttl {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  height: 66px;

  padding: 0 20px 0 23px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 18px;

  background-color: #fff;

  letter-spacing: 0.1em;

  position: relative;

  -webkit-font-feature-settings: 'palt';

  font-feature-settings: 'palt';

}



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

  .entry .card__ttl {

    width: calc(100% - 67px);

    height: 77px;

    padding: 0 20px;

    font-size: 15px;

    min-height: inherit;

    letter-spacing: 0.05em;

  }

}



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

  .entry .card__ttl {

    font-size: 14px;

  }

}



.entry .card__ttl::before {

  position: absolute;

  right: 21px;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  content: "";

  display: block;

  width: 27px;

  height: 1px;

  background: url(../img/common/underline_black.png) no-repeat left bottom;

  background-size: 100% 1px;

  z-index: 2;

}



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

  .entry .card__ttl::before {

    width: 18px;

  }

}



.entry .card__ttl::after {

  position: absolute;

  right: 20px;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  content: "";

  display: block;

  width: 28px;

  height: 13px;

  background: url(../img/common/icon_link_black.svg) no-repeat center;

}



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

  .entry .card__ttl::after {

    width: 20px;

    height: 12px;

    background-size: contain;

  }

}



.entry .close {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  width: 270px;

  height: 56px;

  margin: 0 auto;

  border-radius: 2px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  font-size: 16px;

  background-color: #55bef1;

  -webkit-transition: all .3s;

  transition: all .3s;

}



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

  .entry .close:hover {

    background-color: #fff;

    color: #72c9f3;

    cursor: pointer;

  }

}



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

  .entry .close {

    width: 145px;

    height: 40px;

    font-size: 12px;

    margin: 0 auto;

  }

}



.entry .mfp-close {

  display: none;

}



#search-modal {

  position: relative;

  max-width: 960px;

  margin: 0 auto;

  background-color: #fff;

}



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

  #search-modal {

    max-width: calc(100% - 12.8vw);

    max-height: 69.4vh;

  }

}



#search-modal::before {

  position: absolute;

  top: 0;

  left: 50%;

  -webkit-transform: translateX(-50%);

  transform: translateX(-50%);

  content: "";

  display: block;

  width: 190px;

  height: 8px;

  background-color: #72c9f3;

}



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

  #search-modal::before {

    width: 95px;

    height: 6px;

  }

}



#search-modal .tags {

  position: relative;

  max-height: inherit;

  margin-bottom: 40px;

}



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

  #search-modal .tags {

    max-height: 175px;

    overflow-y: scroll;

    padding-left: 7px;

  }

  #search-modal .tags::-webkit-scrollbar {

    -webkit-appearance: none;

    width: 7px;

  }

  #search-modal .tags::-webkit-scrollbar-thumb {

    border-radius: 4px;

    background-color: rgba(0, 0, 0, .5);

    -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .5);

    box-shadow: 0 0 1px rgba(255, 255, 255, .5);

  }

}



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

  #search-modal .tags {

    max-height: 125px;

    margin-bottom: 25px;

    padding-left: 3px;

  }

}



@media only screen and (max-width: 1023px) and (orientation: landscape) {

  #search-modal .tags {

    max-height: 40px;

  }

}



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

  #search-modal .tags::-webkit-scrollbar {

    -webkit-appearance: none;

    width: 3px;

  }

  #search-modal .tags::-webkit-scrollbar-thumb {

    border-radius: 1.5px;

    background-color: rgba(0, 0, 0, .15);

    -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .15);

    box-shadow: 0 0 1px rgba(255, 255, 255, .15);

  }

}



.keywords {

  text-align: center;

  padding: 80px 60px 60px;

}



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

  .keywords {

    padding: 50px 15px 30px;

  }

}



.keywords__ttl {

  margin-bottom: 28px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 36px;

  letter-spacing: 0.1em;

  line-height: 1;

}



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

  .keywords__ttl {

    margin-bottom: 18px;

    font-size: 22px;

  }

}



.keywords__text {

  margin-bottom: 45px;

  font-size: 14px;

  letter-spacing: 0.1em;

}



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

  .keywords__text {

    margin-bottom: 30px;

    font-size: 11px;

    letter-spacing: 0.05em;

  }

}



.keywords .tags {

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  font-size: 0;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

  max-height: 175px;

  overflow: hidden;

}



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

  .keywords .tags {

    overflow: hidden;

  }

}



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

  .keywords .tags {

    max-height: 105px;

  }

}



.keywords .tags li {

  margin: 5px;

  border: solid 2px #e9e9e9;

}



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

  .keywords .tags li {

    margin: 2.5px;

    border: solid 2px #e9e9e9;

  }

}



.keywords .tags li a {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  padding: 15px 17px 15px 13px;

  font-size: 15px;

  line-height: 1;

  word-break: keep-all;

}



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

  .keywords .tags li a {

    padding: 7.5px 11px 7.5px 6px;

    font-size: 12px;

  }

}



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

  .keywords .tags li a:hover {

    cursor: pointer;

    background-color: #f5f5f5;

  }

}



.keywords .tags li a::before {

  content: "\00266f";

}



.keywords .tags.tags_all {

  max-height: inherit;

}



.keywords .more {

  display: block;

  width: 40px;

  height: 40px;

  margin: 20px auto 40px;

  border-radius: 50%;

  background-color: #1e1e1e;

  position: relative;

  -webkit-transition: all .3s;

  transition: all .3s;

}



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

  .keywords .more:hover {

    cursor: pointer;

    background-color: #3c3c3c;

  }

}



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

  .keywords .more {

    width: 30px;

    height: 30px;

    margin: 18px auto 25px;

  }

}



.keywords .more::before, .keywords .more::after {

  content: "";

  display: block;

  width: 12px;

  height: 2px;

  background-color: #fff;

  position: absolute;

  left: 50%;

  top: 50%;

  -webkit-transform: translate(-50%, -50%);

  transform: translate(-50%, -50%);

}



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

  .keywords .more::before, .keywords .more::after {

    width: 10px;

    height: 1px;

  }

}



.keywords .more::after {

  width: 2px;

  height: 12px;

}



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

  .keywords .more::after {

    width: 1px;

    height: 10px;

  }

}



.keywords .more.add_plus::after {

  display: none;

}



.keywords .close {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  width: 208px;

  height: 56px;

  margin: 0 auto;

  border-radius: 2px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  font-size: 16px;

  background-color: #f5f5f5;

  -webkit-transition: all .3s;

  transition: all .3s;

}



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

  .keywords .close {

    width: 145px;

    height: 40px;

    font-size: 12px;

    margin: 0 auto;

  }

}



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

  .keywords .close:hover {

    cursor: pointer;

    background-color: #e7e7e7;

  }

}



.keywords .mfp-close {

  display: none;

}



.breadcrumb {

  position: absolute;

  left: 0;

  top: 0;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-writing-mode: vertical-rl;

  -ms-writing-mode: tb-rl;

  writing-mode: vertical-rl;

  margin: 40px 0 0 3.33vw;

  font-size: 12px;

  letter-spacing: 0.1em;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

}



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

  .breadcrumb {

    display: none;

  }

}



.breadcrumb li {

  position: relative;

  padding-bottom: 42px;

  text-orientation: sideways;

}



.breadcrumb li::after {

  position: absolute;

  bottom: 0;

  left: 50%;

  content: "";

  display: block;

  width: 10px;

  height: 5px;

  margin: 16px 1px 20px 0;

  background: url(../img/common/icon_arrow.svg) no-repeat center;

  background-size: contain;

  -webkit-transform-origin: center;

  transform-origin: center;

  -webkit-transform: translateX(-50%) rotateX(180deg);

  transform: translateX(-50%) rotateX(180deg);

}



.breadcrumb li:last-child::after {

  display: none;

}



.content {

  padding-top: 100px;

}



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

  .content {

    padding-top: 50px;

  }

}



.content__ttl {

  margin-bottom: 80px;

  text-align: center;

  font-size: 3rem;

}



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

  .content__ttl {

    margin-bottom: 40px;

    font-size: 2rem;

    padding: 10px;

  }

}



.content__ttl__jp {

  display: inline-block;

  margin-top: 20px;

  padding: 6px 8px;

  margin-bottom: 30px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  background-color: #D4DBE4;

  line-height: 1;

  letter-spacing: 0.15em;

  color: #030304;

}



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

  .content__ttl__jp {

    margin-bottom: 20px;

    padding: 5px;

    font-size: 13px;

  }

}



.content__ttl__en {

  display: block;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 50px;

  letter-spacing: 0.05em;

  line-height: 1;

}



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

  .content__ttl__en {

    font-size: 30px;

  }

}



.content .card-wrap {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

  -ms-flex-pack: distribute;

  justify-content: space-around;

  max-width: 76.47%;

  margin: 0 auto 120px;

  counter-reset: discussion 0;

  min-width: 960px;

}



.content .card-wrap2 {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

  -ms-flex-pack: distribute;

  justify-content: flex-start;

  max-width: 76.47%;

  margin: 0 auto 70px;

  counter-reset: discussion 0;

  min-width: 960px;

}



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

  .content .card-wrap {

    max-width: inherit;

    min-width: inherit;

  }

}



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

  .content .card-wrap {

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

    max-width: calc(100% - 16vw);

    margin-bottom: 0;

    min-width: inherit;

  }

  .content .card-wrap2 {

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

    max-width: calc(100% - 16vw);

    margin-bottom: 0;

    min-width: inherit;

  }

}



.content .card-wrap .card {

  width: 41.25%;

}

.content .card-wrap .card2 {

  width: 33%;

}

.content .card-wrap .card3 {

  width: 25%;

}



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

  .content .card-wrap .card {

    width: 100%;

    margin-bottom: 50px;

  }

  .content .card-wrap .card2 {

    width: 100%;

    margin-bottom: 50px;

  }

  .content .card-wrap .card3 {

    width: 100%;

    margin-bottom: 50px;

  }

}





.content .card-wrap .card a {

  display: block;

  color: #1e1e1e;

  position: relative;

}



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

  .content .card-wrap .card a:hover .card__img .img {

    -webkit-transform: scale(1.1, 1.1);

    transform: scale(1.1, 1.1);

  }

  .content .card-wrap .card a:hover .card__img .arrow::before {

    -webkit-animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

    animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

  }

}



.content .card-wrap .card__img {

  position: relative;

  width: 100%;

  margin-bottom: 30px;

  overflow: hidden;

}



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

  .content .card-wrap .card__img {

    margin-bottom: 20px;

  }

}



.content .card-wrap .card__img .img {

  height: 0;

  padding-top: 100%;

  background-repeat: no-repeat;

  background-position: center;

  background-size: cover;

  -webkit-transition: all .4s ease;

  transition: all .4s ease;

}



/*.content .card-wrap .card__img::before {

  position: absolute;

  right: 0;

  bottom: 0;

  content: "";

  display: block;

  width: 54px;

  height: 40px;

  background-color: #fff;

  z-index: 1;

}

*/



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

  .content .card-wrap .card__img::before {

    width: 40px;

    height: 30px;

  }

}



.content .card-wrap .card__img .arrow {

  position: absolute;

  right: 0;

  bottom: 0;

  display: block;

  width: 28px;

  height: 13px;

  background: url(../img/common/icon_link_black.svg) no-repeat center;

  z-index: 1;

}



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

  .content .card-wrap .card__img .arrow {

    width: 25px;

    height: 12px;

    background-size: contain;

  }

}



.content .card-wrap .card__img .arrow::before {

  position: absolute;

  right: 1px;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  content: "";

  display: block;

  width: 27px;

  height: 1px;

  background: url(../img/common/underline_black.png) no-repeat left bottom;

  background-size: 100% 1px;

  z-index: 2;

}



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

  .content .card-wrap .card__img .arrow::before {

    width: 24px;

  }

}



.content .card-wrap .card__num {

  position: absolute;

  right: 0;

  top: 0;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 14px;

  letter-spacing: 0.06em;

  -webkit-writing-mode: vertical-rl;

  -ms-writing-mode: tb-rl;

  writing-mode: vertical-rl;

  line-height: 1;

  width: 26px;

  padding-bottom: 40px;

  background-color: #fff;

}



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

  .content .card-wrap .card__num {

    width: 19px;

    padding-bottom: 30px;

    font-size: 10px;

  }

}



.content .card-wrap .card__num span {

  position: absolute;

  right: 0;

  bottom: 20px;

  margin-top: 8px;

  font-family: 'Libre Caslon Display', serif;

  font-size: 13px;

  line-height: 1;

}



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

  .content .card-wrap .card__num span {

    font-size: 11px;

    bottom: 14px;

  }

}



.content .card-wrap .card__ttl {

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 30px;

  letter-spacing: 0.09em;

  overflow: hidden;

  position: absolute;

  top: -30px;

  left: 20px;

  width: 114px;

}



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

  .content .card-wrap .card__ttl {

    top: 0;

    left: 15px;

    font-size: 21px;

    width: 83px;

  }

}



.content .card-wrap .card__ttl span {

  float: right;

  padding: 10px 0;

  -webkit-writing-mode: vertical-rl;

  -ms-writing-mode: tb-rl;

  writing-mode: vertical-rl;

  background-color: #fff;

  margin-right: 3px;

  line-height: 1.8;

}



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

  .content .card-wrap .card__ttl span {

    padding-top: 0;

  }

}



.content .card-wrap .card__text {

  font-family: 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;

  margin-bottom: 20px;

  font-size: 16px;

  line-height: 2;

}



.content .card-wrap .card__text2 {

  font-family: 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;

  margin-bottom: 20px;

  font-size: 16px;

  line-height: 2;

  padding-left: 1.5em;

}



.content .card-wrap .card__tag {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

  margin: 30px 0 0 0;

}



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

  .content .card-wrap .card__tag {

    margin: 16px 0 0;

  }

}



.content .card-wrap .card__tag li {

  margin: 0 4px 4px 0;

}



.content .card-wrap .card__tag a {

  padding: 4px 10px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  font-size: 12px;

  border-radius: 2px;

  background-color: #f5f5f5;

  -webkit-transition: all .3s;

  transition: all .3s;

}



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

  .content .card-wrap .card__tag a {

    padding: 5px 8px 5px 5px;

    font-size: 11px;

  }

}



.content .card-wrap .card__tag a::before {

  content: "\00266f";

}



.content .card-wrap .card__tag a:hover {

  text-decoration: none;

  background-color: #e7e7e7;

}



.lower-tag {

  max-width: 1920px;

  margin: 0 auto;

}



.lower-tag .tag {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  margin: 30px 8.3%;

}



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

  .lower-tag .tag {

    margin: 30px 8%;

  }

}



.lower-tag .tag--mb {

  margin-bottom: 100px;

}



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

  .lower-tag .tag--mb {

    margin-bottom: 50px;

  }

}



.lower-tag .tag li {

  margin: 0 4px 4px 0;

}



.lower-tag .tag a {

  display: block;

  padding: 4px 10px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  font-size: 12px;

  border-radius: 2px;

  background-color: #f5f5f5;

  -webkit-transition: all .3s;

  transition: all .3s;

}



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

  .lower-tag .tag a {

    padding: 5px 8px 5px 5px;

    font-size: 11px;

  }

}



.lower-tag .tag a::before {

  content: "\00266f";

}



.lower-tag .tag a:hover {

  text-decoration: none;

  background-color: #e7e7e7;

}





/* Slider */



.slick-slider {

  position: relative;

  display: block;

  -webkit-box-sizing: border-box;

  box-sizing: border-box;

  -webkit-touch-callout: none;

  -webkit-user-select: none;

  -moz-user-select: none;

  -ms-user-select: none;

  user-select: none;

  -ms-touch-action: pan-y;

  touch-action: pan-y;

  -webkit-tap-highlight-color: transparent;

}



.slick-list {

  position: relative;

  overflow: hidden;

  display: block;

  margin: 0;

  padding: 0;

}



.slick-list:focus {

  outline: none;

}



.slick-list.dragging {

  cursor: pointer;

  cursor: hand;

}



.slick-slider .slick-track, .slick-slider .slick-list {

  -webkit-transform: translate3d(0, 0, 0);

  transform: translate3d(0, 0, 0);

}



.slick-track {

  position: relative;

  left: 0;

  top: 0;

  display: block;

  margin-left: auto;

  margin-right: auto;

}



.slick-track:before, .slick-track:after {

  content: "";

  display: table;

}



.slick-track:after {

  clear: both;

}



.slick-loading .slick-track {

  visibility: hidden;

}



.slick-slide {

  float: left;

  height: 100%;

  min-height: 1px;

  display: none;

}



[dir="rtl"] .slick-slide {

  float: right;

}



.slick-slide img {

  display: block;

}



.slick-slide.slick-loading img {

  display: none;

}



.slick-slide.dragging img {

  pointer-events: none;

}



.slick-initialized .slick-slide {

  display: block;

}



.slick-loading .slick-slide {

  visibility: hidden;

}



.slick-vertical .slick-slide {

  display: block;

  height: auto;

  border: 1px solid transparent;

}



.slick-arrow.slick-hidden {

  display: none;

}





/* Magnific Popup CSS */



.mfp-bg {

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  z-index: 1042;

  overflow: hidden;

  position: fixed;

  background: #1e1e1e;

  opacity: 0.5;

}



.mfp-wrap {

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  z-index: 1043;

  position: fixed;

  outline: none !important;

  -webkit-backface-visibility: hidden;

}



.mfp-container {

  text-align: center;

  position: absolute;

  width: 100%;

  height: 100%;

  left: 0;

  top: 0;

  padding: 0 8px;

  -webkit-box-sizing: border-box;

  box-sizing: border-box;

}



.mfp-container:before {

  content: '';

  display: inline-block;

  height: 100%;

  vertical-align: middle;

}



.mfp-align-top .mfp-container:before {

  display: none;

}



.mfp-content {

  position: relative;

  display: inline-block;

  vertical-align: middle;

  margin: 0 auto;

  text-align: left;

  z-index: 1045;

}



.mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content {

  width: 100%;

  cursor: auto;

}



.mfp-ajax-cur {

  cursor: progress;

}



.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {

  cursor: -webkit-zoom-out;

  cursor: zoom-out;

}



.mfp-zoom {

  cursor: pointer;

  cursor: -webkit-zoom-in;

  cursor: zoom-in;

}



.mfp-auto-cursor .mfp-content {

  cursor: auto;

}



.mfp-close, .mfp-arrow, .mfp-preloader, .mfp-counter {

  -webkit-user-select: none;

  -moz-user-select: none;

  -ms-user-select: none;

  user-select: none;

}



.mfp-loading.mfp-figure {

  display: none;

}



.mfp-hide {

  display: none !important;

}



.mfp-preloader {

  color: #CCC;

  position: absolute;

  top: 50%;

  width: auto;

  text-align: center;

  margin-top: -0.8em;

  left: 8px;

  right: 8px;

  z-index: 1044;

}



.mfp-preloader a {

  color: #CCC;

}



.mfp-preloader a:hover {

  color: #FFF;

}



.mfp-s-ready .mfp-preloader {

  display: none;

}



.mfp-s-error .mfp-content {

  display: none;

}



button.mfp-close, button.mfp-arrow {

  overflow: visible;

  cursor: pointer;

  background: transparent;

  border: 0;

  -webkit-appearance: none;

  display: block;

  outline: none;

  padding: 0;

  z-index: 1046;

  -webkit-box-shadow: none;

  box-shadow: none;

  -ms-touch-action: manipulation;

  touch-action: manipulation;

}



button::-moz-focus-inner {

  padding: 0;

  border: 0;

}



.mfp-close {

  width: 44px;

  height: 44px;

  line-height: 44px;

  position: absolute;

  right: 0;

  top: 0;

  text-decoration: none;

  text-align: center;

  opacity: 0.65;

  padding: 0 0 18px 10px;

  color: #FFF;

  font-style: normal;

  font-size: 28px;

  font-family: Arial, Baskerville, monospace;

}



.mfp-close:hover, .mfp-close:focus {

  opacity: 1;

}



.mfp-close:active {

  top: 1px;

}



.mfp-close-btn-in .mfp-close {

  color: #333;

}



.mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close {

  color: #FFF;

  right: -6px;

  text-align: right;

  padding-right: 6px;

  width: 100%;

}



.mfp-counter {

  position: absolute;

  top: 0;

  right: 0;

  color: #CCC;

  font-size: 12px;

  line-height: 18px;

  white-space: nowrap;

}



.mfp-arrow {

  position: absolute;

  opacity: 0.65;

  margin: 0;

  top: 50%;

  margin-top: -55px;

  padding: 0;

  width: 90px;

  height: 110px;

  -webkit-tap-highlight-color: transparent;

}



.mfp-arrow:active {

  margin-top: -54px;

}



.mfp-arrow:hover, .mfp-arrow:focus {

  opacity: 1;

}



.mfp-arrow:before, .mfp-arrow:after {

  content: '';

  display: block;

  width: 0;

  height: 0;

  position: absolute;

  left: 0;

  top: 0;

  margin-top: 35px;

  margin-left: 35px;

  border: medium inset transparent;

}



.mfp-arrow:after {

  border-top-width: 13px;

  border-bottom-width: 13px;

  top: 8px;

}



.mfp-arrow:before {

  border-top-width: 21px;

  border-bottom-width: 21px;

  opacity: 0.7;

}



.mfp-arrow-left {

  left: 0;

}



.mfp-arrow-left:after {

  border-right: 17px solid #FFF;

  margin-left: 31px;

}



.mfp-arrow-left:before {

  margin-left: 25px;

  border-right: 27px solid #3F3F3F;

}



.mfp-arrow-right {

  right: 0;

}



.mfp-arrow-right:after {

  border-left: 17px solid #FFF;

  margin-left: 39px;

}



.mfp-arrow-right:before {

  border-left: 27px solid #3F3F3F;

}



.mfp-iframe-holder {

  padding-top: 40px;

  padding-bottom: 40px;

}



.mfp-iframe-holder .mfp-content {

  line-height: 0;

  width: 100%;

  max-width: 900px;

}



.mfp-iframe-holder .mfp-close {

  top: -40px;

}



.mfp-iframe-scaler {

  width: 100%;

  height: 0;

  overflow: hidden;

  padding-top: 56.25%;

}



.mfp-iframe-scaler iframe {

  position: absolute;

  display: block;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, .6);

  box-shadow: 0 0 8px rgba(0, 0, 0, .6);

  background: #000;

}





/* Main image in popup */



img.mfp-img {

  width: auto;

  max-width: 100%;

  height: auto;

  display: block;

  line-height: 0;

  -webkit-box-sizing: border-box;

  box-sizing: border-box;

  padding: 40px 0 40px;

  margin: 0 auto;

}





/* The shadow behind the image */



.mfp-figure {

  line-height: 0;

}



.mfp-figure:after {

  content: '';

  position: absolute;

  left: 0;

  top: 40px;

  bottom: 40px;

  display: block;

  right: 0;

  width: auto;

  height: auto;

  z-index: -1;

  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, .6);

  box-shadow: 0 0 8px rgba(0, 0, 0, .6);

  background: #444;

}



.mfp-figure small {

  color: #BDBDBD;

  display: block;

  font-size: 12px;

  line-height: 14px;

}



.mfp-figure figure {

  margin: 0;

}



.mfp-bottom-bar {

  margin-top: -36px;

  position: absolute;

  top: 100%;

  left: 0;

  width: 100%;

  cursor: auto;

}



.mfp-title {

  text-align: left;

  line-height: 18px;

  color: #F3F3F3;

  word-wrap: break-word;

  padding-right: 36px;

}



.mfp-image-holder .mfp-content {

  max-width: 100%;

}



.mfp-gallery .mfp-image-holder .mfp-figure {

  cursor: pointer;

}



@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {

  /**

       * Remove all paddings around the image on small screen

       */

  .mfp-img-mobile .mfp-image-holder {

    padding-left: 0;

    padding-right: 0;

  }

  .mfp-img-mobile img.mfp-img {

    padding: 0;

  }

  .mfp-img-mobile .mfp-figure:after {

    top: 0;

    bottom: 0;

  }

  .mfp-img-mobile .mfp-figure small {

    display: inline;

    margin-left: 5px;

  }

  .mfp-img-mobile .mfp-bottom-bar {

    background: rgba(0, 0, 0, .6);

    bottom: 0;

    margin: 0;

    top: auto;

    padding: 3px 5px;

    position: fixed;

    -webkit-box-sizing: border-box;

    box-sizing: border-box;

  }

  .mfp-img-mobile .mfp-bottom-bar:empty {

    padding: 0;

  }

  .mfp-img-mobile .mfp-counter {

    right: 5px;

    top: 3px;

  }

  .mfp-img-mobile .mfp-close {

    top: 0;

    right: 0;

    width: 35px;

    height: 35px;

    line-height: 35px;

    background: rgba(0, 0, 0, .6);

    position: fixed;

    text-align: center;

    padding: 0;

  }

}



@media all and (max-width: 900px) {

  .mfp-arrow {

    -webkit-transform: scale(0.75);

    transform: scale(0.75);

  }

  .mfp-arrow-left {

    -webkit-transform-origin: 0;

    transform-origin: 0;

  }

  .mfp-arrow-right {

    -webkit-transform-origin: 100%;

    transform-origin: 100%;

  }

  .mfp-container {

    padding-left: 6px;

    padding-right: 6px;

  }

}



.mfp-fade.mfp-bg {

  opacity: 0;

  -webkit-transition: all 0.15s ease-out;

  transition: all 0.15s ease-out;

}





/* overlay animate in */



.mfp-fade.mfp-bg.mfp-ready {

  opacity: 0.8;

}





/* overlay animate out */



.mfp-fade.mfp-bg.mfp-removing {

  opacity: 0;

}





/* content at start */



.mfp-fade.mfp-wrap .mfp-content {

  opacity: 0;

  -webkit-transition: all 0.15s ease-out;

  transition: all 0.15s ease-out;

}





/* content animate it */



.mfp-fade.mfp-wrap.mfp-ready .mfp-content {

  opacity: 1;

}





/* content animate out */



.mfp-fade.mfp-wrap.mfp-removing .mfp-content {

  opacity: 0;

}



.index main {

  counter-reset: number 0;

}



.index .kv {

  position: relative;

  margin-left: 8.3vw;

  opacity: 0;

}



.index .kv.view {

  -webkit-animation: fadein 2s 0s ease forwards, right .7s 0s ease forwards;

  animation: fadein 2s 0s ease forwards, right .7s 0s ease forwards;

}



.index .kv.view .kv__title-area {

  -webkit-animation: left 1s 1s ease forwards;

  animation: left 1s 1s ease forwards;

}

.index .kv.view .kv__title-area2 {

  -webkit-animation: left 1s 1s ease forwards;

  animation: left 1s 1s ease forwards;

}

.index .kv.view .news {

  -webkit-animation: left 1s 4s ease forwards;

  animation: left 1s 4s ease forwards;

}



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

  .index .kv.view .news {

    -webkit-animation: left 1s 3s ease forwards;

    animation: left 1s 3s ease forwards;

  }

}



.index .kv.view .news__ttl {

  -webkit-animation: fadein 0.5s 5s ease forwards;

  animation: fadein 0.5s 5s ease forwards;

}



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

  .index .kv.view .news__ttl {

    -webkit-animation: fadein 0.5s 4s ease forwards;

    animation: fadein 0.5s 4s ease forwards;

  }

}



.index .kv.view .kv__title {

  -webkit-animation: fadein 0.3s 2s ease forwards;

  animation: fadein 0.3s 2s ease forwards;

}



.index .kv.view .kv__catch .img-wrap {

  -webkit-animation: fadein 0.5s 2.5s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 2.5s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.index .kv.view .kv__catch .img-wrap::before {

  -webkit-animation: fadein 0.5s 1.5s cubic-bezier(0.77, 0, 0.175, 1), kvblockIn 0.6s 2s cubic-bezier(0.77, 0, 0.175, 1), kvblockOut 0.6s 2.5s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 1.5s cubic-bezier(0.77, 0, 0.175, 1), kvblockIn 0.6s 2s cubic-bezier(0.77, 0, 0.175, 1), kvblockOut 0.6s 2.5s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.index .kv.view .kv__catch .img-wrap:nth-child(2) {

  -webkit-animation: fadein 0.5s 3s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 3s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.index .kv.view .kv__catch .img-wrap:nth-child(2)::before {

  -webkit-animation: fadein 0.5s 2s cubic-bezier(0.77, 0, 0.175, 1), kvblockIn 0.6s 2.5s cubic-bezier(0.77, 0, 0.175, 1), kvblockOut 0.6s 3s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 2s cubic-bezier(0.77, 0, 0.175, 1), kvblockIn 0.6s 2.5s cubic-bezier(0.77, 0, 0.175, 1), kvblockOut 0.6s 3s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.index .kv.view .kv__catch .img-wrap:nth-child(3) {

  -webkit-animation: fadein 0.5s 3.5s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 3.5s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.index .kv.view .kv__catch .img-wrap:nth-child(3)::before {

  -webkit-animation: fadein 0.5s 2.5s cubic-bezier(0.77, 0, 0.175, 1), kvblockIn 0.6s 3s cubic-bezier(0.77, 0, 0.175, 1), kvblockOut 0.6s 3.5s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 2.5s cubic-bezier(0.77, 0, 0.175, 1), kvblockIn 0.6s 3s cubic-bezier(0.77, 0, 0.175, 1), kvblockOut 0.6s 3.5s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.index .kv.view .kv__news dl, .index .kv.view .kv__news .arrow {

  -webkit-animation: fadein .5s 5s ease forwards;

  animation: fadein .5s 5s ease forwards;

}



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

  .index .kv.view .kv__news dl, .index .kv.view .kv__news .arrow {

    -webkit-animation: fadein .5s 4s ease forwards;

    animation: fadein .5s 4s ease forwards;

  }

}



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

  .index .kv {

    margin-left: 0;

  }

}



.index .kv__slider {

  min-height: 520px;

  max-height: calc(100vh - 90px);

  height: 48.61vw;

  overflow: hidden;

}

.index .kv__slider2 {

  min-height: 520px;

  max-height: calc(100vh - 90px);

  height: 30.61vw;

  overflow: hidden;

}

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

  .index .kv__slider {

    min-height: 450px;

    margin-left: 30px;

  }

}



.index .kv__slider .slide__bg {

  width: 100%;

  min-height: 520px;

  max-height: calc(100vh - 90px);

  height: 48.61vw;

  background-repeat: no-repeat;

  background-size: cover;

  background-position: center;

}

.index .kv__slider2 .slide__bg {

  width: 100%;

  min-height: 520px;

  max-height: calc(100vh - 90px);

  height: 30.61vw;

  background-repeat: no-repeat;

  background-size: cover;

  background-position: center;

  border-bottom-left-radius: 80px;

}

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

  .index .kv__slider .slide__bg {

    min-height: 450px;

    height: 120vw;

  }

  .index .kv__slider2 .slide__bg {

    min-height: 450px;

    height: 120vw;

  }

}



.index .kv__slider .slick-dots {

  position: absolute;

  right: 35px;

  bottom: 40px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  font-size: 0;

}



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

  .index .kv__slider .slick-dots {

    right: 20px;

    bottom: 30px;

  }

}



.index .kv__slider .slick-dots li {

  width: 10px;

  height: 10px;

  margin: 5px;

  border: solid 1px #fff;

  -webkit-box-sizing: border-box;

  box-sizing: border-box;

  border-radius: 50%;

}



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

  .index .kv__slider .slick-dots li {

    width: 8px;

    height: 8px;

    margin: 2.5px;

  }

}



.index .kv__slider .slick-dots li.slick-active {

  background-color: #fff;

}



.index .kv__slider.active .-moving {

  overflow: hidden;

}



.index .kv__slider.active .-moving .slide__bg {

  -webkit-animation: scale-zoom 8s 0s linear infinite;

  animation: scale-zoom 8s 0s linear infinite;

}



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

  .index .kv__inner {

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    min-height: 450px;

  }

}



.index .kv__text-wrap {

  position: absolute;

  left: 0;

  bottom: 0;

}



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

  .index .kv__text-wrap {

    position: inherit;

  }

}



.index .kv__title-area {

  opacity: 0;

  width: 600px;

  margin-bottom: 100px;

  padding: 50px 48px 40px 0;

  background: #073061;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: start;

  -ms-flex-align: start;

  align-items: flex-start;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: reverse;

  -ms-flex-direction: row-reverse;

  flex-direction: row-reverse;

}

.index .kv__title-area2 {

  opacity: 0;

  width: 600px;

  margin-bottom: 100px;

  padding: 50px 48px 40px 0;

  background: #565E61;

  opacity: 0.5;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: start;

  -ms-flex-align: start;

  align-items: flex-start;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: reverse;

  -ms-flex-direction: row-reverse;

  flex-direction: row-reverse;

}







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

  .index .kv__title-area {

    position: absolute;

    left: 0px;

    bottom: 30px;

    width: 320px;

    padding: 30px;

    margin-bottom: 0;

  }

  .index .kv__title-area2 {

    position: absolute;

    left: 0px;

    bottom: 30px;

    width: 320px;

    padding: 30px;

    margin-bottom: 0;

  }

}



.index .kv__title {

  opacity: 0;

  /*-webkit-writing-mode: vertical-rl;*/

  -ms-writing-mode: tb-rl;

  /*writing-mode: vertical-rl;*/

  font-size: 32px;

  font-family: 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;

  font-weight: 500;

  color: #fff;

  line-height: 1.5;

  letter-spacing: 0.1em;

}



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

  .index .kv__title {

    font-size: 16px;

  }

}



.index .kv__catch {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: reverse;

  -ms-flex-direction: row-reverse;

  flex-direction: row-reverse;

}



.index .kv__catch .img-wrap {

  position: relative;

  overflow: hidden;

}



.index .kv__catch .img-wrap::before {

  content: "";

  width: 100%;

  height: 100%;

  display: inline-block;

  position: absolute;

  left: 0;

  top: 0;

  background-color: #fff;

  z-index: 2;

}



.index .kv__catch .img-wrap:nth-child(1) {

  width: 55px;

  height: 307px;

  margin-left: 15px;

}



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

  .index .kv__catch .img-wrap:nth-child(1) {

    width: 24px;

    height: 250px;

    margin-left: 12px;

  }

}



.index .kv__catch .img-wrap:nth-child(2) {

  width: 56px;

  height: 307px;

  margin-left: 13px;

}



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

  .index .kv__catch .img-wrap:nth-child(2) {

    width: 24px;

    height: 250px;

    margin-left: 0;

  }

}



.index .kv__catch .img-wrap:nth-child(3) {

  width: 38px;

  height: 307px;

}



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

  .index .kv__catch .img-wrap:nth-child(3) {

    width: 25px;

    height: 219px;

  }

}



/* news */

.news {

    width: 100%;

    /*height: 50rem;*/

    padding: 4rem 10rem 4rem;

}

.news .newsBox {

    display: flex;

    justify-content: space-between;

}

.newsListadjust {

    width: 100%;

}

.news .newsBox .newsList .newsMainTitleBox {

    display: flex;

    align-items: center;

    margin-bottom: 4rem;

}

.news .newsBox .newsList ul {

    list-style-type: none;

    /* width: 48.5rem; */

    width: 100%;

    /* height: 22rem; */

}



.news .newsBox .newsList2 ul {

    list-style-type: none;

    /* width: 48.5rem; */

    width: 100%;

    /* height: 22rem; */

}



.news .newsBox .newsList ul li {

	padding: 30px 0;

	border-bottom: 1px solid #E9E9E9;

}



.news .newsBox .newsList2 ul li {

	padding: 30px 0;

	border-bottom: 5px solid #E9E9E9;

}



.news .newsBox .newsList ul li:last-child {

    margin-bottom: 0;

}

.news .newsBox .newsList2 ul li:last-child {

    margin-bottom: 0;

}



.news .newsBox .newsList ul li a {

    display: flex;

    /* justify-content: space-between; */

    align-items: center;

    /* flex-wrap: wrap; */

    transition: .3s;

}

.news .newsBox .newsList2 ul li a {

    display: flex;

    /* justify-content: space-between; */

    align-items: center;

    /* flex-wrap: wrap; */

    transition: .3s;

}



.news .newsBox .newsList ul li .newsDate {

    color: #030304;

    text-align: center;

}



.news .newsBox .newsList2 ul li .newsDate {

    color: #030304;

    text-align: center;

}



.newsUl, .newsDate {

    padding-right: 2rem;

    font-size: 1.6rem;

}

.newsDate p { 

	line-height: 1.1; 

}

.news .newsBox .newsList ul li .newsTitle {

    color: #333;

    font-size: 2.3rem;

    transition: .3s;

    line-height: 1.7;

    padding-left: 3.8rem;

    letter-spacing: 0.15em;

}

.news .newsBox .newsList2 ul li .newsTitle {

    color: #333;

    font-size: 2.3rem;

    transition: .3s;

    line-height: 1.7;

    padding-left: 3.8rem;

    letter-spacing: 0.15em;

}



.news_txt{

    padding: 3.8rem 0;

    font-size: 1.8rem;

    line-height: 2.1;

    letter-spacing: 0.1em;



}





.Dayf{

    color: #030304;

    font-size: 4.5rem;

}

.nCate{

  width:100px;

  height:30px;

  background:#fff;

  border-radius:30px;

  border: 1px solid #073061;

  padding: 0 20px;

  text-align:center;

}

.arrow {

    position: relative;

    display: inline-block;

    color: #000;

    vertical-align: middle;

    text-decoration: none;

    font-size: 1.5rem;

}

/* /news */



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

	.news {

	    width: 100%;

	    padding: 0;

	    /* height: 100rem; */

	}

	.news .newsBox {

	    display: flex;

	    justify-content: space-between;

	    /* height: 75rem; */

	}

	.newsListadjust {

	    width: 100%;

	}

	.news_txt{

	    padding: 2rem 0;

	    font-size: 1.6rem;

	    line-height: 1.8;

	    letter-spacing: 0.1em;

	}

	.news .newsBox .newsList .newsMainTitleBox {

	    display: flex;

	    align-items: center;

	    margin-bottom: 4rem;

	}

	.news .newsBox .newsList ul {

	    list-style-type: none;

	    /* width: 48.5rem; */

	    width: 100%;

	    height: 22rem;

	}

	.news .newsBox .newsList ul li {

		padding: 30px 0;

		border-bottom: 1px solid #E9E9E9;

	}



	.news .newsBox .newsList ul li:last-child {

	    margin-bottom: 0;

	}



	.news .newsBox .newsList ul li a {

	    display: flex;

	    /* justify-content: space-between; */

	    align-items: center;

	    /* flex-wrap: wrap; */

	    transition: .3s;

	}

	.news .newsBox .newsList ul li .newsDate {

	    color: #030304;

	    text-align: center;

	}

	.newsUl, .newsDate {

	    padding-right: 2rem;

	    font-size: 1.6rem;

	}

	.newsDate p { 

		line-height: 1.1; 

	}

	.news .newsBox .newsList ul li .newsTitle {

	    color: #333;

	    font-size: 1.8rem;

	    transition: .3s;

	    line-height: 1.3;

	    padding-left: 1.8rem;

	    letter-spacing: 0.15em;

	}

	.Dayf{

	    color: #030304;

	    font-size: 4.5rem;

	}

	.nCate{

	  width:110px;

	  height:30px;

	  background:#fff;

	  border-radius:30px;

	  border: 1px solid #073061;

	  padding: 0 20px;

	  text-align:center;

	}

}



.con {

    /*height: 152px;*/

    margin-bottom: 8px;

    background-color: #fff;

    -webkit-transform: translateY(-72px);

    transform: translateY(-72px);

    -webkit-transition: all .3s;

    transition: all .3s;

    width: 70%;

    margin: auto;

    margin-top: 7.5rem;

}

.con2 {

    /*height: 152px;*/

    margin-bottom: 8px;

    background-color: #fff;

    -webkit-transform: translateY(-72px);

    transform: translateY(-72px);

    -webkit-transition: all .3s;

    transition: all .3s;

    width: 100%;

    margin: auto;

    margin-top: 7.5rem;

}







.conTit{

	text-align: center;

	width: 100%;

    color: #073061;

    font-size: 36px;

	font-family: 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;

    font-weight: 600;

    letter-spacing: 0.05em;

    padding-top: 7rem;

}

.conText{

	text-align: center;

	width: 100%;

    color: #073061;

    font-size: 24px;

    font-family: 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;
    
    padding: 20px;

}

.st{

	display: flex;

}



.conTel{

	width: 50%;

	text-align:center;

	padding: 10% 0;

}

.conTel2{

	width: 50%;

	text-align:center;

	padding: 5% 0;

}







.conTel p{

	font-size: 2.8em;

    font-family: 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;

}



.conTel2 p{

	font-size: 2.8em;

    font-family: 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;

}





.conS{

	font-size: 1.4em;

    font-family: 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;

}



.conBtn{

	width: 50%;

	text-align:center;

	padding: 10% 0;

}



.conBtn_c{

	width: 50%;

	text-align:center;

	padding: 5% 0;

}



.conBtn2{

	width: 100%;

	display: flex;

	text-align:center;

	padding: 10% 0;

	justify-content: end;

}

.conBtn3{

	width: 100%;

	display: flex;

	text-align:center;

	padding: 10% 0;

	justify-content: center;

}

.serBtn{

	width: 500px;

	height: 60px;

	text-align:center;

	padding: 10% 0;

	margin-top:5%;

	margin-left: auto;

	margin-right: auto;

	margin-bottom: 2%;

	padding: 1rem 2rem;

	border-radius: 30px;

	background-color: #073061;

	color: #fff;

	font-size: 2.1rem;

}



.conleft{

	width: 40%;

	text-align:left;

}

.conright{

	width: 60%;

	text-align:right;

	font-size: 1.1em;

}



.conright ul{

	display: flex;

	justify-content: flex-end;

}

.conright ul li{

	padding-left: 40px;

}



.addr{

    margin-top: 20px;

    line-height: 28px;

    display: block;

}



.bto {

    font-family: 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;

	font-size: 2.6rem;

	font-weight: 700;

	line-height: 1.5;

	position: relative;

	display: inline-block;

	padding: 2rem 4rem;

	cursor: pointer;

	-webkit-user-select: none;

	-moz-user-select: none;

	-ms-user-select: none;

	user-select: none;

	-webkit-transition: all 0.3s;

	transition: all 0.3s;

	text-align: center;

	vertical-align: middle;

	text-decoration: none;

	letter-spacing: 0.1em;

	color: #212529;

	border-radius: 0.5rem;

}



a.bto-c {

	width: 480px;

	height: 80px;

	border: 1px solid #D4DBE4;

	border-radius: 1rem;

	background: #D4DBE4;

	background: -webkit-gradient(linear, left bottom, left top, color-stop(50%, #1b7e40), to(#20b958));

	background: -webkit-linear-gradient(bottom, #D4DBE4 50%, #D4DBE4 100%);

	background: linear-gradient(0deg, #D4DBE4 50%, #D4DBE4 100%);

	-webkit-box-shadow: inset 0 1px 1px rgba(255, 255, 255, .6), 0 5px 10px rgba(0, 0, 0, .1);

	box-shadow: inset 0 1px 1px rgba(255, 255, 255, .6), 0 5px 10px rgba(0, 0, 0, .1);

}





.bto2 {

    font-family: 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;

	font-size: 2.6rem;

	font-weight: 700;

	line-height: 1.5;

	position: relative;

	display: inline-block;

	padding: 2rem 4rem;

	cursor: pointer;

	-webkit-user-select: none;

	-moz-user-select: none;

	-ms-user-select: none;

	user-select: none;

	-webkit-transition: all 0.3s;

	transition: all 0.3s;

	text-align: center;

	vertical-align: middle;

	text-decoration: none;

	letter-spacing: 0.1em;

	color: #fff;

	border-radius: 0.5rem;

}



a.bto2-c {

	width: 480px;

	height: 80px;

	border: 1px solid #073061;

	border-radius: 1rem;

	background: #073061;

	background: -webkit-gradient(linear, left bottom, left top, color-stop(50%, #1b7e40), to(#20b958));

	background: -webkit-linear-gradient(bottom, #073061 50%, #073061 100%);

	background: linear-gradient(0deg, #073061 50%, #073061 100%);

	-webkit-box-shadow: inset 0 1px 1px rgba(255, 255, 255, .6), 0 5px 10px rgba(0, 0, 0, .1);

	box-shadow: inset 0 1px 1px rgba(255, 255, 255, .6), 0 5px 10px rgba(0, 0, 0, .1);

}







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

	.conBtn_c {
	    width: 100%;
	    text-align: center;
	    padding: 5% 0;
	}

	.serBtn{

		width: 95%;

		height: 60px;

		text-align:center;

		padding: 10% 0;

		margin-top:10%;

		margin-left: auto;

		margin-right: auto;

		margin-bottom: 2%;

		padding: 1rem 2rem;

		border-radius: 30px;

		background-color: #073061;

		color: #fff;

		font-size: 2.1rem;

	}

	.conTel2{

		width: 100%;

		text-align:center;

		padding: 5% 0;

	}

	.conright ul li {

	    padding-left: 20px;

	}

	.con {

	    display: inline-block;

		text-align: center;

	    background-color: #f5f5f5;

	    color: #073061;

	    font-size: 36px;

		font-family: 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;

	    font-weight: 600;

	    letter-spacing: 0.05em;

	    -webkit-transform: translateY(-72px);

	    transform: translateY(-72px);

	    -webkit-transition: all .3s;

	    transition: all .3s;

	    width: 100%;

	    margin: auto;

	    padding-top: 60px;

	}



	

	.st{

		display: block;

	}

	.conTel{

		width: 100%;

		text-align:center;

		padding: 10% 0;
		font-size: 28px;

	}

	.conTel p{

		font-size: 1.2em;

	    font-family: 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;

	}

	.conS{

		font-size: 0.6em;

	    font-family: 'ヒラギノ明朝 Pro W6', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;

	}

	.conBtn{

		width: 100%;

		text-align:center;

		padding: 10% 0;

	}



	.conBtn2 {

	    width: 100%;

	    text-align: center;

	    padding: 10% 0;

	}

	.conleft{

		width: 100%;

		text-align:center;

		padding: 10% 0;

	}

	.conright{

		width: 100%;

		text-align:left;

		padding: 5% 0;

		font-size: 1.5em;
		
		line-height: 46px;

	}

	.addr {

	    margin-top: 20px;

	    line-height: 28px;

	    display: block;

	    font-size: 1.5rem;

	}

}



#page-top {

  position: fixed;

  bottom: 20px;

  right: 20px;

  z-index: 99;

}

#page-top a {

  text-decoration: none;

  transition: all .3s ease;

}

#page-top a:hover {

  text-decoration: none;

  opacity: .5;

}





.index .kv .news {

  opacity: 0;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: stretch;

  -ms-flex-align: stretch;

  align-items: stretch;

  -webkit-box-pack: end;

  -ms-flex-pack: end;

  justify-content: flex-end;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

  font-size: 12px;

  line-height: 2;

  width: 720px;

  height: calc(2em + 60px);

  overflow: hidden;

  background-color: #fff;

  -webkit-transition: max-height 2s;

  transition: max-height 2s;

}



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

  .index .kv .news {

    width: 91.7vw;

  }

}



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

  .index .kv .news {

    padding: 7.5px 0 7.5px 20px;

    width: 100vw;

    height: calc(2em + 36px);

    font-size: 10px;

    border-bottom: solid 1px #f5f5f5;

  }







}



.index .kv .news dl {

  opacity: 0;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: start;

  -ms-flex-align: start;

  align-items: flex-start;

  width: 540px;

  margin-right: 45px;

  padding: 30px 0;

}



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

  .index .kv .news dl {

    width: auto;

  }

}



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

  .index .kv .news dl {

    width: calc(100% - 75px);

    padding: 10px 0;

    margin-right: 20px;

  }

}



.index .kv .news__ttl {

  opacity: 0;

  width: 40px;

  margin-right: auto;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 700;

  padding: 30px 0;

}



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

  .index .kv .news__ttl {

    margin-right: 15px;

    padding: 10px 0;

  }

}



.index .kv .news__date {

  font-weight: normal;

  margin-right: 25px;

}



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

  .index .kv .news__date {

    margin-right: 15px;

  }

}



.index .kv .news__text {

  position: relative;

  width: auto;

  white-space: nowrap;

  overflow: hidden;

  text-overflow: ellipsis;

  line-height: 2;

}



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

  .index .kv .news__text {

    width: calc(100vw - 387px);

  }

}



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

  .index .kv .news__text {

    width: calc(100vw - 195px);

  }

}



.index .kv .news__text a {

  display: inline-block;

  line-height: 2;

}



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

  .index .kv .news__text a {

    display: inline;

  }

}



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

  .index .kv .news__text a {

    position: relative;

  }

  .index .kv .news__text a::after {

    content: "";

    display: block;

    height: 1px;

    width: 100%;

    position: absolute;

    bottom: 0;

    left: 0;

    background: #1e1e1e;

    -webkit-transform-origin: right;

    transform-origin: right;

    -webkit-transform: scale(0, 1);

    transform: scale(0, 1);

    -webkit-transition: -webkit-transform .6s;

    transition: -webkit-transform .6s;

    transition: transform .6s;

    transition: transform .6s, -webkit-transform .6s;

  }

  .index .kv .news__text a:hover::after {

    -webkit-transform-origin: left;

    transform-origin: left;

    -webkit-transform: scale(1, 1);

    transform: scale(1, 1);

    -webkit-transition: -webkit-transform .4s;

    transition: -webkit-transform .4s;

    transition: transform .4s;

    transition: transform .4s, -webkit-transform .4s;

  }

  .index .kv .news__text a:hover {

    color: #3c3c3c;

  }

}



.index .kv .news__text::after {

  content: "";

  position: absolute;

  left: 0;

  top: 2em;

  background: #fff;

  width: 100%;

  height: 100%;

  opacity: 1;

  -webkit-transition: all 1s;

  transition: all 1s;

  pointer-events: none;

}



.index .kv .news .arrow {

  position: absolute;

  top: 0;

  right: 0;

  opacity: 0;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  width: 70px;

  height: calc(2em + 60px);

  font-size: 12px;

  line-height: 2;

  -webkit-box-flex: 0;

  -ms-flex: 0 0 70px;

  flex: 0 0 70px;

  border-left: 1px solid #f5f5f5;

  -webkit-transition: all .3s;

  transition: all .3s;

}



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

  .index .kv .news .arrow:hover {

    background-color: #f5f5f5;

  }

}



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

  .index .kv .news .arrow {

    width: 50px;

    height: calc(2em + 36px);

    -webkit-box-flex: 0;

    -ms-flex: 0 0 50px;

    flex: 0 0 50px;

  }

}



.index .kv .news .arrow .icon {

  font-size: 10px;

  color: #1e1e1e;

}



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

  .index .kv .news .arrow .icon {

    font-size: 6px;

  }

}



.index .kv .news.open {

  height: auto;

  max-height: 100vh;

}



.index .kv .news.open .news__text {

  white-space: inherit;

  text-overflow: inherit;

}



.index .kv .news.open .news__text::after {

  opacity: 0;

}



.index .kv .news.open .arrow .icon {

  -webkit-transform: scale(-1, -1);

  transform: scale(-1, -1);

}



.index .kv__scroll {

  position: absolute;

  left: calc(-3.8vw - 1em);

  bottom: 0;

  padding-bottom: 150px;

  -webkit-writing-mode: vertical-rl;

  -ms-writing-mode: tb-rl;

  writing-mode: vertical-rl;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  font-size: 12px;

  letter-spacing: 0.1em;

  line-height: 1;

  -webkit-transition: all .3s;

  transition: all .3s;

}



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

  .index .kv__scroll {

    display: none;

  }

}



.index .kv__scroll::after {

  content: "";

  position: absolute;

  left: 50%;

  top: 73px;

  display: block;

  width: 1px;

  height: 0;

  background: #1e1e1e;

  -webkit-transition: all .3s;

  transition: all .3s;

  -webkit-transform-origin: top;

  transform-origin: top;

  -webkit-animation: scroll-bar 2.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;

  animation: scroll-bar 2.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;

}



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

  .index .kv__scroll:hover {

    padding-bottom: 170px;

    cursor: pointer;

  }

  .index .kv__scroll:hover::after {

    height: 150px;

  }

}



.index .message__inner {

  overflow: hidden;

  width: 885px;

  margin: 0 auto;

  padding: 140px 0;

}



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

  .index .message__inner {

    width: auto;

  }

}



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

  .index .message__inner {

    width: auto;

    margin: 70px auto 80px;

    padding: 0 20px;

  }

}



.index .message p {

  opacity: 0;

  -webkit-transform: translate3d(-40%, 0, 0);

  transform: translate3d(-40%, 0, 0);

  -webkit-transition: opacity 0.3s cubic-bezier(0.63, 0.32, 0.35, 0.63), -webkit-transform 0.3s cubic-bezier(0.63, 0.32, 0.35, 0.63);

  transition: opacity 0.3s cubic-bezier(0.63, 0.32, 0.35, 0.63), -webkit-transform 0.3s cubic-bezier(0.63, 0.32, 0.35, 0.63);

  transition: transform 0.3s cubic-bezier(0.63, 0.32, 0.35, 0.63), opacity 0.3s cubic-bezier(0.63, 0.32, 0.35, 0.63);

  transition: transform 0.3s cubic-bezier(0.63, 0.32, 0.35, 0.63), opacity 0.3s cubic-bezier(0.63, 0.32, 0.35, 0.63), -webkit-transform 0.3s cubic-bezier(0.63, 0.32, 0.35, 0.63);

  float: right;

  -webkit-writing-mode: vertical-rl;

  -ms-writing-mode: tb-rl;

  writing-mode: vertical-rl;

  font-size: 16px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  letter-spacing: 0.2em;

  line-height: 2.375;

  margin-left: 2.375em;

  word-break: keep-all;

  white-space: nowrap;

}



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

  .index .message p {

    -webkit-writing-mode: inherit;

    -ms-writing-mode: inherit;

    writing-mode: inherit;

    float: none;

    text-align: center;

    margin-bottom: 2.375em;

    -webkit-transform: translate3d(0, 40px, 0);

    transform: translate3d(0, 40px, 0);

  }

}



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

  .index .message p {

    font-size: 12px;

    -webkit-writing-mode: inherit;

    -ms-writing-mode: inherit;

    writing-mode: inherit;

    float: none;

    text-align: center;

    margin: 0 0 1.9em;

    letter-spacing: 0.14em;

    line-height: 1.9;

    -webkit-font-feature-settings: 'palt';

    font-feature-settings: 'palt';

  }

}



.index .message p:last-child {

  font-size: 20px;

  margin-left: 0;

}



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

  .index .message p:last-child {

    font-size: 15px;

  }

}



.index .message .animtrigger.view p {

  opacity: 1;

  -webkit-transform: translate3d(0, 0, 0);

  transform: translate3d(0, 0, 0);

}



.index .message .animtrigger.view p:nth-child(2) {

  -webkit-transition-duration: .5s;

  transition-duration: .5s;

}



.index .message .animtrigger.view p:nth-child(3) {

  -webkit-transition-duration: .6s;

  transition-duration: .6s;

}



.index .message .animtrigger.view p:nth-child(4) {

  -webkit-transition-duration: .7s;

  transition-duration: .7s;

}



.index .message .animtrigger.view p:nth-child(5) {

  -webkit-transition-duration: .8s;

  transition-duration: .8s;

}



.index .message .animtrigger.view p:nth-child(6) {

  -webkit-transition-duration: .9s;

  transition-duration: .9s;

}



.index .message .animtrigger.view p:nth-child(7) {

  -webkit-transition-duration: 1s;

  transition-duration: 1s;

}



.banner {

  position: relative;

  width: 100%;

  padding: 5.882% 5.882% 5.882% 8.823%;

  background-repeat: no-repeat;

  background-size: cover;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: end;

  -ms-flex-align: end;

  align-items: flex-end;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

}



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

  .banner {

    padding: 2.882% 5.882% 2.882% 8.823%;

  }

}



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

  .banner {

    position: relative;

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

    -webkit-box-pack: start;

    -ms-flex-pack: start;

    justify-content: flex-start;

    padding: 15vw 10vw 36vw 15.62vw;

    background-size: 200%;

    background-position: left top;

  }

}



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

  .banner {

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

    -webkit-box-pack: start;

    -ms-flex-pack: start;

    justify-content: flex-start;

    padding: 26.26vw 8vw 18vw;

    background-size: 240%;

  }

}



.banner::after {

  opacity: 0;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 500;

  font-size: 9.58vw;

  color: #1e1e1e;

  position: absolute;

  line-height: 1;

  letter-spacing: -0.04em;

}



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

  .banner::after {

    font-size: 184px;

  }

}



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

  .banner::after {

    font-size: 8.58vw;

  }

}



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

  .banner::after {

    font-size: 18.33vw;

  }

}



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

  .banner::after {

    font-size: 18.33vw;

  }

}



.banner__ttl-area {

  width: 27.58%;

  position: relative;

  min-width: 325px;

}



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

  .banner__ttl-area {

    min-width: inherit;

    width: 100%;

  }

}



.banner__ttl::before {

  position: absolute;

  left: 0;

  top: -4.1vw;

  content: "Theme";

  font-size: 24px;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 400;

  letter-spacing: 0.08em;

  color: #fff;

  line-height: 1;

}



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

  .banner__ttl::before {

    top: -60px;

  }

}



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

  .banner__ttl::before {

    top: -33px;

    font-size: 15px;

  }

}



.banner__ttl::after {

  position: absolute;

  left: 85px;

  top: -5vw;

  counter-increment: number 1;

  content: counter(number, decimal-leading-zero);

  font-size: 40px;

  font-family: 'Libre Caslon Display', serif;

  color: #fff;

  line-height: 1;

}



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

  .banner__ttl::after {

    top: -75px;

  }

}



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

  .banner__ttl::after {

    top: -40px;

    left: 55px;

    font-size: 25px;

  }

}



.banner__ttl__inner {

  overflow: hidden;

  position: relative;

  max-height: 188px;

  height: 13vw;

}



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

  .banner__ttl__inner {

    height: 35.73vw;

  }

}



.banner__ttl__inner>div {

  position: relative;

  overflow: hidden;

  max-height: 60px;

  height: 4.166vw;

  margin-bottom: 4px;

}



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

  .banner__ttl__inner>div {

    height: 11.466vw;

  }

}



.banner__ttl__inner>div:last-child {

  margin-bottom: 0;

}



.banner__ttl__inner>div span, .banner__ttl__inner>div img {

  height: 100%;

  width: auto;

}



.banner__ttl .bg {

  position: absolute;

  top: 0;

  left: 0;

  display: inline-block;

  height: 100%;

  background-color: #fff;

}



.banner__ttl .bg::before {

  content: "";

  width: 100%;

  height: 100%;

  display: inline-block;

  position: absolute;

  left: 0;

  top: 0;

  background-color: #fff;

  z-index: 1;

}



.banner__ttl .img-wrap {

  width: 0;

  position: absolute;

  top: 0;

  left: 0;

  display: inline-block;

  height: 100%;

  z-index: 2;

}



.banner__ttl .img-wrap::before {

  content: "";

  width: 100%;

  height: 100%;

  display: inline-block;

  position: absolute;

  left: 0;

  top: 0;

  background-color: #fff;

  z-index: 2;

}



.banner__text {

  opacity: 0;

  margin-top: 2.7vw;

  font-size: 14px;

  line-height: 2;

  color: #fff;

  letter-spacing: 0.1em;

}



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

  .banner__text {

    margin-top: 40px;

  }

}



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

  .banner__text {

    margin-top: 20px;

    font-size: 12px;

    line-height: 1.8;

  }

}



.banner__btn {

  opacity: 0;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  width: 100%;

  height: 70px;

  margin-top: 3.47vw;

  border: solid 1px #fff;

  font-size: 16px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  color: #fff;

  letter-spacing: 0.08em;

  -webkit-box-sizing: border-box;

  box-sizing: border-box;

  -webkit-transition: all .3s;

  transition: all .3s;

}



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

  .banner__btn {

    margin-top: 50px;

  }

}



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

  .banner__btn {

    height: 55px;

    font-size: 14px;

    margin-top: 30px;

  }

}



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

  .banner__btn:hover {

    background: #fff;

    color: #bdb07b;

  }

}



.banner .card {

  opacity: 0;

  position: relative;

  width: 62%;

  height: 0;

  padding-top: 44.827%;

  overflow: hidden;

}



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

  .banner .card {

    width: calc(100% - 25.62vw);

    position: absolute;

    bottom: -8vw;

  }

}



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

  .banner .card {

    position: relative;

    left: 0;

    width: calc(100% + 16vw);

    padding-top: 87.71%;

  }

}



.banner .card>a {

  display: block;

  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  overflow: hidden;

  z-index: 1;

}



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

  .banner .card>a:hover+.card__img {

    -webkit-transform: scale(1.1, 1.1);

    transform: scale(1.1, 1.1);

  }

  .banner .card>a:hover .arrow::before {

    -webkit-animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

    animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

  }

}



.banner .card>a .arrow {

  position: absolute;

  right: 6.944%;

  bottom: 8.84%;

  display: block;

  width: 28px;

  height: 13px;

  background: url(../img/common/icon_link_white.svg) no-repeat;

  z-index: 1;

}



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

  .banner .card>a .arrow {

    right: 6.944%;

    bottom: 10%;

  }

}



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

  .banner .card>a .arrow {

    right: 20px;

    bottom: 25px;

  }

}



.banner .card>a .arrow::before {

  position: absolute;

  right: 1px;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  content: "";

  display: block;

  width: 27px;

  height: 1px;

  background: url(../img/common/underline_white.png) no-repeat left bottom;

  background-size: 100% 1px;

  z-index: 2;

}



.banner .card__img {

  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  background-repeat: no-repeat;

  background-size: cover;

  -webkit-transition: all .4s ease;

  transition: all .4s ease;

}



.banner .card__text {

  position: absolute;

  left: 0;

  bottom: 0;

  width: 100%;

  padding: 7% 6.944% 6% 6.944%;

  background-position: bottom;

  background: url(../img/index/bg_card.png) repeat-x;

  background-size: contain;

}



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

  .banner .card__text {

    background: none;

    padding: 7% 5.3% 6%;

  }

}



.banner .card__text a {

  display: block;

  color: #fff;

}



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

  .banner .card__text a:hover .card__img {

    -webkit-transform: scale(1.01, 1.01);

    transform: scale(1.01, 1.01);

  }

}



.banner .card__ttl {

  font-size: 14px;

}



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

  .banner .card__ttl {

    font-size: 12px;

  }

}



.banner .card__ttl a:hover {

  text-decoration: none;

}



.banner .card__ttl span {

  display: block;

  margin-top: 12px;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 38px;

  line-height: 1.1;

  letter-spacing: 0.01em;

}



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

  .banner .card__ttl span {

    font-size: 27px;

  }

}



.banner .card__tag {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

  margin: 25px 16% 0 0;

}



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

  .banner .card__tag {

    margin-top: 15px;

  }

}



.banner .card__tag li {

  margin: 0 4px 4px 0;

}



.banner .card__tag a {

  padding: 4px 10px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  font-size: 12px;

  border-radius: 2px;

  background-color: rgba(239, 242, 244, .3);

  -webkit-transition: all .3s;

  transition: all .3s;

  display: block;

  position: relative;

  z-index: 2;

}



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

  .banner .card__tag a {

    padding: 5px 8px 5px 5px;

    font-size: 11px;

  }

}



.banner .card__tag a::before {

  content: "\00266f";

}



.banner .card__tag a:hover {

  text-decoration: none;

  background-color: rgba(239, 242, 244, .4);

}



.banner .card--2 {

  z-index: 1;

  height: auto;

  padding-top: 0;

  position: relative;

}



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

  .banner .card--2 {

    background-color: #fff;

    -webkit-box-shadow: 0px 10px 25px 0px rgba(30, 39, 47, .1);

    box-shadow: 0px 10px 25px 0px rgba(30, 39, 47, .1);

  }

}



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

  .banner .card--2 {

    position: inherit;

    width: 100%;

  }

}



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

  .banner .card--2 {

    width: calc(100% + 8vw);

    left: 8vw;

    -webkit-box-shadow: 0px 5px 12px 0px rgba(30, 39, 47, .1);

    box-shadow: 0px 5px 12px 0px rgba(30, 39, 47, .1);

  }

}



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

  .banner .card--2:hover::before {

    background-color: #f5f5f5;

  }

  .banner .card--2:hover .arrow::before {

    -webkit-animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

    animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

  }

}



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

  .banner .card--2::before {

    content: "";

    display: block;

    width: 100%;

    height: calc(100% - 60px);

    position: absolute;

    left: 0;

    bottom: 0;

    background-color: #fff;

    -webkit-box-shadow: 0px 10px 25px 0px rgba(30, 39, 47, .1);

    box-shadow: 0px 10px 25px 0px rgba(30, 39, 47, .1);

  }

}



.banner .card--2>a {

  overflow: hidden;

  z-index: 1;

}



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

  .banner .card--2>a:hover+.card__img .img {

    -webkit-transform: scale(1.1, 1.1);

    transform: scale(1.1, 1.1);

  }

}



.banner .card--2>a::before, .banner .card--2>a::after {

  display: none;

}



.banner .card--2>a .arrow {

  position: absolute;

  right: 6.944%;

  bottom: 10.76%;

  display: block;

  width: 28px;

  height: 13px;

  z-index: 1;

  background: url(../img/common/icon_link_black.svg) no-repeat;

}



.banner .card--2>a .arrow::before {

  position: absolute;

  right: 1px;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  content: "";

  display: block;

  width: 27px;

  height: 1px;

  background: url(../img/common/underline_black.png) no-repeat left bottom;

  background-size: 100% 1px;

  z-index: 2;

}



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

  .banner .card--2>a .arrow {

    display: none;

  }

}



.banner .card--2__img {

  position: relative;

  overflow: hidden;

  -webkit-transform: none !important;

  transform: none !important;

  width: auto;

  height: auto;

  margin: 0 6.944% 0;

}



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

  .banner .card--2__img {

    margin-top: 6.944%;

  }

}



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

  .banner .card--2__img {

    margin: 8vw 8vw 0;

    position: relative;

  }

  .banner .card--2__img::before {

    content: "";

    position: absolute;

    bottom: 0;

    right: 0;

    display: block;

    width: 40px;

    height: 30px;

    background-color: #fff;

    z-index: 1;

  }

}



.banner .card--2__img .img {

  -webkit-transition: all .4s ease;

  transition: all .4s ease;

  -webkit-box-sizing: border-box;

  box-sizing: border-box;

  height: 0;

  padding-top: 50%;

  background-position: center;

  background-repeat: no-repeat;

  background-size: cover;

}



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

  .banner .card--2__img .img {

    padding-top: 64.42%;

    position: relative;

  }

  .banner .card--2__img .img::before {

    position: absolute;

    right: 1px;

    bottom: 5.5px;

    content: "";

    display: block;

    width: 24px;

    height: 1px;

    background: url(../img/common/underline_black.png) no-repeat left bottom;

    background-size: 100% 1px;

    z-index: 2;

  }

  .banner .card--2__img .img::after {

    content: "";

    position: absolute;

    right: 0;

    bottom: 0;

    display: block;

    width: 25px;

    height: 12px;

    z-index: 1;

    background: url(../img/common/icon_link_black.svg) no-repeat;

    background-size: contain;

  }

}



.banner .card--2__ttl {

  margin-top: 35px;

}



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

  .banner .card--2__ttl {

    margin-top: 30px;

    font-size: 11px;

  }

}



.banner .card--2__text {

  position: inherit;

  padding-top: 0;

  background: none;

}



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

  .banner .card--2__text {

    padding-left: 8vw;

    padding-right: 8vw;

  }

}



.banner .card--2__text a {

  color: #1e1e1e;

}



.banner .card--2__tag {

  z-index: 1;

}



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

  .banner .card--2__tag {

    bottom: 7.5%;

  }

}



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

  .banner .card--2__tag {

    left: 8vw;

    bottom: 8vw;

  }

}



.banner .card--2__tag a {

  color: #1e1e1e;

  background-color: #f5f5f5;

}



.banner .card--2__tag a:hover {

  text-decoration: none;

  background-color: #e7e7e7;

}



.banner.animtrigger.view .banner__ttl__inner>div:first-child .bg {

  -webkit-animation: fadein 0.2s 0s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 0.5s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.2s 0s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 0.5s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.banner.animtrigger.view .banner__ttl__inner>div:first-child .bg::before {

  -webkit-animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 0.5s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 1s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 0.5s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 1s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.banner.animtrigger.view .banner__ttl__inner>div:first-child .img-wrap {

  -webkit-animation: fadein 0.2s 0.5s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.2s 0.5s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.banner.animtrigger.view .banner__ttl__inner>div:first-child .img-wrap::before {

  -webkit-animation: fadein 0.5s 0.5s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 0.7s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 1.2s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 0.5s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 0.7s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 1.2s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.banner.animtrigger.view .banner__ttl__inner>div:nth-child(2) .bg {

  -webkit-animation: fadein 0.2s 0.5s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.2s 0.5s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.banner.animtrigger.view .banner__ttl__inner>div:nth-child(2) .bg::before {

  -webkit-animation: fadein 0.5s 0.5s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 1.5s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 0.5s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 1.5s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.banner.animtrigger.view .banner__ttl__inner>div:nth-child(2) .img-wrap {

  -webkit-animation: fadein 0.2s 1s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1.5s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.2s 1s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1.5s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.banner.animtrigger.view .banner__ttl__inner>div:nth-child(2) .img-wrap::before {

  -webkit-animation: fadein 0.5s 1s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1.2s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 1.7s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 1s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1.2s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 1.7s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.banner.animtrigger.view .banner__ttl__inner>div:nth-child(3) .bg {

  -webkit-animation: fadein 0.5s 1s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1.5s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 1s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1.5s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.banner.animtrigger.view .banner__ttl__inner>div:nth-child(3) .bg::before {

  -webkit-animation: fadein 0.5s 1s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1.5s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 2s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 1s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1.5s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 2s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.banner.animtrigger.view .banner__ttl__inner>div:nth-child(3) .img-wrap {

  -webkit-animation: fadein 0.2s 1.5s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 2s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.2s 1.5s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 2s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.banner.animtrigger.view .banner__ttl__inner>div:nth-child(3) .img-wrap::before {

  -webkit-animation: fadein 0.5s 1.5s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1.7s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 2.2s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 1.5s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1.7s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 2.2s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.banner.animtrigger.view .banner__card {

  -webkit-animation: sec-anim 1s 0.5s ease forwards;

  animation: sec-anim 1s 0.5s ease forwards;

}



.banner.animtrigger.view .banner__text, .banner.animtrigger.view .banner__btn {

  -webkit-animation: fadein .5s 2s ease forwards;

  animation: fadein .5s 2s ease forwards;

}



.banner.animtrigger.view::after {

  -webkit-animation: fadein 1s 0s ease forwards, enttl-x 1s 0s ease forwards;

  animation: fadein 1s 0s ease forwards, enttl-x 1s 0s ease forwards;

}



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

  .banner.animtrigger.view::after {

    -webkit-animation: fadein 1s 0s ease forwards, enttl-y 1s 0s ease forwards;

    animation: fadein 1s 0s ease forwards, enttl-y 1s 0s ease forwards;

  }

}



.content {

  margin-bottom: 30px;

}



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

  .content {

    margin-bottom: 30px;

  }

}



.content .card-wrap {

  margin: 0 auto 80px;

}



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

  .content .card-wrap {

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

    max-width: calc(100% - 5vw);

    margin-bottom: 0;

    min-width: inherit;

  }

}



.content .else-wrap {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -ms-flex-pack: distribute;

  justify-content: space-around;

  max-width: 76.47%;

  min-width: 960px;

  margin: 0 auto;

}



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

  .content .else-wrap {

    max-width: inherit;

    min-width: inherit;

  }

}



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

  .content .else-wrap {

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

    max-width: calc(100% - 16vw);

    min-width: inherit;

    margin-bottom: 0;

  }

}



.content .else-wrap .link {

  position: relative;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  width: 42.3%;

  height: 140px;

  border-top: solid 1px #1e1e1e;

  border-bottom: solid 1px #1e1e1e;

}



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

  .content .else-wrap .link {

    width: 100%;

    height: 107px;

    border-bottom: none;

  }

  .content .else-wrap .link:last-child {

    border-bottom: solid 1px #1e1e1e;

  }

}



.content .else-wrap .link:hover {

  text-decoration: none;

}



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

  .content .else-wrap .link:hover::before {

    -webkit-animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

    animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

  }

}



.content .else-wrap .link::before {

  position: absolute;

  right: 1px;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  content: "";

  display: block;

  width: 27px;

  height: 1px;

  background: url(../img/common/underline_black.png) no-repeat left bottom;

  background-size: 100% 1px;

  z-index: 2;

}



.content .else-wrap .link::after {

  position: absolute;

  right: 0;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  content: "";

  display: block;

  width: 28px;

  height: 13px;

  background: url(../img/common/icon_link_black.svg) no-repeat center;

}



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

  .content .else-wrap .link::after {

    width: 25px;

    height: 12px;

    background-size: contain;

  }

}



.content .else-wrap .link__ttl__jp {

  display: block;

  text-align: center;

  line-height: 1;

  font-size: 14px;

}



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

  .content .else-wrap .link__ttl__jp {

    font-size: 11px;

  }

}



.content .else-wrap .link__ttl__en {

  display: block;

  margin-top: 15px;

  text-align: center;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 26px;

  line-height: 1;

}



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

  .content .else-wrap .link__ttl__en {

    margin-top: 10px;

    font-size: 22px;

  }

}



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

  .content .else-wrap .link.sec-anim.view {

    -webkit-animation: none;

    animation: none;

    opacity: 1;

  }

}



.sec--feature .banner {

  margin-bottom: 20px;

  background-color: #72c9f3;

  background-image: url(../img/index/bg_feature.png);

}



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

  .sec--feature .banner {

    width: auto;

    margin: 0 0 120px 120px;

  }

}



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

  .sec--feature .banner {

    width: auto;

    margin: 0 0 10px 8vw;

  }

}



.sec--feature .banner::after {

  content: "FEATURE";

  -webkit-writing-mode: vertical-rl;

  -ms-writing-mode: tb-rl;

  writing-mode: vertical-rl;

  left: -0.5em;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

}



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

  .sec--feature .banner::after {

    -webkit-writing-mode: inherit;

    -ms-writing-mode: inherit;

    writing-mode: inherit;

    left: 50%;

    top: -0.5em;

    -webkit-transform: translateX(-50%);

    transform: translateX(-50%);

  }

}



.sec--feature .banner__ttl {

  max-width: 320px;

}



.sec--feature .banner__ttl__inner>div:first-child {

  max-width: 320px;

  width: 22.22vw;

}



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

  .sec--feature .banner__ttl__inner>div:first-child {

    width: 58.53vw;

  }

}



.sec--feature .banner__ttl__inner>div:first-child img {

  width: 22.22vw;

}



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

  .sec--feature .banner__ttl__inner>div:first-child img {

    width: 58.53vw;

  }

}



.sec--feature .banner__ttl__inner>div:nth-child(2) {

  max-width: 253px;

  width: 17.569vw;

}



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

  .sec--feature .banner__ttl__inner>div:nth-child(2) {

    width: 45.33vw;

  }

}



.sec--feature .banner__ttl__inner>div:nth-child(2) img {

  width: 17.569vw;

}



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

  .sec--feature .banner__ttl__inner>div:nth-child(2) img {

    width: 45.33vw;

  }

}



.sec--feature .banner__ttl__inner>div:nth-child(3) {

  max-width: 166px;

  width: 11.527vw;

}



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

  .sec--feature .banner__ttl__inner>div:nth-child(3) {

    width: 28.66vw;

  }

}



.sec--feature .banner__ttl__inner>div:nth-child(3) img {

  width: 11.527vw;

}



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

  .sec--feature .banner__ttl__inner>div:nth-child(3) img {

    width: 28.66vw;

  }

}



.sec--feature .banner .card__ttl {

  color: #fff;

}



.sec--feature .banner .card__tag a {

  color: #fff;

}



.sec--work {

  padding-top: 4.79vw;

}



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

  .sec--work {

    padding-top: 1px;

  }

}



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

  .sec--work {

    margin-bottom: 80px;

  }

}



.sec--work .banner {

  padding: 8.823% 8.823% 5.882% 5.882%;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: reverse;

  -ms-flex-direction: row-reverse;

  flex-direction: row-reverse;

  margin-bottom: 20px;

  background-image: url(../img/index/bg_work.png);

}



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

  .sec--work .banner {

    padding: 3.823% 8.823% 2.882% 5.882%;

  }

}



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

  .sec--work .banner {

    width: auto;

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

    margin: 8.33vw 120px 10px 0;

    padding: 15vw 17.33vw 0 8vw;

    width: auto;

    background-color: #bdb07b;

    background-size: cover;

    background-position: bottom right;

  }

}



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

  .sec--work .banner {

    margin-right: 8vw;

    margin-top: 18.66vw;

    width: auto;

    padding: 26.26vw 8vw 18vw;

  }

}



.sec--work .banner::after {

  content: "WORK & STORY";

  left: 50%;

  top: -4.79vw;

  -webkit-transform: translateX(-50%);

  transform: translateX(-50%);

  word-break: keep-all;

  white-space: pre;

}



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

  .sec--work .banner::after {

    -webkit-writing-mode: vertical-rl;

    -ms-writing-mode: tb-rl;

    writing-mode: vertical-rl;

    right: -0.5em;

    top: 50%;

    -webkit-transform: translateY(-50%);

    transform: translateY(-50%);

  }

}



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

  .sec--work .banner::after {

    content: "WORK &\A STORY";

    -webkit-writing-mode: inherit;

    -ms-writing-mode: inherit;

    writing-mode: inherit;

    white-space: pre;

    left: 50%;

    top: -1.15em;

    width: 100%;

    line-height: 0.9;

    text-align: center;

    -webkit-transform: translateX(-50%);

    transform: translateX(-50%);

  }

}



.sec--work .banner__ttl-area {

  min-width: 280px;

}



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

  .sec--work .banner__ttl-area {

    min-width: inherit;

  }

}



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

  .sec--work .banner__ttl-area {

    margin-bottom: 0;

  }

}



.sec--work .banner__ttl {

  max-width: 300px;

}



.sec--work .banner__ttl__inner {

  max-height: 190px;

  height: 13.19vw;

}



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

  .sec--work .banner__ttl__inner {

    height: 35.73vw;

  }

}



.sec--work .banner__ttl__inner>div:first-child {

  max-width: 263px;

  width: 18.263vw;

}



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

  .sec--work .banner__ttl__inner>div:first-child {

    width: 47.06vw;

  }

}



.sec--work .banner__ttl__inner>div:first-child img {

  width: 18.263vw;

}



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

  .sec--work .banner__ttl__inner>div:first-child img {

    width: 47.06vw;

  }

}



.sec--work .banner__ttl__inner>div:nth-child(2) {

  max-width: 140px;

  width: 9.72vw;

}



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

  .sec--work .banner__ttl__inner>div:nth-child(2) {

    width: 24.93vw;

  }

}



.sec--work .banner__ttl__inner>div:nth-child(2) img {

  width: 9.72vw;

}



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

  .sec--work .banner__ttl__inner>div:nth-child(2) img {

    width: 24.93vw;

  }

}



.sec--work .banner__ttl__inner>div:nth-child(3) {

  max-width: 204px;

  width: 14.16vw;

}



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

  .sec--work .banner__ttl__inner>div:nth-child(3) {

    width: 35.46vw;

  }

}



.sec--work .banner__ttl__inner>div:nth-child(3) img {

  width: 14.16vw;

}



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

  .sec--work .banner__ttl__inner>div:nth-child(3) img {

    width: 35.46vw;

  }

}



.sec--work .banner.animtrigger.view::after {

  -webkit-animation: fadein 1s 0s ease forwards, enttl-y 1s 0s ease forwards;

  animation: fadein 1s 0s ease forwards, enttl-y 1s 0s ease forwards;

}



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

  .sec--work .banner.animtrigger.view::after {

    -webkit-animation: fadein 1s 0s ease forwards, enttl-rx 1s 0s ease forwards;

    animation: fadein 1s 0s ease forwards, enttl-rx 1s 0s ease forwards;

  }

}



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

  .sec--work .banner.animtrigger.view::after {

    -webkit-animation: fadein 1s 0s ease forwards, enttl-y 1s 0s ease forwards;

    animation: fadein 1s 0s ease forwards, enttl-y 1s 0s ease forwards;

  }

}



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

  .sec--work .content {

    margin-top: 120px;

  }

}



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

  .sec--work .content {

    margin-top: 10px;

  }

}



.sec--work .content__ttl__jp {

  background-color: #bdb07b;

}



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

  .sec--work .card-wrap {

    -ms-flex-wrap: nowrap;

    flex-wrap: nowrap;

  }

}



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

  .sec--work .card-wrap {

    position: relative;

    display: block;

    max-width: inherit;

  }

}



.sec--work .card-wrap .card {

  width: 25.57%;

}



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

  .sec--work .card-wrap .card {

    opacity: 0;

  }

  .sec--work .card-wrap .card.animtrigger.view {

    -webkit-animation: story-even 1s .5s ease forwards;

    animation: story-even 1s .5s ease forwards;

  }

  .sec--work .card-wrap .card:nth-child(1), .sec--work .card-wrap .card:nth-child(3) {

    -webkit-transform: translateY(-60px);

    transform: translateY(-60px);

  }

  .sec--work .card-wrap .card:nth-child(1).animtrigger.view {

    -webkit-animation: story-odd 1s 0s ease forwards;

    animation: story-odd 1s 0s ease forwards;

  }

  .sec--work .card-wrap .card:nth-child(3).animtrigger.view {

    -webkit-animation: story-odd 1s 1s ease forwards;

    animation: story-odd 1s 1s ease forwards;

  }

}



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

  .sec--work .card-wrap .card {

    width: auto;

    margin: 0 4vw;

  }

  .sec--work .card-wrap .card:nth-child(1), .sec--work .card-wrap .card:nth-child(3) {

    -webkit-transform: none;

    transform: none;

  }

}



.sec--work .card-wrap .card__ttl {

  width: 88px;

  right: -14px;

  bottom: 0;

  top: inherit;

  left: inherit;

  font-size: 28px;

  padding-right: 14px;

}



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

  .sec--work .card-wrap .card__ttl {

    width: 65px;

    right: 0;

    font-size: 22px;

    padding-right: 0;

    background-color: #fff;

  }

}



.sec--work .card-wrap .card__ttl .card__name {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  width: 100%;

  margin-right: 0;

  padding: 36px 0 46px;

  word-break: keep-all;

}



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

  .sec--work .card-wrap .card__ttl .card__name {

    padding: 25px 0 34px;

  }

}



.sec--work .card-wrap .card__ttl .card__num {

  width: auto;

  float: none;

  margin-right: 0;

  padding: 36px 0 40px;

  background-color: transparent;

  line-height: 1;

}



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

  .sec--work .card-wrap .card__ttl .card__num {

    padding: 25px 0 34px;

  }

}



.sec--work .card-wrap .card__ttl .card__num span {

  font-size: 14px;

  line-height: 1;

  position: absolute;

  right: 0;

  bottom: 14px;

  margin: 6px 0 0;

  padding: 0;

  font-family: 'Libre Caslon Display', serif;

}



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

  .sec--work .card-wrap .card__ttl .card__num span {

    font-size: 11px;

  }

}



.sec--work .card-wrap .card__ttl .card__num::after {

  display: none;

}



.sec--work .card-wrap .card__img-wrap {

  position: relative;

}



.sec--work .card-wrap .card__img .img {

  overflow: hidden;

  padding-top: 157.89%;

}



.sec--work .card-wrap .card__img::before {

  display: none;

}



.sec--work .card-wrap .card__img .arrow {

  right: 20px;

}



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

  .sec--work .card-wrap .card__text {

    font-size: 12px;

    line-height: 1.8;

  }

}



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

  .sec--work .card-wrap .prev, .sec--work .card-wrap .next {

    width: 50px;

    height: 50px;

    background-color: rgba(30, 39, 47, .2);

    border-radius: 50%;

    position: absolute;

    top: 85px;

    right: 25px;

  }

  .sec--work .card-wrap .prev .arrow, .sec--work .card-wrap .next .arrow {

    display: block;

    position: absolute;

    left: 50%;

    top: 50%;

    -webkit-transform: translate(-50%, -50%);

    transform: translate(-50%, -50%);

    width: 25px;

    height: 12px;

    background: url(../img/common/icon_link_white.svg) no-repeat;

    background-size: contain;

  }

  .sec--work .card-wrap .prev .arrow::before, .sec--work .card-wrap .next .arrow::before {

    content: "";

    position: absolute;

    top: 50%;

    left: 0;

    -webkit-transform: translateY(-50%);

    transform: translateY(-50%);

    width: 24px;

    height: 1px;

    background-color: #fff;

  }

}



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

  .sec--work .card-wrap .prev {

    left: 25px;

  }

  .sec--work .card-wrap .prev .arrow {

    -webkit-transform: translate(-50%, -50%) scale(-1, 1);

    transform: translate(-50%, -50%) scale(-1, 1);

  }

}



.sec--culture .banner {

  margin-bottom: 20px;

  background-image: url(../img/index/bg_culture.png);

  background-color: #6aa0db;

}



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

  .sec--culture .banner {

    width: auto;

    margin-left: 120px;

    padding-bottom: 0;

  }

}



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

  .sec--culture .banner {

    width: auto;

    margin: 0 0 10px 8vw;

    padding-bottom: 18vw;

  }

}



.sec--culture .banner::after {

  content: "CULTURE";

  -webkit-writing-mode: vertical-rl;

  -ms-writing-mode: tb-rl;

  writing-mode: vertical-rl;

  left: -0.5em;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

}



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

  .sec--culture .banner::after {

    -webkit-writing-mode: inherit;

    -ms-writing-mode: inherit;

    writing-mode: inherit;

    top: -0.5em;

    left: 50%;

    -webkit-transform: translateX(-50%);

    transform: translateX(-50%);

  }

}



.sec--culture .banner__ttl {

  max-width: 287px;

}



.sec--culture .banner__ttl__inner {

  max-height: 188px;

  height: 13.055vw;

}



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

  .sec--culture .banner__ttl__inner {

    height: 35.733vw;

  }

}



.sec--culture .banner__ttl__inner>div:first-child {

  max-width: 277px;

  width: 19.236vw;

}



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

  .sec--culture .banner__ttl__inner>div:first-child {

    width: 49.866vw;

  }

}



.sec--culture .banner__ttl__inner>div:first-child img {

  width: 19.236vw;

}



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

  .sec--culture .banner__ttl__inner>div:first-child img {

    width: 49.866vw;

  }

}



.sec--culture .banner__ttl__inner>div:nth-child(2) {

  max-width: 287px;

  width: 19.93vw;

}



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

  .sec--culture .banner__ttl__inner>div:nth-child(2) {

    width: 52.533vw;

  }

}



.sec--culture .banner__ttl__inner>div:nth-child(2) img {

  width: 19.93vw;

}



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

  .sec--culture .banner__ttl__inner>div:nth-child(2) img {

    width: 52.533vw;

  }

}



.sec--culture .banner__ttl__inner>div:nth-child(3) {

  max-width: 140px;

  width: 9.722vw;

}



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

  .sec--culture .banner__ttl__inner>div:nth-child(3) {

    width: 24vw;

  }

}



.sec--culture .banner__ttl__inner>div:nth-child(3) img {

  width: 9.722vw;

}



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

  .sec--culture .banner__ttl__inner>div:nth-child(3) img {

    width: 24vw;

  }

}



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

  .sec--culture .content {

    margin-top: 120px;

  }

}



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

  .sec--culture .content {

    margin-top: 0;

  }

}



.sec--culture .content__ttl__jp {

  letter-spacing: -0.06em;

  background-color: #6aa0db;

}



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

  .sec--culture .card-wrap .card {

    margin-bottom: 40px;

  }

  .sec--culture .card-wrap .card:last-child {

    margin-bottom: 0;

  }

}



.sec--culture .card-wrap .card__img {

  margin-bottom: 40px;

}



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

  .sec--culture .card-wrap .card__img {

    margin-bottom: 25px;

  }

}



.sec--culture .card-wrap .card__type {

  letter-spacing: 0.06em;

  display: inline-block;

  width: auto;

  margin-bottom: 20px;

  font-size: 16px;

  line-height: 2;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  border-top: solid 1px #1e1e1e;

  border-bottom: solid 1px #1e1e1e;

}



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

  .sec--culture .card-wrap .card__type {

    margin-bottom: 15px;

    font-size: 13px;

    line-height: 1.7;

  }

}



.sec--culture .card-wrap .card__type::after {

  display: none;

}



.sec--culture .card-wrap .card__ttl {

  position: inherit;

  top: inherit;

  left: inherit;

  width: auto;

  -webkit-writing-mode: inherit;

  -ms-writing-mode: inherit;

  writing-mode: inherit;

  font-size: 22px;

}



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

  .sec--culture .card-wrap .card__ttl {

    font-size: 17px;

  }

}



.sec--culture .card-wrap .card__tag {

  margin-top: 25px;

}



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

  .sec--culture .card-wrap .card__tag {

    margin-top: 15px;

  }

}



.message .kv {

  position: relative;

  width: calc(100% - 8.3vw);

  margin: 0 0 80px auto;

  padding-bottom: 85px;

}



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

  .message .kv {

    width: calc(100% - 8vw);

    margin: 0 0 50px auto;

    padding-bottom: 141px;

  }

}



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

  .message .kv {

    padding-bottom: 220px;

  }

}



.message .kv__img {

  width: 100%;

  height: 0;

  padding-top: 44%;

  background-repeat: no-repeat;

  background-size: cover;

  background-position: center;

}



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

  .message .kv__img {

    padding-top: 0;

    height: 420px;

  }

}



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

  .message .kv__img {

    height: 0;

    padding-top: 44%;

  }

}



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

  .message .kv__img {

    padding-top: 91.3%;

  }

}



.message .kv__text {

  opacity: 0;

  position: absolute;

  left: 0;

  bottom: 0;

  width: 840px;

  padding: 68px 68px 15px 0;

  background-color: #fff;

  -webkit-animation: left 1s 0s ease forwards;

  animation: left 1s 0s ease forwards;

}



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

  .message .kv__text {

    width: calc(100% - 8vw);

    padding: 36px 36px 0 0;

  }

}



.message .kv__text::after {

  opacity: 0;

  content: "";

  position: absolute;

  left: 0;

  top: 0;

  display: block;

  width: 264px;

  height: 8px;

  background-color: #72c9f3;

  -webkit-animation: fadein 1s 1s ease forwards;

  animation: fadein 1s 1s ease forwards;

}



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

  .message .kv__text::after {

    width: 132px;

    height: 4px;

  }

}



.message .kv__ttl {

  opacity: 0;

  font-size: 16px;

  letter-spacing: 0.1em;

  position: relative;

  overflow: hidden;

  -webkit-animation: fadein 1s 2s ease forwards;

  animation: fadein 1s 2s ease forwards;

}



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

  .message .kv__ttl {

    font-size: 12px;

  }

}



.message .kv__ttl__en {

  display: block;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 48px;

  letter-spacing: 0.03em;

}



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

  .message .kv__ttl__en {

    margin-top: 20px;

    font-size: 30px;

    line-height: 1.1;

  }

}



.message .kv__tag {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

  opacity: 0;

  margin: 10px 16% 0 0;

  -webkit-animation: fadein 1s 2.5s ease forwards;

  animation: fadein 1s 2.5s ease forwards;

}



.message .kv__tag li {

  margin: 0 4px 4px 0;

}



.message .kv__tag a {

  display: block;

  padding: 4px 10px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  font-size: 12px;

  border-radius: 2px;

  background-color: #f5f5f5;

  -webkit-transition: all .3s;

  transition: all .3s;

}



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

  .message .kv__tag a {

    padding: 5px 8px 5px 5px;

    font-size: 11px;

  }

}



.message .kv__tag a::before {

  content: "\00266f";

}



.message .kv__tag a:hover {

  text-decoration: none;

  background-color: #e7e7e7;

  cursor: pointer;

}



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

  .message .kv__tag {

    margin-top: 15px;

  }

}



.message .bg {

  position: relative;

  background: -webkit-gradient(linear, left top, right top, color-stop(0, #fff), color-stop(8.3vw, #fff), color-stop(8.3vw, #f5f5f5), to(#f5f5f5));

  background: linear-gradient(to right, #fff 0, #fff 8.3vw, #f5f5f5 8.3vw, #f5f5f5 100%);

}



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

  .message .bg {

    background: #f5f5f5;

  }

}



.message .bg::after {

  content: "";

  position: absolute;

  left: 0;

  top: 0;

  display: block;

  width: 100%;

  height: 180px;

  background-color: #fff;

}



.message .ceo {

  position: relative;

  z-index: 1;

}



.message .ceo::before {

  content: "";

  position: absolute;

  bottom: 0;

  left: 0;

  width: calc(100% - 8.3vw);

  height: 400px;

  background: url(../img/feature/message/bg_ceo_pc.png) no-repeat center;

  background-size: cover;

  -webkit-box-shadow: 0px 10px 25px 0px rgba(29, 50, 68, .04);

  box-shadow: 0px 10px 25px 0px rgba(29, 50, 68, .04);

}



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

  .message .ceo::before {

    width: 100%;

    height: 322px;

    background: url(../img/feature/message/bg_ceo_sp.png) no-repeat center;

    background-size: cover;

  }

}



.message .ceo .wrap {

  position: relative;

  z-index: 1;

}



.message .ceo .inner {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: end;

  -ms-flex-align: end;

  align-items: flex-end;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  max-width: 66.66%;

  min-width: 960px;

  margin: 0 auto 120px;

  padding: 0 0 80px;

}



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

  .message .ceo .inner {

    margin-bottom: 0;

    -webkit-box-orient: vertical;

    -webkit-box-direction: reverse;

    -ms-flex-direction: column-reverse;

    flex-direction: column-reverse;

    padding: 0 7.7% 40px;

    min-width: inherit;

    max-width: inherit;

  }

}



.message .ceo__text {

  width: 240px;

  border-top: solid 1px #fff;

  border-bottom: solid 1px #fff;

}



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

  .message .ceo__text {

    width: 100%;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-align: center;

    -ms-flex-align: center;

    align-items: center;

    -webkit-box-pack: center;

    -ms-flex-pack: center;

    justify-content: center;

    border-top: solid 1px rgba(255, 255, 255, .12);

    border-bottom: solid 1px rgba(255, 255, 255, .12);

  }

}



.message .ceo__text dt {

  padding-top: 55px;

  color: #fff;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  font-size: 16px;

  text-align: center;

  line-height: 1.875;

  margin-bottom: 30px;

}



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

  .message .ceo__text dt {

    margin: 0 25px 0 0;

    padding: 20px 0;

    font-size: 12px;

  }

}



.message .ceo__text dd {

  padding-bottom: 55px;

  text-align: center;

}



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

  .message .ceo__text dd {

    width: 140px;

    height: 30px;

    padding-bottom: 0;

  }

  .message .ceo__text dd img {

    width: 100%;

  }

}



.message .ceo__img {

  width: calc(100% - 360px);

  height: 0;

  padding-top: 39%;

  background-repeat: no-repeat;

  background-size: cover;

  background-position: center;

}



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

  .message .ceo__img {

    margin-bottom: 30px;

    width: 100%;

    padding-top: 63.49%;

  }

}



.message .message-text {

  margin-bottom: 120px;

}



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

  .message .message-text {

    margin-bottom: 0;

  }

}



.message .message-text .wrap {

  background-color: #fff;

  -webkit-box-shadow: 0px 10px 25px 0px rgba(29, 50, 68, .02);

  box-shadow: 0px 10px 25px 0px rgba(29, 50, 68, .02);

}



.message .message-text .inner {

  padding: 100px 0;

}



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

  .message .message-text .inner {

    padding: 50px 0 40px;

  }

}



.message .message-text .block {

  opacity: 0;

  max-width: 600px;

}



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

  .message .message-text .block {

    max-width: inherit;

  }

}



.message .message-text .block .ttl--marker {

  text-align: center;

  margin: 0 auto 60px;

}



.message .message-text .block .ttl--marker span {

  display: inline-block;

  font-family: YakuHanMP, 'Noto Serif JP', serif;

  font-weight: 500;

  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, rgba(114, 201, 243, .8)));

  background: linear-gradient(transparent 70%, rgba(114, 201, 243, .8) 70%);

  -webkit-font-feature-settings: 'palt';

  font-feature-settings: 'palt';

}



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

  .message .message-text .block .ttl--marker span {

    background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, rgba(114, 201, 243, .5)), color-stop(95%, rgba(114, 201, 243, .5)), color-stop(95%, transparent));

    background: linear-gradient(transparent 70%, rgba(114, 201, 243, .5) 70%, rgba(114, 201, 243, .5) 95%, transparent 95%);

  }

}



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

  .message .message-text .block .ttl--marker {

    margin: 0 auto 40px;

  }

}



.message .message-text .block .ttl--marker span {

  font-size: 36px;

  letter-spacing: 0.2em;

  line-height: 1.5;

}



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

  .message .message-text .block .ttl--marker span {

    font-size: 25px;

    letter-spacing: 0.16em;

  }

}



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

  .message .message-text .block .ttl--marker span {

    font-size: 6vw;

  }

}



.message .message-text .block .text {

  font-size: 14px;

  line-height: 2.28;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

  letter-spacing: 0.03em;

  text-align: justify;

}



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

  .message .message-text .block .text {

    font-size: 12px;

  }

}



.message .message-text .block .text p {

  margin-bottom: 2.28em;

}



.message .message-text .block .text p:last-child {

  margin-bottom: 0;

}



.message .message-text--01 .wrap {

  position: relative;

  width: calc(100% - 8.3vw);

  margin: 0 auto 0 0;

}



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

  .message .message-text--01 .wrap {

    width: 100%;

    margin: 0;

    padding: 0 8.3vw 50px;

  }

}



.message .message-text--01 .wrap::after {

  opacity: 0;

  content: "";

  position: absolute;

  right: -8.3vw;

  top: 50%;

  display: block;

  width: 36.36%;

  height: 0;

  padding-top: 27.36%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  background: url(../img/feature/message/img01.png) no-repeat center;

  background-size: cover;

}



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

  .message .message-text--01 .wrap::after {

    position: inherit;

    right: inherit;

    top: inherit;

    width: 100%;

    padding-top: 62.5%;

    -webkit-transform: none;

    transform: none;

  }

}



.message .message-text--01 .block {

  width: 50%;

  margin: 0 36.36% 0 18.18%;

}



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

  .message .message-text--01 .block {

    width: auto;

    margin: 0;

  }

}



.message .message-text--01.animtrigger.view .wrap::after {

  -webkit-animation: photo 1s 0s ease forwards;

  animation: photo 1s 0s ease forwards;

}



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

  .message .message-text--01.animtrigger.view .wrap::after {

    -webkit-animation: sec-anim 1s 0s ease forwards;

    animation: sec-anim 1s 0s ease forwards;

  }

}



.message .message-text--01.animtrigger.view .wrap .block {

  -webkit-animation: fadein 1s 1s ease forwards;

  animation: fadein 1s 1s ease forwards;

}



.message .message-text--02 .sec {

  padding-top: 35%;

  position: relative;

}



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

  .message .message-text--02 .sec {

    padding-top: 700px;

  }

}



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

  .message .message-text--02 .sec {

    padding-top: 56.4%;

  }

}



.message .message-text--02 .sec::after {

  opacity: 0;

  content: "";

  position: absolute;

  left: 0;

  top: 0;

  display: block;

  width: 75%;

  height: 0;

  padding-top: 42.2%;

  background: url(../img/feature/message/img02.png) no-repeat center;

  background-size: cover;

}



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

  .message .message-text--02 .sec::after {

    width: 100%;

    padding-top: 56.4%;

  }

}



.message .message-text--02 .wrap {

  position: relative;

  width: 960px;

  z-index: 1;

  margin: 0 0 0 auto;

}



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

  .message .message-text--02 .wrap {

    width: auto;

  }

}



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

  .message .message-text--02 .inner {

    padding-bottom: 50px;

  }

}



.message .message-text--02 .block {

  margin: 0 25% 0 12.5%;

}



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

  .message .message-text--02 .block {

    margin: 0 8vw;

  }

}



.message .message-text--02.animtrigger.view .sec::after {

  -webkit-animation: sec-anim 1s 0s ease forwards;

  animation: sec-anim 1s 0s ease forwards;

}



.message .message-text--02.animtrigger.view .sec .inner.animtrigger.view .block {

  -webkit-animation: fadein 1s 1s ease forwards;

  animation: fadein 1s 1s ease forwards;

}



.message .message-text--03 {

  margin-bottom: 0;

}



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

  .message .message-text--03 {

    padding: 58.266% 0 30px;

  }

}



.message .message-text--03 .sec {

  position: relative;

  padding-bottom: 120px;

}



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

  .message .message-text--03 .sec {

    padding-bottom: 0;

  }

}



.message .message-text--03 .sec::before {

  opacity: 0;

  content: "";

  position: absolute;

  left: 0;

  top: -120px;

  display: block;

  width: 21%;

  height: 0;

  padding-top: 30.27%;

  background: url(../img/feature/message/img03.png) no-repeat center;

  background-size: cover;

  z-index: 1;

}



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

  .message .message-text--03 .sec::before {

    width: 40%;

    padding-top: 58.13%;

    left: 8vw;

    top: calc(-58.26vw - -30px);

  }

}



.message .message-text--03 .sec::after {

  opacity: 0;

  content: "";

  position: absolute;

  right: 0;

  bottom: 0;

  display: block;

  width: 21%;

  height: 0;

  padding-top: 30.27%;

  background: url(../img/feature/message/img04.png) no-repeat center;

  background-size: cover;

  z-index: 1;

}



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

  .message .message-text--03 .sec::after {

    width: 40%;

    padding-top: 58.13%;

    right: 8vw;

    top: calc(-58.26vw - -30px);

    bottom: inherit;

  }

}



.message .message-text--03 .wrap {

  position: relative;

  width: calc(100% - 16.66vw);

  margin: 0 8.3vw;

}



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

  .message .message-text--03 .wrap {

    margin: 0;

    width: auto;

  }

}



.message .message-text--03 .block {

  margin: 0 auto;

}



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

  .message .message-text--03 .block {

    margin: 0 8vw;

  }

}



.message .message-text--03.animtrigger.view .sec::before {

  -webkit-animation: sec-anim 1s 0s ease forwards;

  animation: sec-anim 1s 0s ease forwards;

}



.message .message-text--03.animtrigger.view .sec::after {

  -webkit-animation: sec-anim 1s .5s ease forwards;

  animation: sec-anim 1s .5s ease forwards;

}



.message .message-text--03.animtrigger.view .sec .block {

  -webkit-animation: fadein 1s 0s ease forwards;

  animation: fadein 1s 0s ease forwards;

}



.message .philosophy {

  position: relative;

  z-index: 1;

  margin-bottom: 120px;

}



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

  .message .philosophy {

    margin-bottom: 0;

    background-color: #fff;

  }

}



.message .philosophy::before {

  content: "";

  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 400px;

  background: #72c9f3;

}



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

  .message .philosophy::before {

    width: 100%;

    height: 255px;

  }

}



.message .philosophy .wrap {

  position: relative;

  z-index: 1;

}



.message .philosophy .inner {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: end;

  -ms-flex-align: end;

  align-items: flex-end;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  max-width: 66.66%;

  min-width: 960px;

  margin: 0 auto;

  padding: 0;

}



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

  .message .philosophy .inner {

    padding: 0 5.3vw 0;

    min-width: inherit;

    max-width: inherit;

  }

}



.message .philosophy__text {

  width: 100%;

}



.message .philosophy__text dt {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  width: 720px;

  margin: 0 auto 60px;

  padding-top: 100px;

  color: #fff;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 36px;

  line-height: 1;

  text-align: center;

  letter-spacing: 0.13em;

}



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

  .message .philosophy__text dt {

    width: calc(100% - 20px);

    margin-bottom: 40px;

    padding-top: 50px;

    font-size: 25px;

  }

}



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

  .message .philosophy__text dt {

    font-size: 20px;

  }

}



.message .philosophy__text dt::before, .message .philosophy__text dt::after {

  content: "";

  display: block;

  width: 210px;

  height: 6px;

  border-top: solid 1px #fff;

  border-bottom: solid 1px #fff;

}



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

  .message .philosophy__text dt::before, .message .philosophy__text dt::after {

    width: calc(50% - 86px);

    border-top: solid 1px rgba(255, 255, 255, .4);

    border-bottom: solid 1px rgba(255, 255, 255, .4);

  }

}



.message .philosophy__text dd {

  position: relative;

  background-color: #fff;

  padding: 80px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 22px;

  text-align: center;

  line-height: 2.18;

  letter-spacing: 0.15em;

  -webkit-box-shadow: 0px 10px 25px 0px rgba(29, 50, 68, .02);

  box-shadow: 0px 10px 25px 0px rgba(29, 50, 68, .02);

}



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

  .message .philosophy__text dd {

    padding: 35px 20px;

    font-size: 13px;

    line-height: 1.8;

    letter-spacing: 0.09em;

  }

}



.message .philosophy__text dd::after {

  content: "";

  position: absolute;

  top: 10px;

  left: 10px;

  display: block;

  width: calc(100% - 20px);

  height: calc(100% - 20px);

  border: solid 1px #1e1e1e;

}



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

  .message .philosophy__text dd::after {

    top: 5px;

    left: 5px;

    width: calc(100% - 10px);

    height: calc(100% - 10px);

  }

}



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

  .message .sec--feature .card-wrap .card:last-child {

    margin-bottom: 0;

  }

}



.discussion {

  counter-reset: chapter 0;

}



.discussion .kv {

  position: relative;

  width: calc(100% - 8.3vw);

  margin: 0 0 0 auto;

  padding-bottom: 358px;

}



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

  .discussion .kv {

    padding-bottom: 0;

  }

}



.discussion .kv::after {

  content: "";

  position: absolute;

  bottom: 218px;

  left: -8.3vw;

  display: block;

  width: calc(100% + 8.3vw);

  height: 280px;

  background-color: #f5f5f5;

}



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

  .discussion .kv::after {

    display: none;

  }

}



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

  .discussion .kv {

    width: calc(100% - 8vw);

  }

}



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

  .discussion .kv__img-wrap {

    position: relative;

    margin-bottom: 30px;

  }

  .discussion .kv__img-wrap::before {

    content: "";

    position: absolute;

    bottom: -82px;

    left: -8.3vw;

    display: block;

    width: 100%;

    height: 165px;

    background-color: #f5f5f5;

  }

}



.discussion .kv__img {

  position: relative;

  z-index: 1;

  width: 100%;

  height: 0;

  padding-top: 44%;

  background-repeat: no-repeat;

  background-size: cover;

  background-position: center;

}



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

  .discussion .kv__img {

    padding-top: 0;

    height: 420px;

  }

}



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

  .discussion .kv__img {

    height: 0;

    padding-top: 44%;

  }

}



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

  .discussion .kv__img {

    padding-top: 71%;

  }

}



.discussion .kv__ttl-area {

  position: absolute;

  left: 40px;

  bottom: 312px;

  z-index: 1;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: reverse;

  -ms-flex-direction: row-reverse;

  flex-direction: row-reverse;

}



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

  .discussion .kv__ttl-area {

    position: relative;

    z-index: 2;

    position: inherit;

    bottom: inherit;

    left: inherit;

    display: block;

  }

}



.discussion .kv__ttl {

  opacity: 0;

  margin-left: 30px;

  line-height: 1;

  -webkit-writing-mode: vertical-rl;

  -ms-writing-mode: tb-rl;

  writing-mode: vertical-rl;

  color: #fff;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 20px;

  letter-spacing: 0.02em;

  -webkit-animation: fadein 0.5s 1s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 1s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



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

  .discussion .kv__ttl {

    margin: 0 0 20px;

    -webkit-writing-mode: inherit;

    -ms-writing-mode: inherit;

    writing-mode: inherit;

    font-size: 14px;

    color: #1e1e1e;

  }

}



.discussion .kv__ttl span {

  font-family: 'Libre Caslon Display', serif;

  font-size: 19px;

  margin-top: 10px;

}



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

  .discussion .kv__ttl span {

    font-size: 14px;

    margin-left: 6px;

  }

}



.discussion .kv__catch {

  overflow: hidden;

}



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

  .discussion .kv__catch.pc-on {

    display: none;

  }

  .discussion .kv__catch.sp-on {

    display: block !important;

  }

}



.discussion .kv__catch .img-wrap {

  opacity: 0;

  float: right;

  margin-left: 4px;

  position: relative;

  overflow: hidden;

  -webkit-animation: fadein 0.5s 1.1s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 1.1s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



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

  .discussion .kv__catch .img-wrap {

    float: none;

    margin-left: 0;

  }

  .discussion .kv__catch .img-wrap span {

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-align: center;

    -ms-flex-align: center;

    align-items: center;

    -webkit-box-pack: center;

    -ms-flex-pack: center;

    justify-content: center;

    font-family: 'Noto Serif JP', serif;

    font-weight: 500;

    font-size: 28px;

    color: #fff;

    background-color: #72c9f3;

    letter-spacing: 0.07em;

  }

}



.discussion .kv__catch .img-wrap::before {

  opacity: 0;

  content: "";

  width: 100%;

  height: 100%;

  display: inline-block;

  position: absolute;

  left: 0;

  top: 0;

  background-color: #72c9f3;

  z-index: 2;

}



.discussion .kv__catch .img-wrap:nth-child(1) {

  width: 60px;

  height: 246px;

}



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

  .discussion .kv__catch .img-wrap:nth-child(1) {

    width: 160px;

    height: 40px;

    margin-bottom: 5px;

  }

  .discussion .kv__catch .img-wrap:nth-child(1) span {

    width: 160px;

    height: 40px;

  }

}



.discussion .kv__catch .img-wrap:nth-child(2) {

  width: 60px;

  height: 200px;

}



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

  .discussion .kv__catch .img-wrap:nth-child(2) {

    width: 130px;

    height: 40px;

  }

  .discussion .kv__catch .img-wrap:nth-child(2) span {

    width: 130px;

    height: 40px;

  }

}



.discussion .kv__catch .img-wrap:last-child {

  margin-left: 0;

}



.discussion .kv__catch .img-wrap::before {

  -webkit-animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), kvblockIn 0.6s 0.5s cubic-bezier(0.77, 0, 0.175, 1), kvblockOut 0.6s 1.1s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), kvblockIn 0.6s 0.5s cubic-bezier(0.77, 0, 0.175, 1), kvblockOut 0.6s 1.1s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



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

  .discussion .kv__catch .img-wrap::before {

    -webkit-animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 0.5s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 1.1s cubic-bezier(0.77, 0, 0.175, 1);

    animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 0.5s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 1.1s cubic-bezier(0.77, 0, 0.175, 1);

    -webkit-animation-fill-mode: both;

    animation-fill-mode: both;

  }

}



.discussion .kv__catch .img-wrap:nth-child(2) {

  -webkit-animation: fadein 0.5s 1.6s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 1.6s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.discussion .kv__catch .img-wrap:nth-child(2)::before {

  -webkit-animation: fadein 0.5s 0.5s cubic-bezier(0.77, 0, 0.175, 1), kvblockIn 0.6s 1s cubic-bezier(0.77, 0, 0.175, 1), kvblockOut 0.6s 1.6s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 0.5s cubic-bezier(0.77, 0, 0.175, 1), kvblockIn 0.6s 1s cubic-bezier(0.77, 0, 0.175, 1), kvblockOut 0.6s 1.6s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



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

  .discussion .kv__catch .img-wrap:nth-child(2)::before {

    -webkit-animation: fadein 0.5s 0.5s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 1.6s cubic-bezier(0.77, 0, 0.175, 1);

    animation: fadein 0.5s 0.5s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 1.6s cubic-bezier(0.77, 0, 0.175, 1);

    -webkit-animation-fill-mode: both;

    animation-fill-mode: both;

  }

}



.discussion .kv__catch--2 .img-wrap:nth-child(1) {

  width: 60px;

  height: 285px;

}



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

  .discussion .kv__catch--2 .img-wrap:nth-child(1) {

    width: 189px;

    height: 40px;

    margin-bottom: 5px;

  }

  .discussion .kv__catch--2 .img-wrap:nth-child(1) span {

    width: 189px;

    height: 40px;

  }

}



.discussion .kv__catch--2 .img-wrap:nth-child(2) {

  width: 60px;

  height: 109px;

}



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

  .discussion .kv__catch--2 .img-wrap:nth-child(2) {

    width: 70px;

    height: 40px;

  }

  .discussion .kv__catch--2 .img-wrap:nth-child(2) span {

    width: 70px;

    height: 40px;

  }

}



.discussion .kv__block {

  opacity: 0;

  max-width: 960px;

  position: absolute;

  right: 0;

  bottom: 0;

  z-index: 1;

  width: 66.66vw;

  padding: 70px 80px 100px;

  background-color: #fff;

}



.discussion .kv__block.view {

  -webkit-animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), kv 1s 0.5s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), kv 1s 0.5s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



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

  .discussion .kv__block.view {

    -webkit-animation: sec-anim 0.5s 0.5s cubic-bezier(0.77, 0, 0.175, 1);

    animation: sec-anim 0.5s 0.5s cubic-bezier(0.77, 0, 0.175, 1);

    -webkit-animation-fill-mode: both;

    animation-fill-mode: both;

  }

}



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

  .discussion .kv__block {

    position: inherit;

    width: 100%;

    padding: 40px 8vw 50px 0;

  }

}



.discussion .kv__block__ttl {

  max-width: 640px;

  margin-bottom: 30px;

  font-size: 28px;

  letter-spacing: 0.06em;

}



.discussion .kv__block__ttl span {

  display: inline-block;

  font-family: YakuHanMP, 'Noto Serif JP', serif;

  font-weight: 500;

  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, rgba(114, 201, 243, .5)));

  background: linear-gradient(transparent 70%, rgba(114, 201, 243, .5) 70%);

  -webkit-font-feature-settings: 'palt';

  font-feature-settings: 'palt';

}



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

  .discussion .kv__block__ttl span {

    background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, rgba(114, 201, 243, .5)), color-stop(95%, rgba(114, 201, 243, .5)), color-stop(95%, transparent));

    background: linear-gradient(transparent 70%, rgba(114, 201, 243, .5) 70%, rgba(114, 201, 243, .5) 95%, transparent 95%);

  }

}



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

  .discussion .kv__block__ttl {

    margin-bottom: 20px;

    font-size: 18px;

    line-height: 1.6;

    letter-spacing: 0.02em;

  }

}



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

  .discussion .kv__block__ttl {

    font-size: 15px;

  }

}



.discussion .kv__block__text {

  max-width: 640px;

  margin-bottom: 40px;

  font-size: 14px;

  line-height: 2;

  letter-spacing: 0.04em;

  text-align: justify;

}



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

  .discussion .kv__block__text {

    margin-bottom: 20px;

    font-size: 12px;

    line-height: 1.8;

  }

}



.discussion .kv__block__tag {

  max-width: 640px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

}



.discussion .kv__block__tag li {

  margin: 0 4px 4px 0;

}



.discussion .kv__block__tag a {

  display: block;

  padding: 4px 10px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  font-size: 12px;

  border-radius: 2px;

  background-color: #f5f5f5;

  -webkit-transition: all .3s;

  transition: all .3s;

}



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

  .discussion .kv__block__tag a {

    padding: 5px 8px 5px 5px;

    font-size: 11px;

  }

}



.discussion .kv__block__tag a::before {

  content: "\00266f";

}



.discussion .kv__block__tag a:hover {

  text-decoration: none;

  background-color: #e7e7e7;

  cursor: pointer;

}



.discussion .sec--profile {

  margin-bottom: 100px;

}



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

  .discussion .sec--profile {

    margin-bottom: 10px;

  }

}



.discussion .sec--profile .inner {

  padding: 0;

  max-width: 960px;

  margin: 0 auto;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

}



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

  .discussion .sec--profile .inner {

    padding: 0 8vw;

  }

}



.discussion .sec--profile .inner::after {

  content: "";

  display: block;

  width: 280px;

}



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

  .discussion .sec--profile .inner::after {

    display: none;

  }

}



.discussion .sec--profile .card {

  width: 280px;

}



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

  .discussion .sec--profile .card {

    width: 100%;

    max-width: 500px;

    margin: 0 auto 40px;

  }

}



.discussion .sec--profile .card__img {

  height: 180px;

  margin-bottom: 35px;

  background-repeat: no-repeat;

  background-size: cover;

  background-position: center;

}



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

  .discussion .sec--profile .card__img {

    height: 200px;

    margin-bottom: 25px;

  }

}



.discussion .sec--profile .card__affiliation {

  font-size: 14px;

  margin-bottom: 8px;

  letter-spacing: 0.1em;

}



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

  .discussion .sec--profile .card__affiliation {

    margin-bottom: 4px;

    font-size: 12px;

  }

}



.discussion .sec--profile .card__name {

  margin-bottom: 8px;

  font-family: 'Noto Serif JP', serif;

  font-size: 22px;

  letter-spacing: 0.07em;

}



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

  .discussion .sec--profile .card__name {

    margin-bottom: 4px;

    font-size: 19px;

  }

}



.discussion .sec--profile .card__year {

  margin-bottom: 35px;

  font-size: 14px;

  letter-spacing: 0.1em;

}



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

  .discussion .sec--profile .card__year {

    margin-bottom: 20px;

    font-size: 12px;

  }

}



.discussion .sec--profile .card__text {

  font-size: 14px;

  letter-spacing: 0.04em;

  line-height: 2;

}



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

  .discussion .sec--profile .card__text {

    font-size: 12px;

    line-height: 1.8;

  }

}



.discussion .chapter-wrap .sec--chapter:nth-of-type(1) .chapter {

  position: relative;

  margin-top: -223px;

  z-index: 1;

}



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

  .discussion .chapter-wrap .sec--chapter:nth-of-type(1) .chapter {

    margin-top: 0;

  }

  .discussion .chapter-wrap .sec--chapter:nth-of-type(1) .chapter::before, .discussion .chapter-wrap .sec--chapter:nth-of-type(1) .chapter::after {

    content: "";

    position: absolute;

    display: block;

    background-color: #f5f5f5;

  }

  .discussion .chapter-wrap .sec--chapter:nth-of-type(1) .chapter::before {

    width: 80px;

    height: 129px;

    top: 0;

    left: 0;

  }

  .discussion .chapter-wrap .sec--chapter:nth-of-type(1) .chapter::after {

    width: 80px;

    height: 80px;

    top: 50px;

    right: 0;

  }

}



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

  .discussion .chapter-wrap .sec--chapter:nth-of-type(2) .chapter__ttl-area {

    position: relative;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-pack: justify;

    -ms-flex-pack: justify;

    justify-content: space-between;

    max-width: 305px;

    margin: 0 0 40px auto;

  }

  .discussion .chapter-wrap .sec--chapter:nth-of-type(2) .chapter__ttl-area::before {

    position: absolute;

    right: -8vw;

    top: -50px;

    content: "";

    display: block;

    width: 160px;

    height: 320px;

    background-color: #f5f5f5;

  }

}



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

  .discussion .chapter-wrap .sec--chapter:nth-of-type(2) .sec--chapter__content__img.pc-on {

    display: none;

  }

  .discussion .chapter-wrap .sec--chapter:nth-of-type(2) .sec--chapter__content__img.sp-on {

    display: block;

    width: 180px;

    height: 320px;

    position: relative;

    z-index: 1;

  }

}



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

  .discussion .chapter-wrap .sec--chapter:nth-of-type(2) .sec--chapter__img-wrap {

    margin-left: 8vw;

    height: 220px;

  }

}



.discussion .chapter-wrap .sec--chapter:nth-of-type(2) .sec--chapter__img-wrap::after {

  left: inherit;

  right: 0;

  bottom: 0;

}



.discussion .chapter-wrap .sec--chapter:nth-of-type(2) .sec--chapter__img {

  margin-left: auto;

}



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

  .discussion .chapter-wrap .sec--chapter:nth-of-type(2) .sec--chapter__img {

    height: 220px;

  }

}



.discussion .chapter-wrap .sec--chapter:nth-of-type(2) .chapter {

  margin-left: 0;

  padding: 5.55% 5.55% 6.94% 8.33%;

}



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

  .discussion .chapter-wrap .sec--chapter:nth-of-type(2) .chapter {

    padding: 50px 8vw;

  }

}



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

  .discussion .chapter-wrap .sec--chapter:nth-of-type(3) .chapter__ttl-area {

    position: relative;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-pack: justify;

    -ms-flex-pack: justify;

    justify-content: space-between;

    -webkit-box-orient: horizontal;

    -webkit-box-direction: reverse;

    -ms-flex-direction: row-reverse;

    flex-direction: row-reverse;

    margin: 0 auto 40px 0;

    max-width: 305px;

  }

  .discussion .chapter-wrap .sec--chapter:nth-of-type(3) .chapter__ttl-area::before {

    position: absolute;

    left: -8vw;

    top: -50px;

    content: "";

    display: block;

    width: 160px;

    height: 320px;

    background-color: #f5f5f5;

  }

}



.discussion .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__content__img {

  background-position: right;

}



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

  .discussion .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__content__img.pc-on {

    display: none;

  }

  .discussion .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__content__img.sp-on {

    display: block;

    width: 180px;

    height: 320px;

    position: relative;

    z-index: 1;

  }

}



.discussion .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__img-wrap {

  height: 580px;

}



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

  .discussion .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__img-wrap {

    margin-right: 8vw;

    height: 220px;

  }

  .discussion .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__img-wrap .sec--chapter__img {

    height: 220px;

  }

}



.discussion .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__img-wrap::after {

  display: none;

}



.discussion .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__content {

  -webkit-box-orient: horizontal;

  -webkit-box-direction: reverse;

  -ms-flex-direction: row-reverse;

  flex-direction: row-reverse;

  position: relative;

}



.discussion .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__content::before {

  position: absolute;

  left: 0;

  top: 0;

  content: "";

  display: block;

  width: 16.66%;

  height: 100%;

  background-color: #f5f5f5;

}



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

  .discussion .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__content::before {

    display: none;

  }

}



.discussion .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__content__img {

  position: relative;

  z-index: 1;

  margin-top: 6.94%;

}



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

  .discussion .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__content__img {

    margin-top: 0;

  }

}



.discussion .chapter-wrap .sec--chapter:nth-of-type(3) .chapter {

  padding-top: 6.94%;

}



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

  .discussion .chapter-wrap .sec--chapter:nth-of-type(3) .chapter {

    padding-top: 50px;

  }

}



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

  .discussion .chapter-wrap .sec--chapter:nth-of-type(3) .chapter__ttl {

    margin-bottom: 0;

  }

}



.discussion .chapter-wrap .sec--chapter:nth-of-type(3) .chapter__ttl .up {

  -webkit-text-combine: horizontal;

  -ms-text-combine-horizontal: all;

  text-combine-upright: all;

}



.discussion .chapter-wrap__img {

  width: 100%;

  height: 580px;

  background-repeat: no-repeat;

  background-position: center;

  background-size: cover;

}



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

  .discussion .chapter-wrap__img {

    height: 220px;

  }

}



.discussion .sec--chapter__img-wrap {

  position: relative;

  height: 700px;

}



.discussion .sec--chapter__img-wrap.animtrigger {

  opacity: 0;

}



.discussion .sec--chapter__img-wrap.view {

  -webkit-animation: fadein 1s 0s cubic-bezier(0.77, 0, 0.175, 1), left2 1s 0s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 1s 0s cubic-bezier(0.77, 0, 0.175, 1), left2 1s 0s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



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

  .discussion .sec--chapter__img-wrap.view {

    -webkit-animation-duration: .5s;

    animation-duration: .5s;

  }

}



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

  .discussion .sec--chapter__img-wrap {

    height: 245px;

  }

}



.discussion .sec--chapter__img-wrap::after {

  position: absolute;

  content: "";

  display: block;

  width: 91.66%;

  height: 580px;

  background-color: #f5f5f5;

  left: 0;

  bottom: 0;

}



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

  .discussion .sec--chapter__img-wrap::after {

    display: none;

  }

}



.discussion .sec--chapter__img {

  position: relative;

  width: 83.33%;

  height: 580px;

  background-repeat: no-repeat;

  background-size: cover;

  background-position: center;

  z-index: 1;

}



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

  .discussion .sec--chapter__img {

    width: 100%;

    height: 245px;

  }

}



.discussion .sec--chapter__content {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

}



.discussion .sec--chapter__content__img {

  width: 25%;

  height: 640px;

  margin-top: 5.55%;

  background-position: center;

  background-repeat: no-repeat;

  background-size: cover;

}



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

  .discussion .sec--chapter__content__img {

    margin-top: 0;

  }

}



.discussion .sec--chapter .chapter {

  width: 72.22%;

  background-color: #fff;

  margin-left: auto;

  padding: 5.55% 8.33% 6.94% 5.55%;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

}



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

  .discussion .sec--chapter .chapter {

    display: block;

    width: auto;

    padding: 50px 8vw;

  }

}



.discussion .sec--chapter .chapter__ttl-area {

  margin-right: 9.52%;

}



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

  .discussion .sec--chapter .chapter__ttl-area {

    margin: 0 0 40px;

  }

}



.discussion .sec--chapter .chapter__ttl {

  word-break: keep-all;

}



.discussion .sec--chapter .chapter__ttl .ttl {

  width: 100%;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-writing-mode: vertical-rl;

  -ms-writing-mode: tb-rl;

  writing-mode: vertical-rl;

  font-family: 'Noto Serif JP', serif;

  font-size: 32px;

  letter-spacing: 0.05em;

  line-height: 1.75;

}



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

  .discussion .sec--chapter .chapter__ttl .ttl {

    width: auto;

    display: block;

    margin: 0 auto;

    font-size: 20px;

    line-height: 1.55;

  }

  .discussion .sec--chapter .chapter__ttl .ttl .pc-on {

    display: none;

  }

  .discussion .sec--chapter .chapter__ttl .ttl .sp-on {

    display: block;

  }

}



.discussion .sec--chapter .chapter__ttl .num {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  width: 120px;

  height: 30px;

  margin: 0 auto 36px;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 16px;

  color: #fff;

  background-color: #72c9f3;

  line-height: 30px;

  letter-spacing: -0.02em;

}



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

  .discussion .sec--chapter .chapter__ttl .num {

    width: 82px;

    height: 21px;

    font-size: 11px;

    line-height: 21px;

    margin: 0 auto 15px;

  }

}



.discussion .sec--chapter .chapter__ttl .num::after {

  counter-increment: chapter 1;

  content: counter(chapter, decimal-leading-zero);

  font-family: 'Libre Caslon Display', serif;

  font-size: 15px;

  margin-left: 0.5em;

  line-height: 30px;

  letter-spacing: 0.08em;

}



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

  .discussion .sec--chapter .chapter__ttl .num::after {

    font-size: 11px;

    line-height: 21px;

  }

}



.discussion .sec--chapter .chapter__block {

  overflow: hidden;

}



.discussion .sec--chapter .chapter__block__ttl {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  margin-bottom: 50px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 700;

  font-size: 14px;

  letter-spacing: 0.05em;

  line-height: 1.8;

}



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

  .discussion .sec--chapter .chapter__block__ttl {

    margin-bottom: 30px;

    font-size: 12px;

  }

  .discussion .sec--chapter .chapter__block__ttl .sp-on {

    display: block;

  }

}



.discussion .sec--chapter .chapter__block__ttl::before {

  content: "";

  display: block;

  width: 30px;

  height: 1px;

  margin-right: 20px;

  background-color: #1e1e1e;

}



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

  .discussion .sec--chapter .chapter__block__ttl::before {

    width: 25px;

    margin-right: 14px;

  }

}



.discussion .sec--chapter .chapter__block__text {

  margin-bottom: 40px;

  font-size: 14px;

  line-height: 2.28;

}



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

  .discussion .sec--chapter .chapter__block__text {

    margin-bottom: 30px;

    font-size: 12px;

    line-height: 1.8;

  }

}



.discussion .sec--chapter .chapter__block__text .name {

  display: inline-block;

  margin-right: 1em;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 700;

  font-size: 14px;

}



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

  .discussion .sec--chapter .chapter__block__text .name {

    font-size: 12px;

    line-height: 2.1;

  }

}



.discussion .sec--chapter .chapter__block__text .note {

  display: block;

  margin-top: 10px;

  font-size: 12px;

}



.discussion .sec--chapter .chapter__block__text:last-child {

  margin-bottom: 0;

}



.discussion .sec--chapter .chapter__block__text .underline {

  position: relative;

}



.discussion .sec--chapter .chapter__block__text .underline::after {

  content: "";

  display: block;

  height: 1px;

  width: 100%;

  position: absolute;

  bottom: 0;

  left: 0;

  background: #1e1e1e;

  -webkit-transform-origin: right;

  transform-origin: right;

  -webkit-transform: scale(0, 1);

  transform: scale(0, 1);

  -webkit-transition: -webkit-transform .6s;

  transition: -webkit-transform .6s;

  transition: transform .6s;

  transition: transform .6s, -webkit-transform .6s;

}



.discussion .sec--chapter .chapter__block__text .underline:hover::after {

  -webkit-transform-origin: left;

  transform-origin: left;

  -webkit-transform: scale(1, 1);

  transform: scale(1, 1);

  -webkit-transition: -webkit-transform .4s;

  transition: -webkit-transform .4s;

  transition: transform .4s;

  transition: transform .4s, -webkit-transform .4s;

}



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

  .discussion .sec--feature .card-wrap .card:last-child {

    margin-bottom: 0;

  }

}



.discussion .sec--feature .content__ttl__en {

  font-size: 40px;

}



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

  .discussion .sec--feature .content__ttl__en {

    font-size: 25px;

  }

}



.story {

  counter-reset: chapter 0;

}



.story .kv {

  position: relative;

  width: calc(100% - 8.3vw);

  margin: 0 0 120px auto;

  padding-bottom: 80px;

}



.story .kv::after {

  content: "";

  position: absolute;

  bottom: 0;

  left: -8.3vw;

  display: block;

  width: calc(100% + 8.3vw);

  height: 280px;

  background-color: #f5f5f5;

}



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

  .story .kv::after {

    display: none;

  }

}



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

  .story .kv {

    width: calc(100% - 8vw);

    margin-bottom: 0;

    padding-bottom: 0;

  }

}



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

  .story .kv__img-wrap {

    position: relative;

    margin-bottom: 30px;

  }

  .story .kv__img-wrap::before {

    content: "";

    position: absolute;

    bottom: -82px;

    left: -8.3vw;

    display: block;

    width: 100%;

    height: 165px;

    background-color: #f5f5f5;

  }

}



.story .kv__img {

  position: relative;

  z-index: 1;

  width: 100%;

  height: 0;

  padding-top: 44%;

  background-repeat: no-repeat;

  background-size: cover;

  background-position: center;

}



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

  .story .kv__img {

    padding-top: 0;

    height: 540px;

  }

}



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

  .story .kv__img {

    background-position: left;

  }

}



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

  .story .kv__img {

    padding-top: 44%;

    height: 0;

  }

}



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

  .story .kv__img {

    padding-top: 65.3%;

    height: 0;

  }

}



.story .kv__ttl-area {

  position: absolute;

  left: 80px;

  top: -75px;

  z-index: 1;

}



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

  .story .kv__ttl-area {

    position: relative;

    z-index: 2;

    position: inherit;

    top: inherit;

    left: inherit;

    display: block;

  }

}



.story .kv__ttl {

  opacity: 0;

  margin-bottom: 30px;

  line-height: 1;

  color: #1e1e1e;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 20px;

  letter-spacing: 0.02em;

  -webkit-animation: fadein 0.5s 1s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 1s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



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

  .story .kv__ttl {

    margin: 0 0 20px;

    -webkit-writing-mode: inherit;

    -ms-writing-mode: inherit;

    writing-mode: inherit;

    font-size: 14px;

    color: #1e1e1e;

  }

}



.story .kv__ttl span {

  font-family: 'Libre Caslon Display', serif;

  font-size: 19px;

  margin-left: 10px;

}



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

  .story .kv__ttl span {

    font-size: 14px;

    margin-left: 6px;

  }

}



.story .kv__catch {

  overflow: hidden;

}



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

  .story .kv__catch.pc-on {

    display: none;

  }

  .story .kv__catch.sp-on {

    display: block;

  }

}



.story .kv__catch .img-wrap {

  opacity: 0;

  position: relative;

  overflow: hidden;

  margin-left: 0;

  -webkit-animation: fadein 0.5s 1.1s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 1.1s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.story .kv__catch .img-wrap span {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  padding-left: 8px;

  font-family: YakuHanMP, 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 34px;

  color: #fff;

  background-color: #bdb07b;

  letter-spacing: 0.1em;

  -webkit-font-feature-settings: 'palt';

  font-feature-settings: 'palt';

}



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

  .story .kv__catch .img-wrap span {

    font-size: 21px;

    letter-spacing: 0.06em;

    padding-left: 6px;

  }

}



.story .kv__catch .img-wrap::before {

  opacity: 0;

  content: "";

  width: 100%;

  height: 100%;

  display: inline-block;

  position: absolute;

  left: 0;

  top: 0;

  background-color: #bdb07b;

  z-index: 2;

}



.story .kv__catch .img-wrap:nth-child(1) {

  width: 454px;

  height: 56px;

  margin-bottom: 3px;

}



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

  .story .kv__catch .img-wrap:nth-child(1) {

    width: 280px;

    height: 35px;

  }

}



.story .kv__catch .img-wrap:nth-child(1) img {

  width: 454px;

  height: 56px;

}



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

  .story .kv__catch .img-wrap:nth-child(1) img {

    width: 280px;

    height: 35px;

  }

}



.story .kv__catch .img-wrap:nth-child(2) {

  width: 525px;

  height: 56px;

  margin-bottom: 3px;

}



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

  .story .kv__catch .img-wrap:nth-child(2) {

    width: 315px;

    height: 35px;

  }

}



.story .kv__catch .img-wrap:nth-child(2) img {

  width: 525px;

  height: 56px;

}



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

  .story .kv__catch .img-wrap:nth-child(2) img {

    width: 315px;

    height: 35px;

  }

}



.story .kv__catch .img-wrap:nth-child(3) {

  width: 340px;

  height: 56px;

}



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

  .story .kv__catch .img-wrap:nth-child(3) {

    width: 215px;

    height: 35px;

  }

}



.story .kv__catch .img-wrap:nth-child(3) img {

  width: 340px;

  height: 56px;

}



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

  .story .kv__catch .img-wrap:nth-child(3) img {

    width: 195px;

    height: 35px;

  }

}



.story .kv__catch .img-wrap::before {

  -webkit-animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 0.5s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 1.1s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 0.5s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 1.1s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.story .kv__catch .img-wrap:nth-child(2) {

  -webkit-animation: fadein 0.5s 1.6s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 1.6s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.story .kv__catch .img-wrap:nth-child(2)::before {

  -webkit-animation: fadein 0.5s 0.5s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 1.6s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 0.5s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 1.6s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.story .kv__catch .img-wrap:nth-child(3) {

  -webkit-animation: fadein 0.5s 2.1s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 2.1s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.story .kv__catch .img-wrap:nth-child(3)::before {

  -webkit-animation: fadein 0.5s 1s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1.5s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 2.1s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 1s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1.5s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 2.1s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.story .kv__catch .img-wrap:nth-child(4) {

  -webkit-animation: fadein 0.5s 2.1s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 2.1s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.story .kv__catch .img-wrap:nth-child(4)::before {

  -webkit-animation: fadein 0.5s 1s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1.5s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 2.1s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 1s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1.5s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 2.1s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.story .kv__catch .img-wrap:nth-child(5) {

  -webkit-animation: fadein 0.5s 2.6s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 2.6s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.story .kv__catch .img-wrap:nth-child(5)::before {

  -webkit-animation: fadein 0.5s 1.5s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 2s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 2.6s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 1.5s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 2s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 2.6s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.story .kv__catch--2 .img-wrap:nth-child(1) {

  width: 320px;

  height: 56px;

  margin-bottom: 3px;

}



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

  .story .kv__catch--2 .img-wrap:nth-child(1) {

    width: 190px;

    height: 35px;

  }

}



.story .kv__catch--2 .img-wrap:nth-child(1) img {

  width: 320px;

  height: 56px;

}



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

  .story .kv__catch--2 .img-wrap:nth-child(1) img {

    width: 190px;

    height: 35px;

  }

}



.story .kv__catch--2 .img-wrap:nth-child(2) {

  width: 500px;

  height: 56px;

  margin-bottom: 3px;

}



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

  .story .kv__catch--2 .img-wrap:nth-child(2) {

    width: 300px;

    height: 35px;

  }

}



.story .kv__catch--2 .img-wrap:nth-child(2) img {

  width: 500px;

  height: 56px;

}



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

  .story .kv__catch--2 .img-wrap:nth-child(2) img {

    width: 300px;

    height: 35px;

  }

}



.story .kv__catch--2 .img-wrap:nth-child(3) {

  width: 500px;

  height: 56px;

}



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

  .story .kv__catch--2 .img-wrap:nth-child(3) {

    width: 300px;

    height: 35px;

  }

}



.story .kv__catch--2 .img-wrap:nth-child(3) img {

  width: 500px;

  height: 56px;

}



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

  .story .kv__catch--2 .img-wrap:nth-child(3) img {

    width: 300px;

    height: 35px;

  }

}



.story .kv__catch--3 .img-wrap:nth-child(1) {

  width: 335px;

  height: 56px;

  margin-bottom: 3px;

}



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

  .story .kv__catch--3 .img-wrap:nth-child(1) {

    width: 205px;

    height: 35px;

  }

}



.story .kv__catch--3 .img-wrap:nth-child(1) img {

  width: 335px;

  height: 56px;

}



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

  .story .kv__catch--3 .img-wrap:nth-child(1) img {

    width: 205px;

    height: 35px;

  }

}



.story .kv__catch--3 .img-wrap:nth-child(2) {

  width: 520px;

  height: 56px;

  margin-bottom: 3px;

}



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

  .story .kv__catch--3 .img-wrap:nth-child(2) {

    width: 315px;

    height: 35px;

  }

}



.story .kv__catch--3 .img-wrap:nth-child(2) img {

  width: 520px;

  height: 56px;

}



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

  .story .kv__catch--3 .img-wrap:nth-child(2) img {

    width: 315px;

    height: 35px;

  }

}



.story .kv__catch--3 .img-wrap:nth-child(3) {

  width: 560px;

  height: 56px;

}



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

  .story .kv__catch--3 .img-wrap:nth-child(3) {

    width: 335px;

    height: 35px;

  }

}



.story .kv__catch--3 .img-wrap:nth-child(3) img {

  width: 560px;

  height: 56px;

}



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

  .story .kv__catch--3 .img-wrap:nth-child(3) img {

    width: 335px;

    height: 35px;

  }

}



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

  .story .kv__catch--3 .img-wrap:nth-child(4) {

    width: 235px;

    height: 35px;

    margin-bottom: 3px;

  }

}



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

  .story .kv__catch--3 .img-wrap:nth-child(4) img {

    width: 235px;

    height: 35px;

  }

}



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

  .story .kv__catch--3 .img-wrap:nth-child(5) {

    width: 115px;

    height: 35px;

  }

}



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

  .story .kv__catch--3 .img-wrap:nth-child(5) img {

    width: 115px;

    height: 35px;

  }

}



.story .kv__block {

  opacity: 0;

  max-width: 720px;

  position: absolute;

  right: 0;

  bottom: 0;

  z-index: 1;

  width: 66.66vw;

  padding: 207px 80px 0;

  background-color: #fff;

}



.story .kv__block.view {

  -webkit-animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), kv 1s 0.5s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), kv 1s 0.5s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



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

  .story .kv__block.view {

    -webkit-animation: sec-anim 0.5s 0.5s cubic-bezier(0.77, 0, 0.175, 1);

    animation: sec-anim 0.5s 0.5s cubic-bezier(0.77, 0, 0.175, 1);

    -webkit-animation-fill-mode: both;

    animation-fill-mode: both;

  }

}



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

  .story .kv__block {

    position: inherit;

    width: 100%;

    padding: 0 8vw 60px 0;

    background-color: transparent;

  }

}



.story .kv__block__inner {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

}



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

  .story .kv__block__inner {

    margin-top: 40px;

  }

}



.story .kv__block__name {

  -webkit-box-flex: 0;

  -ms-flex: 0 0 100px;

  flex: 0 0 100px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: start;

  -ms-flex-align: start;

  align-items: flex-start;

}



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

  .story .kv__block__name {

    -webkit-box-flex: 0;

    -ms-flex: 0 0 63px;

    flex: 0 0 63px;

  }

}



.story .kv__block__name span {

  -webkit-writing-mode: vertical-rl;

  -ms-writing-mode: tb-rl;

  writing-mode: vertical-rl;

}



.story .kv__block__name__en {

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 12px;

  letter-spacing: 0.1em;

  line-height: 1;

  margin-left: 18px;

}



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

  .story .kv__block__name__en {

    margin-left: 10px;

    font-size: 10px;

  }

}



.story .kv__block__name__jp {

  padding: 0 19px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 30px;

  letter-spacing: 0.17em;

  border-left: solid 1px #1e1e1e;

  border-right: solid 1px #1e1e1e;

  line-height: 1;

}



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

  .story .kv__block__name__jp {

    padding: 0 10px;

    font-size: 21px;

  }

}



.story .kv__block__text-area {

  margin-left: 60px;

  width: calc(100% - 160px);

}



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

  .story .kv__block__text-area {

    margin-left: 30px;

    width: auto;

  }

}



.story .kv__block__post {

  margin-bottom: 20px;

  font-size: 14px;

  line-height: 2;

}



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

  .story .kv__block__post {

    font-size: 12px;

    line-height: 1.8;

  }

}



.story .kv__block__text {

  max-width: 640px;

  margin-bottom: 30px;

  font-size: 14px;

  line-height: 2;

  letter-spacing: 0.04em;

  text-align: justify;

}



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

  .story .kv__block__text {

    margin-bottom: 20px;

    font-size: 12px;

    line-height: 1.8;

  }

}



.story .kv__block__tag {

  max-width: 640px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

}



.story .kv__block__tag li {

  margin: 0 4px 4px 0;

}



.story .kv__block__tag a {

  display: block;

  padding: 4px 10px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  font-size: 12px;

  border-radius: 2px;

  background-color: #f5f5f5;

  -webkit-transition: all .3s;

  transition: all .3s;

}



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

  .story .kv__block__tag a {

    padding: 5px 8px 5px 5px;

    font-size: 11px;

  }

}



.story .kv__block__tag a::before {

  content: "\00266f";

}



.story .kv__block__tag a:hover {

  text-decoration: none;

  background-color: #e7e7e7;

  cursor: pointer;

}



.story .sec--chapter .chapter {

  width: 54.54%;

  background-color: #fff;

  padding: 0% 8.33% 6.94% 8.33%;

  min-width: 720px;

}



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

  .story .sec--chapter .chapter {

    display: block;

    width: auto;

    min-width: inherit;

    padding: 0 8vw 40px;

  }

}



.story .sec--chapter .chapter__ttl-area {

  margin-bottom: 30px;

}



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

  .story .sec--chapter .chapter__ttl-area {

    margin: 0 0 30px;

  }

}



.story .sec--chapter .chapter__ttl {

  word-break: keep-all;

}



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

  .story .sec--chapter .chapter__ttl {

    word-break: break-word;

  }

}



.story .sec--chapter .chapter__ttl .ttl {

  font-family: 'Noto Serif JP', serif;

  font-size: 24px;

  letter-spacing: 0.05em;

  line-height: 1.75;

}



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

  .story .sec--chapter .chapter__ttl .ttl {

    display: block;

    margin: 0 auto;

    font-size: 18px;

    line-height: 1.55;

  }

  .story .sec--chapter .chapter__ttl .ttl .pc-on {

    display: none;

  }

  .story .sec--chapter .chapter__ttl .ttl .sp-on {

    display: block;

  }

}



.story .sec--chapter .chapter__ttl .num {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  width: 120px;

  height: 30px;

  margin-bottom: 30px;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 16px;

  color: #fff;

  background-color: #bdb07b;

  line-height: 30px;

  letter-spacing: -0.02em;

  line-height: 1.75;

}



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

  .story .sec--chapter .chapter__ttl .num {

    width: 82px;

    height: 21px;

    font-size: 11px;

    line-height: 21px;

    margin: 0 0 15px 0;

  }

}



.story .sec--chapter .chapter__ttl .num::after {

  counter-increment: chapter 1;

  content: counter(chapter, decimal-leading-zero);

  font-family: 'Libre Caslon Display', serif;

  font-size: 15px;

  margin-left: 0.5em;

  line-height: 30px;

  letter-spacing: 0.08em;

}



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

  .story .sec--chapter .chapter__ttl .num::after {

    font-size: 11px;

    line-height: 21px;

  }

}



.story .sec--chapter .chapter__block__ttl {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  margin-bottom: 50px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 700;

  font-size: 14px;

  letter-spacing: 0.05em;

  line-height: 1.8;

}



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

  .story .sec--chapter .chapter__block__ttl {

    margin-bottom: 30px;

    font-size: 12px;

  }

  .story .sec--chapter .chapter__block__ttl .sp-on {

    display: block;

  }

}



.story .sec--chapter .chapter__block__ttl::before {

  content: "";

  display: block;

  width: 30px;

  height: 1px;

  margin-right: 20px;

  background-color: #1e1e1e;

}



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

  .story .sec--chapter .chapter__block__ttl::before {

    width: 25px;

    margin-right: 14px;

  }

}



.story .sec--chapter .chapter__block__text {

  margin-bottom: 40px;

  font-size: 14px;

  line-height: 2.28;

  text-align: justify;

}



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

  .story .sec--chapter .chapter__block__text {

    margin-bottom: 30px;

    font-size: 12px;

    line-height: 1.8;

  }

}



.story .sec--chapter .chapter__block__text .name {

  display: inline-block;

  margin-right: 1em;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 700;

  font-size: 14px;

}



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

  .story .sec--chapter .chapter__block__text .name {

    font-size: 12px;

  }

}



.story .sec--chapter .chapter__block__text:last-child {

  margin-bottom: 0;

}



.story .sec--chapter:nth-of-type(1) .sec--chapter__content {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  margin-left: 8.3vw;

}



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

  .story .sec--chapter:nth-of-type(1) .sec--chapter__content {

    -webkit-box-orient: vertical;

    -webkit-box-direction: reverse;

    -ms-flex-direction: column-reverse;

    flex-direction: column-reverse;

    margin-left: 0;

  }

}



.story .sec--chapter:nth-of-type(1) .sec--chapter__content__img {

  width: 45.45%;

  height: 782px;

  position: relative;

}



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

  .story .sec--chapter:nth-of-type(1) .sec--chapter__content__img {

    width: 230px;

    height: 406px;

    margin: 0 auto 7px;

  }

}



.story .sec--chapter:nth-of-type(1) .sec--chapter__content__img>div {

  width: 70%;

  max-width: 420px;

  height: 663px;

  position: relative;

  z-index: 1;

  background-repeat: no-repeat;

  background-position: center;

  background-size: cover;

  opacity: 0;

}



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

  .story .sec--chapter:nth-of-type(1) .sec--chapter__content__img>div {

    width: 230px;

    height: 363px;

  }

}



.story .sec--chapter:nth-of-type(1) .sec--chapter__content__img>div.view {

  -webkit-animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), blockIn 1s 0.5s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), blockIn 1s 0.5s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.story .sec--chapter:nth-of-type(1) .sec--chapter__content__img::before {

  content: "";

  position: absolute;

  width: 78.57%;

  height: 49.77%;

  max-width: 330px;

  max-height: 330px;

  background-color: #f5f5f5;

  right: 10%;

  bottom: 0px;

}



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

  .story .sec--chapter:nth-of-type(1) .sec--chapter__content__img::before {

    width: 150px;

    height: 150px;

    max-width: inherit;

    max-height: inherit;

    right: -43px;

    bottom: 0;

  }

}



.story .sec--chapter:nth-of-type(2) {

  position: relative;

  margin-bottom: 25px;

}



.story .sec--chapter:nth-of-type(2)::before {

  position: absolute;

  left: 0;

  top: 0;

  content: "";

  width: 20%;

  height: 100%;

  display: block;

  background-color: #f5f5f5;

}



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

  .story .sec--chapter:nth-of-type(2)::before {

    display: none;

  }

}



.story .sec--chapter:nth-of-type(2)::after {

  position: absolute;

  left: 0;

  bottom: 0;

  content: "";

  width: 83.33%;

  height: 74px;

  display: block;

  background-color: #fff;

}



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

  .story .sec--chapter:nth-of-type(2)::after {

    display: none;

  }

}



.story .sec--chapter:nth-of-type(2) .sec--chapter__content {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: reverse;

  -ms-flex-direction: row-reverse;

  flex-direction: row-reverse;

  margin-right: 8.3vw;

}



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

  .story .sec--chapter:nth-of-type(2) .sec--chapter__content {

    -webkit-box-orient: vertical;

    -webkit-box-direction: reverse;

    -ms-flex-direction: column-reverse;

    flex-direction: column-reverse;

    margin-right: 0;

  }

}



.story .sec--chapter:nth-of-type(2) .sec--chapter__content__img {

  width: 45.45%;

  height: 382px;

}



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

  .story .sec--chapter:nth-of-type(2) .sec--chapter__content__img {

    width: calc(100% - 8vw);

    height: 220px;

    margin-bottom: 50px;

  }

}



.story .sec--chapter:nth-of-type(2) .sec--chapter__content__img>div {

  width: 100%;

  height: 100%;

  position: relative;

  background-repeat: no-repeat;

  background-position: center;

  background-size: cover;

  opacity: 0;

}



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

  .story .sec--chapter:nth-of-type(2) .sec--chapter__content__img>div {

    background-position: center 20%;

  }

}



.story .sec--chapter:nth-of-type(2) .sec--chapter__content__img>div.view {

  -webkit-animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), blockIn 1s 0.5s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), blockIn 1s 0.5s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.story .sec--chapter:nth-of-type(2)>.sec--chapter__content__img {

  width: 58.33%;

  height: 534px;

  margin-right: 8.3vw;

  margin-left: auto;

}



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

  .story .sec--chapter:nth-of-type(2)>.sec--chapter__content__img {

    width: calc(100% - 8vw);

    height: 220px;

    margin: 0 0 50px auto;

  }

}



.story .sec--chapter:nth-of-type(2)>.sec--chapter__content__img>div {

  width: 100%;

  height: 100%;

  background-repeat: no-repeat;

  background-position: center;

  background-size: cover;

  opacity: 0;

}



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

  .story .sec--chapter:nth-of-type(2)>.sec--chapter__content__img>div {

    background-position: center 20%;

  }

}



.story .sec--chapter:nth-of-type(2)>.sec--chapter__content__img>div.view {

  -webkit-animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), blockIn 1s 0.5s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), blockIn 1s 0.5s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.story .sec--chapter:nth-of-type(3) .sec--chapter__content {

  margin: 0 8.3vw;

}



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

  .story .sec--chapter:nth-of-type(3) .sec--chapter__content {

    margin: 0;

  }

}



.story .sec--chapter:nth-of-type(3) .sec--chapter__content .chapter {

  padding: 0 20% 8.33% 10%;

  width: 100%;

}



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

  .story .sec--chapter:nth-of-type(3) .sec--chapter__content .chapter {

    padding: 0 8% 40px;

  }

}



.story .chapter-wrap__block {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: reverse;

  -ms-flex-direction: row-reverse;

  flex-direction: row-reverse;

  margin-bottom: 120px;

}



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

  .story .chapter-wrap__block {

    -webkit-box-orient: vertical;

    -webkit-box-direction: reverse;

    -ms-flex-direction: column-reverse;

    flex-direction: column-reverse;

    margin-bottom: 0;

  }

}



.story .chapter-wrap__block__text {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  width: 33.33%;

  font-size: 24px;

  line-height: 2;

  -webkit-writing-mode: vertical-rl;

  -ms-writing-mode: tb-rl;

  writing-mode: vertical-rl;

  letter-spacing: 0.2em;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  white-space: nowrap;

}



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

  .story .chapter-wrap__block__text {

    width: 100%;

    padding: 50px 0;

    font-size: 19px;

  }

}



.story .chapter-wrap__block__text .up {

  -webkit-text-combine: horizontal;

  -ms-text-combine-horizontal: all;

  text-combine-upright: all;

  letter-spacing: 0.1em;

}



.story .chapter-wrap__block__text .sticks {

  display: inline-block;

  margin: 5px 0;

  width: 1px;

  height: 2em;

  background-color: #1e1e1e;

}



.story .chapter-wrap__block__img {

  width: 66.66%;

  height: 580px;

  background-repeat: no-repeat;

  background-position: right top;

  background-size: cover;

  opacity: 0;

}



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

  .story .chapter-wrap__block__img {

    width: 100%;

    height: 220px;

  }

}



.story .chapter-wrap__block__img.view {

  -webkit-animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), blockIn 1s 0.5s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), blockIn 1s 0.5s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.story .sec--career {

  background-color: #bdb07b;

}



.story .sec--career .content {

  margin-bottom: 0;

  padding: 120px 14.7% 215px;

}



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

  .story .sec--career .content {

    padding: 50px 8vw 100px;

  }

}



.story .sec--career .content__block {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

}



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

  .story .sec--career .content__block {

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

  }

}



.story .sec--career .content__ttl {

  width: 37.5%;

  text-align: left;

  margin-bottom: 0;

}



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

  .story .sec--career .content__ttl {

    width: 100%;

    margin-bottom: 40px;

    text-align: center;

  }

}



.story .sec--career .content__ttl__jp {

  padding: 0;

  margin-bottom: 20px;

  font-size: 16px;

  background-color: transparent;

}



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

  .story .sec--career .content__ttl__jp {

    margin-bottom: 15px;

    font-size: 13px;

  }

}



.story .sec--career .content__ttl__en {

  font-size: 40px;

  color: #fff;

}



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

  .story .sec--career .content__ttl__en {

    font-size: 29px;

  }

}



.story .sec--career .content__list-wrap {

  width: 62.5%;

  color: #fff;

}



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

  .story .sec--career .content__list-wrap {

    width: 100%;

  }

}



.story .sec--career .content__list {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

}



.story .sec--career .content__list__ttl {

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 18px;

  width: 82px;

  -webkit-box-flex: 0;

  -ms-flex: 0 0 82px;

  flex: 0 0 82px;

}



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

  .story .sec--career .content__list__ttl {

    width: 50px;

    -webkit-box-flex: 0;

    -ms-flex: 0 0 50px;

    flex: 0 0 50px;

    font-size: 15px;

  }

}



.story .sec--career .content__list dl {

  position: relative;

  margin-bottom: 7px;

}



.story .sec--career .content__list dl::before {

  content: "";

  display: block;

  width: 1px;

  height: calc(100% - 35px);

  background-color: #fff;

  position: absolute;

  left: 12px;

  bottom: 0;

}



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

  .story .sec--career .content__list dl::before {

    left: 9px;

  }

}



.story .sec--career .content__list dl dt {

  margin-bottom: 5px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 18px;

  letter-spacing: 0.16em;

  padding-left: 58px;

  position: relative;

}



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

  .story .sec--career .content__list dl dt {

    padding-left: 32px;

    font-size: 15px;

  }

}



.story .sec--career .content__list dl dt::before {

  content: "";

  position: absolute;

  top: 2px;

  left: 0;

  width: 25px;

  height: 25px;

  border-radius: 50%;

  border: solid 1px #fff;

}



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

  .story .sec--career .content__list dl dt::before {

    width: 18px;

    height: 18px;

    top: 4px;

  }

}



.story .sec--career .content__list dl dt::after {

  content: "";

  position: absolute;

  top: 9px;

  left: 7px;

  width: 11px;

  height: 11px;

  border-radius: 50%;

  background-color: #fff;

}



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

  .story .sec--career .content__list dl dt::after {

    width: 8px;

    height: 8px;

    left: 5px;

  }

}



.story .sec--career .content__list dl dd {

  margin-bottom: 20px;

  padding-left: 58px;

  font-size: 14px;

  line-height: 2;

}



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

  .story .sec--career .content__list dl dd {

    padding-left: 32px;

    font-size: 12px;

  }

}



.story .sec--career .content__list:last-child dl, .story .sec--career .content__list:last-child dd {

  margin-bottom: 0;

}



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

  .story .sec--point .wrap {

    margin: 0 4vw;

  }

}



.story .sec--point .point {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  background-color: #f5f5f5;

  margin-top: -100px;

  padding: 100px 14.7%;

}



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

  .story .sec--point .point {

    display: block;

    margin-top: -50px;

    padding: 40px 8vw;

  }

}



.story .sec--point .point__img {

  display: block;

  margin-right: 90px;

  width: 270px;

  height: 270px;

  -webkit-box-flex: 0;

  -ms-flex: 0 0 270px;

  flex: 0 0 270px;

}



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

  .story .sec--point .point__img {

    width: 135px;

    height: 135px;

    margin: 0 auto 30px;

  }

}



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

  .story .sec--point .point__ttl {

    text-align: center;

  }

}



.story .sec--point .point__ttl__sub {

  display: inline-block;

  margin-bottom: 24px;

  padding: 1px 6px;

  font-family: 'Noto Serif JP', serif;

  font-size: 16px;

  color: #fff;

  background-color: #bdb07b;

}



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

  .story .sec--point .point__ttl__sub {

    margin: 0 auto 15px;

    font-size: 13px;

  }

}



.story .sec--point .point__ttl__main {

  display: block;

  margin-bottom: 30px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 28px;

  letter-spacing: 0.16em;

}



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

  .story .sec--point .point__ttl__main {

    margin-bottom: 25px;

    font-size: 19px;

  }

}



.story .sec--point .point__block__text {

  margin-bottom: 2.28em;

  font-size: 14px;

  line-height: 2.28;

  text-align: justify;

}



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

  .story .sec--point .point__block__text {

    margin-bottom: 1.8em;

    font-size: 12px;

    line-height: 1.8;

  }

}



.story .sec--point .point__block__text:last-child {

  margin-bottom: 0;

}



.story .sec--work {

  padding-top: 0;

}



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

  .story .sec--work .content {

    padding-top: 40px;

  }

}



.story .sec--work .content__ttl {

  margin-bottom: 60px;

}



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

  .story .sec--work .content__ttl {

    margin-bottom: 40px;

  }

}



.story .sec--work .content__ttl__en {

  font-size: 40px;

}



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

  .story .sec--work .content__ttl__en {

    font-size: 30px;

  }

}



.story .sec--work .card-wrap {

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

}



.story .sec--work .card-wrap .card {

  margin: 0 3.84%;

}



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

  .story .sec--work .card-wrap .card {

    width: auto;

    margin: 0 4vw;

  }

}



.story .sec--work .card-wrap .card:nth-child(1).animtrigger.view {

  -webkit-animation: story-even 1s 0s ease forwards;

  animation: story-even 1s 0s ease forwards;

}



.faq .kv {

  width: calc(100% - 8.3vw);

  height: 240px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  margin: 0 0 0 auto;

  padding-right: 8.3vw;

  background-color: #f5f5f5;

}



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

  .faq .kv {

    width: 100%;

    padding-right: 0;

    height: 130px;

  }

}



.faq .kv__ttl {

  text-align: center;

  font-size: 42px;

  letter-spacing: 0.16em;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  line-height: 1;

}



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

  .faq .kv__ttl {

    font-size: 21px;

  }

}



.faq .kv__ttl__sub {

  display: block;

  margin-bottom: 30px;

  font-size: 14px;

  letter-spacing: 0.1em;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

}



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

  .faq .kv__ttl__sub {

    margin-bottom: 15px;

    font-size: 10px;

  }

}



.faq .kv__ttl__sub span {

  font-size: 18px;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  letter-spacing: 0.05em;

}



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

  .faq .kv__ttl__sub span {

    font-size: 11px;

  }

}



.faq .faq-wrap {

  margin-bottom: 120px;

}



.faq .sec--faq__content {

  margin: 100px auto 0;

  max-width: 1200px;

  padding: 0 120px;

}



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

  .faq .sec--faq__content {

    margin: 50px auto 0;

    padding: 0 8vw;

  }

}



.faq .sec--faq .faq-ttl {

  margin-bottom: 60px;

  text-align: center;

  letter-spacing: 0.1em;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 32px;

}



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

  .faq .sec--faq .faq-ttl {

    margin-bottom: 30px;

    font-size: 22px;

  }

}



.faq .sec--faq .acMenu dl {

  padding: 17px 0;

  border-bottom: 1px solid #f5f5f5;

  letter-spacing: 0.05em;

  -webkit-font-feature-settings: 'palt';

  font-feature-settings: 'palt';

}



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

  .faq .sec--faq .acMenu dl {

    padding: 15px 0;

  }

}



.faq .sec--faq .acMenu dl:first-child {

  border-top: 1px solid #f5f5f5;

}



.faq .sec--faq .acMenu dl dt {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  padding: 20px 70px 20px 0;

  font-size: 16px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 700;

  position: relative;

  line-height: 2;

}



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

  .faq .sec--faq .acMenu dl dt {

    padding: 15px 45px 15px 0;

    font-size: 13.5px;

  }

}



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

  .faq .sec--faq .acMenu dl dt:hover {

    cursor: pointer;

  }

}



.faq .sec--faq .acMenu dl dt::before {

  content: "Q";

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  width: 40px;

  height: 40px;

  margin-right: 30px;

  border-radius: 50%;

  color: #fff;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 18px;

  background-color: #72c9f3;

  -webkit-box-flex: 0;

  -ms-flex: 0 0 40px;

  flex: 0 0 40px;

}



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

  .faq .sec--faq .acMenu dl dt::before {

    width: 30px;

    height: 30px;

    margin-right: 20px;

    font-size: 15px;

    -webkit-box-flex: 0;

    -ms-flex: 0 0 30px;

    flex: 0 0 30px;

  }

}



.faq .sec--faq .acMenu dl dt .icon {

  position: absolute;

  right: 0;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  width: 24px;

  height: 2px;

  background-color: #1e1e1e;

}



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

  .faq .sec--faq .acMenu dl dt .icon {

    width: 17px;

    height: 1px;

  }

}



.faq .sec--faq .acMenu dl dt .icon::after {

  display: block;

  content: "";

  width: 2px;

  height: 24px;

  position: absolute;

  right: 11px;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  background-color: #1e1e1e;

  -webkit-transition: opacity .2s;

  transition: opacity .2s;

}



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

  .faq .sec--faq .acMenu dl dt .icon::after {

    width: 1px;

    height: 17px;

    right: 8px;

  }

}



.faq .sec--faq .acMenu dl dt.add_plus .icon::after {

  opacity: 0;

}



.faq .sec--faq .acMenu dl dd {

  display: none;

}



.faq .sec--faq .acMenu dl dd>div {

  opacity: 0;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  margin-bottom: 50px;

  padding: 0 70px 0 0;

  line-height: 2.28;

  -webkit-transition: opacity .2s;

  transition: opacity .2s;

}



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

  .faq .sec--faq .acMenu dl dd>div {

    margin-bottom: 12px;

    padding: 0;

    line-height: 1.8;

  }

}



.faq .sec--faq .acMenu dl dd>div::before {

  content: "A";

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  width: 40px;

  height: 40px;

  margin-right: 30px;

  border-radius: 50%;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 18px;

  background-color: #f5f5f5;

  -webkit-box-flex: 0;

  -ms-flex: 0 0 40px;

  flex: 0 0 40px;

}



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

  .faq .sec--faq .acMenu dl dd>div::before {

    -webkit-box-flex: 0;

    -ms-flex: 0 0 30px;

    flex: 0 0 30px;

    width: 30px;

    height: 30px;

    margin-right: 20px;

    font-size: 15px;

  }

}



.faq .sec--faq .acMenu dl dd>div p {

  margin-top: 8px;

}



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

  .faq .sec--faq .acMenu dl dd>div p {

    margin-top: 6px;

  }

}



.faq .sec--faq .acMenu dl dd.active>div {

  opacity: 1;

}



.faq .sec--faq .acMenu dl dd a.line {

  display: inline-block;

  line-height: 1.4;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  position: relative;

}



.faq .sec--faq .acMenu dl dd a.line::after {

  content: "";

  display: block;

  height: 1px;

  width: 100%;

  position: absolute;

  bottom: 0;

  left: 0;

  background: #fff;

  -webkit-transform-origin: right;

  transform-origin: right;

  -webkit-transform: scale(0, 1);

  transform: scale(0, 1);

  -webkit-transition: -webkit-transform .6s;

  transition: -webkit-transform .6s;

  transition: transform .6s;

  transition: transform .6s, -webkit-transform .6s;

}



.faq .sec--faq .acMenu dl dd a.line:hover::after {

  -webkit-transform-origin: left;

  transform-origin: left;

  -webkit-transform: scale(1, 1);

  transform: scale(1, 1);

  -webkit-transition: -webkit-transform .4s;

  transition: -webkit-transform .4s;

  transition: transform .4s;

  transition: transform .4s, -webkit-transform .4s;

}



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

  .faq .sec--faq .acMenu dl dd a.line {

    font-family: 'Noto Sans JP', sans-serif;

    font-weight: 700;

  }

}



.faq .sec--faq .acMenu dl dd a.line::before {

  position: absolute;

  bottom: 0;

  left: 0;

  content: "";

  display: block;

  width: 100%;

  height: 1px;

  background-color: #1e1e1e;

}



.info .kv {

  width: calc(100% - 8.3vw);

  height: 240px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  margin: 0 0 0 auto;

  padding-right: 8.3vw;

  background-color: #f5f5f5;

}



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

  .info .kv {

    width: 100%;

    padding-right: 0;

    height: 130px;

  }

}



.info .kv__ttl {

  text-align: center;

  font-size: 42px;

  letter-spacing: 0.16em;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  line-height: 1;

}



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

  .info .kv__ttl {

    font-size: 25px;

    letter-spacing: 0.1em;

  }

}



.info .kv__ttl__sub {

  display: block;

  margin-bottom: 30px;

  font-size: 14px;

  letter-spacing: 0.1em;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

}



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

  .info .kv__ttl__sub {

    margin-bottom: 15px;

    font-size: 10px;

  }

}



.info .kv__ttl__sub span {

  font-size: 18px;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  letter-spacing: 0.05em;

}



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

  .info .kv__ttl__sub span {

    font-size: 11px;

  }

}



.info .anc {

  margin: 100px auto;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

}



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

  .info .anc {

    display: block;

    margin: 40px auto;

  }

}



.info .anc li {

  margin: 0 30px;

}



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

  .info .anc li {

    margin: 0 8vw;

  }

  .info .anc li:first-child {

    border-top: solid 1px #1e1e1e;

  }

}



.info .anc a {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  width: 450px;

  height: 124px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 22px;

  letter-spacing: 0.1em;

  border-top: solid 1px #1e1e1e;

  border-bottom: solid 1px #1e1e1e;

}



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

  .info .anc a {

    width: 100%;

    height: 81px;

    border-top: none;

    font-size: 16px;

    -webkit-box-orient: horizontal;

    -webkit-box-direction: normal;

    -ms-flex-direction: row;

    flex-direction: row;

    -webkit-box-pack: justify;

    -ms-flex-pack: justify;

    justify-content: space-between;

  }

}



.info .anc a .arrow {

  display: block;

  width: 18px;

  height: 10px;

  margin-top: 15px;

  background: url(../img/common/icon_arrow.svg) no-repeat center;

  background-size: contain;

  -webkit-transform: scale(-1, -1);

  transform: scale(-1, -1);

}



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

  .info .anc a .arrow {

    width: 15px;

    height: 8px;

    margin-top: 0;

  }

}



.info .anc a .arrow::before {

  opacity: 0;

  position: absolute;

  left: 100%;

  top: 0;

  content: "";

  display: block;

  width: 5px;

  height: 10px;

  background: #fff;

}



.info .anc a:hover .arrow::before {

  -webkit-animation: arrow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

  animation: arrow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

}



.info .info__ttl-area {

  background-repeat: no-repeat;

  background-size: cover;

  color: #fff;

  text-align: center;

  padding: 107px 0 257px;

  width: calc(100% - 8.3vw);

  margin-left: auto;

  padding-right: 8.3vw;

}



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

  .info .info__ttl-area {

    width: 100%;

    padding: 50px 8vw;

  }

}



.info .info:nth-of-type(2) .info__ttl-area {

  margin-left: 0;

  margin-right: auto;

  padding-left: 8.3vw;

  padding-right: 0;

}



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

  .info .info:nth-of-type(2) .info__ttl-area {

    padding: 50px 8vw;

  }

}



.info .info__ttl {

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 40px;

  letter-spacing: 0.1em;

}



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

  .info .info__ttl {

    font-size: 25px;

  }

}



.info .info__text {

  margin-top: 40px;

  font-size: 14px;

  line-height: 2.28;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

}



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

  .info .info__text {

    margin-top: 30px;

    font-size: 12px;

    line-height: 1.8;

  }

}



.info .info .content {

  width: calc(100% - 16.6vw);

  margin-bottom: 0;

  padding: 100px 8.3vw 0;

  background-color: #fff;

}



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

  .info .info .content {

    width: 100%;

    padding: 50px 8vw 0;

  }

}



.info .info .content--guide {

  margin-top: -190px;

}



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

  .info .info .content--guide {

    margin-top: 0;

  }

}



.info .info .content--btn-wrap {

  margin-bottom: 100px;

}



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

  .info .info .content--btn-wrap {

    margin-bottom: 50px;

  }

}



.info .info .content__ttl {

  margin-bottom: 60px;

}



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

  .info .info .content__ttl {

    margin-bottom: 30px;

  }

}



.info .info .content__ttl .ttl {

  margin-bottom: 30px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 31px;

  letter-spacing: 0.1em;

}



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

  .info .info .content__ttl .ttl {

    margin-bottom: 20px;

    font-size: 22px;

  }

}



.info .info .content__ttl .text {

  margin-bottom: 60px;

  padding: 0;

  border: none;

  text-align: center;

  font-size: 14px;

}



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

  .info .info .content__ttl .text {

    margin-bottom: 30px;

    font-size: 12px;

    line-height: 1.8;

  }

}



.info .info .content__text {

  padding: 60px 0;

  text-align: center;

  font-size: 14px;

  line-height: 2.28;

  border-top: solid 1px #e7e7e7;

  border-bottom: solid 1px #e7e7e7;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

}



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

  .info .info .content__text {

    padding: 40px 0;

    font-size: 12px;

    line-height: 1.8;

  }

}



.info .info .table th, .info .info .table td {

  padding: 40px;

  font-size: 14px;

  border-top: solid 1px #e7e7e7;

  -webkit-font-feature-settings: 'palt';

  font-feature-settings: 'palt';

}



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

  .info .info .table th, .info .info .table td {

    padding: 25px 0 25px 15px;

    font-size: 12px;

  }

}



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

  .info .info .table th .sp-on, .info .info .table td .sp-on {

    display: block !important;

  }

}



.info .info .table th {

  width: 200px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 700;

  background-color: #f5f5f5;

}



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

  .info .info .table th {

    width: 100px;

  }

}



.info .info .table td {

  line-height: 2.28;

}



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

  .info .info .table td {

    line-height: 1.8;

  }

}



.info .info .table td .emphasis {

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 700;

}



.info .info .table tr:last-child th, .info .info .table tr:last-child td {

  border-bottom: solid 1px #e7e7e7;

}



.info .flow .flow-list {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  padding-top: 57px;

}



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

  .info .flow .flow-list {

    display: block;

    padding: 0 0 0 45px;

  }

}



.info .flow .flow-list li {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  width: calc(10% - 1px);

  padding: 30px 0;

  background-color: #f5f5f5;

  position: relative;

}



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

  .info .flow .flow-list li {

    width: 100%;

    margin-bottom: 1px;

    padding: 30px 25px;

    -webkit-box-pack: start;

    -ms-flex-pack: start;

    justify-content: flex-start;

  }

}



.info .flow .flow-list li::before {

  content: "";

  width: 24px;

  height: 24px;

  background-color: #72c9f3;

  border: solid 6px #dcf4ff;

  border-radius: 50%;

  position: absolute;

  top: -57px;

  left: 50%;

  -webkit-transform: translateX(-50%);

  transform: translateX(-50%);

}



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

  .info .flow .flow-list li::before {

    top: 50%;

    left: -45px;

    -webkit-transform: translateY(-50%);

    transform: translateY(-50%);

  }

}



.info .flow .flow-list li::after {

  content: "";

  position: absolute;

  top: -45px;

  left: calc(50% + 19px);

  width: calc(100% - 37px);

  height: 1px;

  background-color: #e7e7e7;

}



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

  .info .flow .flow-list li::after {

    width: 1px;

    height: calc(100% - 34px);

    top: 60px;

    left: -33px;

  }

}



.info .flow .flow-list li:last-child:after {

  display: none;

}



.info .flow .flow-list li span {

  position: relative;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 18px;

  -webkit-writing-mode: vertical-rl;

  -ms-writing-mode: tb-rl;

  writing-mode: vertical-rl;

  letter-spacing: 0.05em;

}



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

  .info .flow .flow-list li span {

    -webkit-writing-mode: initial;

    -ms-writing-mode: initial;

    writing-mode: initial;

    font-size: 16px;

  }

}



.info .flow .flow-list li span::before {

  position: absolute;

  top: -39px;

  left: 50%;

  -webkit-transform: translateX(-50%);

  transform: translateX(-50%);

  content: "";

  width: 0;

  height: 0;

  border-style: solid;

  border-width: 0 9px 9px 9px;

  border-color: transparent transparent #f5f5f5 transparent;

}



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

  .info .flow .flow-list li span::before {

    top: 50%;

    left: -32.5px;

    -webkit-transform: translateY(-50%);

    transform: translateY(-50%);

    border-width: 7.5px 7.5px 7.5px 0;

    border-color: transparent #f5f5f5 transparent transparent;

  }

}



.info .mail {

  text-decoration: underline;

}



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

  .info .mail {

    font-family: 'Noto Sans JP', sans-serif;

    font-weight: 700;

  }

}



.info .btn-wrap .btn {

  position: relative;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  height: 152px;

  margin-bottom: 0;

  background-color: #72c9f3;

  color: #fff;

  font-size: 30px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  letter-spacing: 0.05em;

  -webkit-transition: all .3s;

  transition: all .3s;

}



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

  .info .btn-wrap .btn:hover {

    background-color: #7ed0f7;

  }

  .info .btn-wrap .btn:hover::before {

    height: 60px;

    top: -60px;

  }

}



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

  .info .btn-wrap .btn {

    font-size: 21px;

    height: 86px;

    margin-bottom: 0;

  }

}



.info .btn-wrap .btn::before {

  content: "";

  width: 1px;

  height: 40px;

  background-color: #72c9f3;

  position: absolute;

  top: -40px;

  left: 50%;

  -webkit-transform: translateX(-50%);

  transform: translateX(-50%);

  -webkit-transition: all .3s;

  transition: all .3s;

}



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

  .info .btn-wrap .btn::before {

    height: 20px;

    top: -20px;

  }

}



.info .btn-wrap .btn::after {

  content: "";

  width: 1px;

  height: 24px;

  background-color: #fff;

  position: absolute;

  top: 0;

  left: 50%;

  -webkit-transform: translateX(-50%);

  transform: translateX(-50%);

}



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

  .info .btn-wrap .btn::after {

    height: 12px;

  }

}



.info .btn-wrap .btn+.note {

  margin-top: 30px;

  text-align: center;

  font-size: 12px;

}



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

  .info .btn-wrap .btn+.note {

    margin-top: 25px;

    font-size: 11px;

  }

}



.info .btn-wrap .btn.comingsoon {

  background-color: #f5f5f5;

  color: rgba(30, 30, 30, .2);

}



.info .btn-wrap .btn.comingsoon::before {

  background-color: #f5f5f5;

}



.info .footer {

  padding-top: 0;

}



.info .footer__recruit {

  padding-top: 100px;

}



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

  .info .footer__recruit {

    padding-top: 40px;

  }

}



.crosstalk {

  counter-reset: chapter 0;

}



.crosstalk .kv {

  position: relative;

  width: calc(100% - 8.3vw);

  margin: 0 0 0 auto;

  padding-bottom: 358px;

}



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

  .crosstalk .kv {

    padding-bottom: 0;

  }

}



.crosstalk .kv::after {

  content: "";

  position: absolute;

  bottom: 218px;

  left: -8.3vw;

  display: block;

  width: calc(100% + 8.3vw);

  height: 280px;

  background-color: #f5f5f5;

}



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

  .crosstalk .kv::after {

    display: none;

  }

}



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

  .crosstalk .kv {

    width: calc(100% - 8vw);

  }

}



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

  .crosstalk .kv__img-wrap {

    position: relative;

    margin-bottom: 30px;

  }

  .crosstalk .kv__img-wrap::before {

    content: "";

    position: absolute;

    bottom: -82px;

    left: -8.3vw;

    display: block;

    width: 100%;

    height: 165px;

    background-color: #f5f5f5;

  }

}



.crosstalk .kv__img {

  position: relative;

  z-index: 1;

  width: 100%;

  height: 0;

  padding-top: 44%;

  background-repeat: no-repeat;

  background-size: cover;

  background-position: center top;

}



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

  .crosstalk .kv__img {

    padding-top: 0;

    height: 420px;

  }

}



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

  .crosstalk .kv__img {

    height: 0;

    padding-top: 44%;

  }

}



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

  .crosstalk .kv__img {

    padding-top: 71%;

  }

}



.crosstalk .kv__ttl-area {

  position: absolute;

  left: 40px;

  bottom: 312px;

  z-index: 1;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: reverse;

  -ms-flex-direction: row-reverse;

  flex-direction: row-reverse;

}



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

  .crosstalk .kv__ttl-area {

    position: relative;

    z-index: 2;

    position: inherit;

    bottom: inherit;

    left: inherit;

    display: block;

  }

}



.crosstalk .kv__ttl {

  opacity: 0;

  margin-left: 30px;

  line-height: 1;

  -webkit-writing-mode: vertical-rl;

  -ms-writing-mode: tb-rl;

  writing-mode: vertical-rl;

  color: #fff;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 20px;

  letter-spacing: 0.02em;

  -webkit-animation: fadein 0.5s 1s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 1s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



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

  .crosstalk .kv__ttl {

    margin: 0 0 20px;

    -webkit-writing-mode: inherit;

    -ms-writing-mode: inherit;

    writing-mode: inherit;

    font-size: 14px;

    color: #1e1e1e;

  }

}



.crosstalk .kv__ttl span {

  font-family: 'Libre Caslon Display', serif;

  font-size: 19px;

  margin-top: 10px;

}



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

  .crosstalk .kv__ttl span {

    font-size: 14px;

    margin-left: 6px;

  }

}



.crosstalk .kv__catch {

  overflow: hidden;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: reverse;

  -ms-flex-direction: row-reverse;

  flex-direction: row-reverse;

}



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

  .crosstalk .kv__catch {

    display: block;

  }

}



.crosstalk .kv__catch .img-wrap {

  opacity: 0;

  margin-left: 4px;

  position: relative;

  overflow: hidden;

  float: none;

  -webkit-animation: fadein 0.5s 1.1s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 1.1s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



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

  .crosstalk .kv__catch .img-wrap {

    margin-left: 0;

  }

}



.crosstalk .kv__catch .img-wrap span {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  color: #fff;

  font-size: 42px;

  background-color: #6aa0db;

  -webkit-writing-mode: vertical-rl;

  -ms-writing-mode: tb-rl;

  writing-mode: vertical-rl;

  letter-spacing: 0.15em;

  line-height: 1;

}



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

  .crosstalk .kv__catch .img-wrap span {

    -webkit-writing-mode: inherit;

    -ms-writing-mode: inherit;

    writing-mode: inherit;

    font-size: 28px;

    letter-spacing: 0.07em;

  }

}



.crosstalk .kv__catch .img-wrap::before {

  opacity: 0;

  content: "";

  width: 100%;

  height: 100%;

  display: inline-block;

  position: absolute;

  left: 0;

  top: 0;

  background-color: #6aa0db;

  z-index: 2;

}



.crosstalk .kv__catch .img-wrap:last-child {

  margin-left: 0;

}



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

  .crosstalk .kv__catch .img-wrap:last-child {

    margin-bottom: 0;

  }

}



.crosstalk .kv__catch .img-wrap::before {

  -webkit-animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), kvblockIn 0.6s 0.5s cubic-bezier(0.77, 0, 0.175, 1), kvblockOut 0.6s 1.1s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), kvblockIn 0.6s 0.5s cubic-bezier(0.77, 0, 0.175, 1), kvblockOut 0.6s 1.1s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



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

  .crosstalk .kv__catch .img-wrap::before {

    -webkit-animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 0.5s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 1.1s cubic-bezier(0.77, 0, 0.175, 1);

    animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 0.5s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 1.1s cubic-bezier(0.77, 0, 0.175, 1);

    -webkit-animation-fill-mode: both;

    animation-fill-mode: both;

  }

}



.crosstalk .kv__catch .img-wrap:nth-child(2) {

  -webkit-animation: fadein 0.5s 1.6s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 1.6s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.crosstalk .kv__catch .img-wrap:nth-child(2)::before {

  -webkit-animation: fadein 0.5s 0.5s cubic-bezier(0.77, 0, 0.175, 1), kvblockIn 0.6s 1s cubic-bezier(0.77, 0, 0.175, 1), kvblockOut 0.6s 1.6s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 0.5s cubic-bezier(0.77, 0, 0.175, 1), kvblockIn 0.6s 1s cubic-bezier(0.77, 0, 0.175, 1), kvblockOut 0.6s 1.6s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



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

  .crosstalk .kv__catch .img-wrap:nth-child(2)::before {

    -webkit-animation: fadein 0.5s 0.5s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 1.6s cubic-bezier(0.77, 0, 0.175, 1);

    animation: fadein 0.5s 0.5s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 1.6s cubic-bezier(0.77, 0, 0.175, 1);

    -webkit-animation-fill-mode: both;

    animation-fill-mode: both;

  }

}



.crosstalk .kv__catch--1 .img-wrap {

  width: 60px;

  height: 260px;

}



.crosstalk .kv__catch--1 .img-wrap span {

  width: 60px;

  height: 260px;

}



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

  .crosstalk .kv__catch--1 .img-wrap {

    width: 162px;

    height: 40px;

    margin-bottom: 5px;

  }

  .crosstalk .kv__catch--1 .img-wrap span {

    width: 162px;

    height: 40px;

  }

}



.crosstalk .kv__catch--2 .img-wrap:nth-child(1) {

  width: 60px;

  height: 345px;

}



.crosstalk .kv__catch--2 .img-wrap:nth-child(1) span {

  width: 60px;

  height: 345px;

}



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

  .crosstalk .kv__catch--2 .img-wrap:nth-child(1) {

    width: 222px;

    height: 40px;

    margin-bottom: 5px;

  }

  .crosstalk .kv__catch--2 .img-wrap:nth-child(1) span {

    width: 222px;

    height: 40px;

  }

}



.crosstalk .kv__catch--2 .img-wrap:nth-child(2) {

  width: 60px;

  height: 160px;

}



.crosstalk .kv__catch--2 .img-wrap:nth-child(2) span {

  width: 60px;

  height: 160px;

}



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

  .crosstalk .kv__catch--2 .img-wrap:nth-child(2) {

    width: 105px;

    height: 40px;

    margin-bottom: 5px;

  }

  .crosstalk .kv__catch--2 .img-wrap:nth-child(2) span {

    width: 105px;

    height: 40px;

  }

}



.crosstalk .kv__block {

  opacity: 0;

  max-width: 960px;

  position: absolute;

  right: 0;

  bottom: 0;

  z-index: 1;

  width: 66.66vw;

  padding: 70px 80px 100px;

  background-color: #fff;

}



.crosstalk .kv__block.view {

  -webkit-animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), kv 1s 0.5s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), kv 1s 0.5s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



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

  .crosstalk .kv__block.view {

    -webkit-animation: sec-anim 0.5s 0.5s cubic-bezier(0.77, 0, 0.175, 1);

    animation: sec-anim 0.5s 0.5s cubic-bezier(0.77, 0, 0.175, 1);

    -webkit-animation-fill-mode: both;

    animation-fill-mode: both;

  }

}



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

  .crosstalk .kv__block {

    position: inherit;

    width: 100%;

    padding: 40px 8vw 50px 0;

  }

}



.crosstalk .kv__block__ttl {

  max-width: 640px;

  margin-bottom: 40px;

  font-size: 28px;

  letter-spacing: 0.06em;

}



.crosstalk .kv__block__ttl span {

  display: inline-block;

  font-family: YakuHanMP, 'Noto Serif JP', serif;

  font-weight: 500;

  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, rgba(106, 160, 219, .5)));

  background: linear-gradient(transparent 70%, rgba(106, 160, 219, .5) 70%);

  -webkit-font-feature-settings: 'palt';

  font-feature-settings: 'palt';

}



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

  .crosstalk .kv__block__ttl span {

    background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, rgba(106, 160, 219, .5)), color-stop(95%, rgba(106, 160, 219, .5)), color-stop(95%, transparent));

    background: linear-gradient(transparent 70%, rgba(106, 160, 219, .5) 70%, rgba(106, 160, 219, .5) 95%, transparent 95%);

  }

}



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

  .crosstalk .kv__block__ttl {

    margin-bottom: 20px;

    font-size: 19px;

    line-height: 1.6;

    letter-spacing: 0.07em;

  }

}



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

  .crosstalk .kv__block__ttl {

    font-size: 16px;

  }

}



.crosstalk .kv__block__text {

  max-width: 640px;

  margin-bottom: 40px;

  font-size: 14px;

  line-height: 2;

  letter-spacing: 0.04em;

  text-align: justify;

}



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

  .crosstalk .kv__block__text {

    margin-bottom: 20px;

    font-size: 12px;

    line-height: 1.8;

  }

}



.crosstalk .kv__block__tag {

  max-width: 640px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

}



.crosstalk .kv__block__tag li {

  margin: 0 4px 4px 0;

}



.crosstalk .kv__block__tag a {

  display: block;

  padding: 4px 10px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  font-size: 12px;

  border-radius: 2px;

  background-color: #f5f5f5;

  -webkit-transition: all .3s;

  transition: all .3s;

}



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

  .crosstalk .kv__block__tag a {

    padding: 5px 8px 5px 5px;

    font-size: 11px;

  }

}



.crosstalk .kv__block__tag a::before {

  content: "\00266f";

}



.crosstalk .kv__block__tag a:hover {

  text-decoration: none;

  background-color: #e7e7e7;

  cursor: pointer;

}



.crosstalk .sec--profile {

  margin-top: 86px;

  margin-bottom: 100px;

  background-color: #6aa0db;

}



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

  .crosstalk .sec--profile {

    width: calc(100% - 8vw);

    margin: 0 0 50px auto;

    position: relative;

  }

  .crosstalk .sec--profile::before {

    content: "";

    display: block;

    width: 45px;

    height: 100%;

    background-color: #fff;

    position: absolute;

    left: 0;

    top: 0;

  }

}



.crosstalk .sec--profile .inner {

  padding: 0 0 70px;

  max-width: 1080px;

  margin: 0 auto;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

}



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

  .crosstalk .sec--profile .inner {

    padding: 40px 8vw 40px 0;

  }

}



.crosstalk .sec--profile .inner::after {

  content: "";

  display: block;

  width: 280px;

}



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

  .crosstalk .sec--profile .inner::after {

    display: none;

  }

}



.crosstalk .sec--profile .card {

  max-width: 360px;

  width: 33.33%;

  margin-top: -86px;

  color: #fff;

  text-align: center;

}



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

  .crosstalk .sec--profile .card {

    width: 100%;

    max-width: inherit;

    margin: 0 auto 28px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    text-align: left;

  }

}



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

  .crosstalk .sec--profile .card:last-child {

    margin-bottom: 0;

  }

}



.crosstalk .sec--profile .card:last-child .card__text-area::after {

  display: none;

}



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

  .crosstalk .sec--profile .card:last-child .card__text-area {

    padding-bottom: 0;

  }

}



.crosstalk .sec--profile .card__img {

  width: 177px;

  height: 177px;

  margin: 0 auto 50px;

  background-repeat: no-repeat;

  background-size: cover;

  background-position: center;

}



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

  .crosstalk .sec--profile .card__img {

    width: 88px;

    height: 88px;

    margin: 0 25px 0 0;

    -webkit-box-flex: 0;

    -ms-flex: 0 0 88px;

    flex: 0 0 88px;

  }

}



.crosstalk .sec--profile .card__text-area {

  position: relative;

  padding: 0 60px;

}



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

  .crosstalk .sec--profile .card__text-area {

    padding: 0 0 23px;

  }

}



.crosstalk .sec--profile .card__text-area::after {

  position: absolute;

  top: 0;

  right: 0;

  content: "";

  width: 1px;

  height: 100%;

  background-color: #fff;

  opacity: .2;

}



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

  .crosstalk .sec--profile .card__text-area::after {

    top: inherit;

    bottom: 0;

    width: 100%;

    height: 1px;

  }

}



.crosstalk .sec--profile .card__affiliation {

  font-size: 14px;

  margin-bottom: 8px;

  letter-spacing: 0;

}



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

  .crosstalk .sec--profile .card__affiliation {

    margin-bottom: 4px;

    font-size: 12px;

  }

}



.crosstalk .sec--profile .card__name {

  margin-bottom: 8px;

  font-family: 'Noto Serif JP', serif;

  font-size: 22px;

  letter-spacing: 0.07em;

}



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

  .crosstalk .sec--profile .card__name {

    margin-bottom: 4px;

    font-size: 19px;

  }

}



.crosstalk .sec--profile .card__year {

  margin-bottom: 35px;

  font-size: 14px;

  letter-spacing: 0.1em;

}



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

  .crosstalk .sec--profile .card__year {

    margin-bottom: 20px;

    font-size: 12px;

  }

}



.crosstalk .sec--profile .card__text {

  font-size: 14px;

  letter-spacing: 0.04em;

  line-height: 2;

  text-align: justify;

}



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

  .crosstalk .sec--profile .card__text {

    font-size: 12px;

    line-height: 1.8;

  }

}



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

  .crosstalk .sec--profile .card.sec-anim--2, .crosstalk .sec--profile .card.sec-anim--3 {

    -webkit-animation-delay: 0s;

    animation-delay: 0s;

  }

}



.crosstalk .chapter-wrap .sec--chapter:nth-of-type(1) .chapter {

  position: relative;

  margin: 0 auto;

  z-index: 1;

}



.crosstalk .chapter-wrap .sec--chapter:nth-of-type(1) .sec--chapter__img {

  position: relative;

}



.crosstalk .chapter-wrap .sec--chapter:nth-of-type(1) .sec--chapter__img::after {

  content: "";

  display: block;

  width: 91.7%;

  height: 80px;

  background-color: #fff;

  position: absolute;

  left: 0;

  bottom: 0;

}



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

  .crosstalk .chapter-wrap .sec--chapter:nth-of-type(1) .sec--chapter__img::after {

    height: 30px;

  }

}



.crosstalk .chapter-wrap .sec--chapter:nth-of-type(2) {

  position: relative;

  background-color: #f5f5f5;

  margin-bottom: 120px;

  padding: 100px 0;

}



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

  .crosstalk .chapter-wrap .sec--chapter:nth-of-type(2) {

    margin-bottom: 0;

    padding: 0;

  }

}



.crosstalk .chapter-wrap .sec--chapter:nth-of-type(2)::after {

  position: absolute;

  left: 0;

  bottom: 0;

  content: "";

  width: 16.66%;

  height: 100px;

  background-color: #fff;

}



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

  .crosstalk .chapter-wrap .sec--chapter:nth-of-type(2)::after {

    width: 100%;

    height: 50px;

    top: 0;

    bottom: inherit;

  }

}



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

  .crosstalk .chapter-wrap .sec--chapter:nth-of-type(2) .sec--chapter__content__img-wrap {

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-pack: justify;

    -ms-flex-pack: justify;

    justify-content: space-between;

    margin-bottom: 30px;

    padding: 0 8% 30px;

    position: relative;

    z-index: 1;

    max-width: 435px;

    margin: 0 auto;

  }

}



.crosstalk .chapter-wrap .sec--chapter:nth-of-type(2) .sec--chapter__content__img {

  position: absolute;

  left: 0;

  top: 0;

  width: 260px;

  height: 420px;

  margin-top: 0;

  background-repeat: no-repeat;

  background-size: cover;

}



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

  .crosstalk .chapter-wrap .sec--chapter:nth-of-type(2) .sec--chapter__content__img {

    width: 220px;

    height: 355px;

  }

}



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

  .crosstalk .chapter-wrap .sec--chapter:nth-of-type(2) .sec--chapter__content__img {

    position: inherit;

    height: 220px;

    width: 49.8%;

    max-width: 157px;

  }

}



.crosstalk .chapter-wrap .sec--chapter:nth-of-type(2) .sec--chapter__content__img:nth-of-type(2) {

  position: absolute;

  right: 0;

  bottom: 0;

  left: inherit;

  top: inherit;

}



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

  .crosstalk .chapter-wrap .sec--chapter:nth-of-type(2) .sec--chapter__content__img:nth-of-type(2) {

    position: inherit;

  }

}



.crosstalk .chapter-wrap .sec--chapter:nth-of-type(2) .chapter {

  width: 91.66%;

  margin: 0 auto 0 0;

  padding: 100px 16.66% 100px 25%;

}



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

  .crosstalk .chapter-wrap .sec--chapter:nth-of-type(2) .chapter {

    width: 100%;

    padding: 50px 8vw;

  }

}



.crosstalk .chapter-wrap .sec--chapter:nth-of-type(3) .chapter {

  position: relative;

  margin: 0 auto;

  z-index: 1;

}



.crosstalk .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__img-wrap:first-child .sec--chapter__img {

  position: relative;

}



.crosstalk .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__img-wrap:first-child .sec--chapter__img::after {

  content: "";

  display: block;

  width: 91.7%;

  height: 80px;

  background-color: #fff;

  position: absolute;

  right: 0;

  bottom: 0;

}



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

  .crosstalk .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__img-wrap:first-child .sec--chapter__img::after {

    height: 30px;

  }

}



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

  .crosstalk .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__img-wrap.pc-on {

    display: none !important;

  }

}



.crosstalk .chapter-wrap__img {

  width: 100%;

  height: 580px;

  background-repeat: no-repeat;

  background-position: center;

  background-size: cover;

}



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

  .crosstalk .chapter-wrap__img {

    height: 220px;

  }

}



.crosstalk .sec--chapter__img-wrap {

  position: relative;

}



.crosstalk .sec--chapter__img-wrap.animtrigger {

  opacity: 0;

}



.crosstalk .sec--chapter__img-wrap.view {

  -webkit-animation: fadein 1s 0s cubic-bezier(0.77, 0, 0.175, 1), left2 1s 0s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 1s 0s cubic-bezier(0.77, 0, 0.175, 1), left2 1s 0s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



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

  .crosstalk .sec--chapter__img-wrap.view {

    -webkit-animation-duration: .5s;

    animation-duration: .5s;

  }

}



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

  .crosstalk .sec--chapter__img-wrap {

    height: 220px;

  }

}



.crosstalk .sec--chapter__img {

  position: relative;

  width: 83.33%;

  height: 580px;

  background-repeat: no-repeat;

  background-size: cover;

  background-position: center;

  z-index: 1;

  margin: 0 auto;

}



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

  .crosstalk .sec--chapter__img {

    width: 100%;

    height: 220px;

    background-position: center 20%;

  }

}



.crosstalk .sec--chapter .chapter {

  width: 83.33%;

  background-color: #fff;

  margin-left: auto;

  padding: 20px 8.33% 6.94% 8.33%;

}



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

  .crosstalk .sec--chapter .chapter {

    display: block;

    width: auto;

    padding: 20px 8vw 50px;

  }

}



.crosstalk .sec--chapter .chapter__ttl-area {

  margin-bottom: 80px;

}



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

  .crosstalk .sec--chapter .chapter__ttl-area {

    margin: 0 0 40px;

  }

}



.crosstalk .sec--chapter .chapter__ttl {

  text-align: center;

}



.crosstalk .sec--chapter .chapter__ttl .ttl {

  font-family: 'Noto Serif JP', serif;

  font-size: 28px;

  letter-spacing: 0.16em;

  line-height: 1.57;

  -webkit-font-feature-settings: 'palt';

  font-feature-settings: 'palt';

}



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

  .crosstalk .sec--chapter .chapter__ttl .ttl {

    display: block;

    margin: 0 auto;

    font-size: 20px;

    line-height: 1.55;

  }

  .crosstalk .sec--chapter .chapter__ttl .ttl .pc-on {

    display: none !important;

  }

  .crosstalk .sec--chapter .chapter__ttl .ttl .sp-on {

    display: block !important;

  }

}



.crosstalk .sec--chapter .chapter__ttl .num {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  width: 120px;

  height: 30px;

  margin: 0 auto 25px;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 16px;

  color: #fff;

  background-color: #6aa0db;

  line-height: 30px;

  letter-spacing: -0.02em;

}



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

  .crosstalk .sec--chapter .chapter__ttl .num {

    width: 82px;

    height: 21px;

    font-size: 11px;

    line-height: 21px;

    margin: 0 auto 15px;

  }

}



.crosstalk .sec--chapter .chapter__ttl .num::after {

  counter-increment: chapter 1;

  content: counter(chapter, decimal-leading-zero);

  font-family: 'Libre Caslon Display', serif;

  font-size: 15px;

  margin-left: 0.5em;

  line-height: 30px;

  letter-spacing: 0.08em;

}



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

  .crosstalk .sec--chapter .chapter__ttl .num::after {

    font-size: 11px;

    line-height: 21px;

  }

}



.crosstalk .sec--chapter .chapter__block__ttl {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  text-align: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  margin-bottom: 50px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 700;

  font-size: 14px;

  letter-spacing: 0.05em;

  line-height: 1.8;

  -webkit-font-feature-settings: 'palt';

  font-feature-settings: 'palt';

}



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

  .crosstalk .sec--chapter .chapter__block__ttl {

    margin-bottom: 30px;

    font-size: 12px;

  }

  .crosstalk .sec--chapter .chapter__block__ttl .sp-on {

    display: block;

  }

}



.crosstalk .sec--chapter .chapter__block__ttl::before {

  content: "";

  display: block;

  width: 60px;

  height: 1px;

  margin-right: 34px;

  background-color: #1e1e1e;

}



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

  .crosstalk .sec--chapter .chapter__block__ttl::before {

    width: 30px;

    margin-right: 22px;

  }

}



.crosstalk .sec--chapter .chapter__block__ttl::after {

  content: "";

  display: block;

  width: 60px;

  height: 1px;

  margin-left: 34px;

  background-color: #1e1e1e;

}



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

  .crosstalk .sec--chapter .chapter__block__ttl::after {

    width: 30px;

    margin-left: 22px;

  }

}



.crosstalk .sec--chapter .chapter__block__text {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: stretch;

  -ms-flex-align: stretch;

  align-items: stretch;

  margin-bottom: 40px;

  font-size: 14px;

  line-height: 2.28;

  text-align: justify;

}



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

  .crosstalk .sec--chapter .chapter__block__text {

    margin-bottom: 30px;

    font-size: 12px;

    line-height: 1.8;

  }

}



.crosstalk .sec--chapter .chapter__block__text .name {

  display: block;

  margin-right: 40px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 700;

  font-size: 14px;

  -webkit-box-flex: 0;

  -ms-flex: 0 0 80px;

  flex: 0 0 80px;

}



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

  .crosstalk .sec--chapter .chapter__block__text .name {

    margin-right: 20px;

    font-size: 12px;

    -webkit-box-flex: 0;

    -ms-flex: 0 0 50px;

    flex: 0 0 50px;

  }

}



.crosstalk .sec--chapter .chapter__block__text .name span {

  display: block;

  margin-top: 15px;

  line-height: 1;

  text-align: center;

  font-size: 14px;

}



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

  .crosstalk .sec--chapter .chapter__block__text .name span {

    margin-top: 10px;

    font-size: 12px;

  }

}



.crosstalk .sec--chapter .chapter__block__text .text {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  letter-spacing: 0.05em;

}



.crosstalk .sec--chapter .chapter__block__text:last-child {

  margin-bottom: 0;

}



.crosstalk .sec--message {

  margin-top: 100px;

  background-color: #6aa0db;

}



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

  .crosstalk .sec--message {

    margin-top: 0;

  }

}



.crosstalk .sec--message .inner {

  padding: 100px 16.66%;

}



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

  .crosstalk .sec--message .inner {

    padding: 50px 8vw 40px;

  }

}



.crosstalk .sec--message__ttl {

  margin-bottom: 60px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 34px;

  color: #fff;

  text-align: center;

  letter-spacing: 0.16em;

}



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

  .crosstalk .sec--message__ttl {

    margin-bottom: 0;

    padding-bottom: 10px;

    font-size: 25px;

  }

}



.crosstalk .sec--message .card {

  position: relative;

  width: calc(100% - 70px);

  margin: 0 0 20px auto;

  padding: 45px 45px 45px 95px;

  background-color: #fff;

}



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

  .crosstalk .sec--message .card {

    width: 100%;

    margin: 50px 0 0 0;

    padding: 85px 8vw 8vw;

  }

}



.crosstalk .sec--message .card:last-of-type {

  margin-bottom: 0;

}



.crosstalk .sec--message .card__img {

  width: 120px;

  position: absolute;

  left: -60px;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

}



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

  .crosstalk .sec--message .card__img {

    width: 85px;

    top: -20px;

    left: 50%;

    -webkit-transform: translateX(-50%);

    transform: translateX(-50%);

  }

}



.crosstalk .sec--message .card__img::before {

  content: "";

  position: absolute;

  left: -10px;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  display: block;

  width: 140px;

  height: 140px;

  border-radius: 50%;

  border: solid 1px #fff;

}



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

  .crosstalk .sec--message .card__img::before {

    width: 103px;

    height: 103px;

    left: -9px;

  }

}



.crosstalk .sec--message .card .name {

  margin-bottom: 10px;

  font-size: 16px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 700;

}



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

  .crosstalk .sec--message .card .name {

    text-align: center;

    font-size: 15px;

  }

}



.crosstalk .sec--message .card .text {

  font-size: 14px;

  line-height: 2.28;

  -webkit-font-feature-settings: 'palt';

  font-feature-settings: 'palt';

}



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

  .crosstalk .sec--message .card .text {

    font-size: 12px;

    line-height: 1.8;

  }

}



.crosstalk .sec--culture .content {

  margin-top: 0;

}



.crosstalk .sec--culture .content__ttl {

  margin-bottom: 60px;

}



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

  .crosstalk .sec--culture .content__ttl {

    margin-bottom: 30px;

  }

}



.crosstalk .sec--culture .content__ttl__en {

  font-size: 40px;

}



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

  .crosstalk .sec--culture .content__ttl__en {

    font-size: 25px;

  }

}



.keyword .kv {

  width: calc(100% - 8.3vw);

  height: 240px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  margin: 0 0 0 auto;

  padding-right: 8.3vw;

  background-color: #f5f5f5;

}



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

  .keyword .kv {

    width: 100%;

    padding-right: 0;

    height: 130px;

  }

}



.keyword .kv__ttl {

  text-align: center;

  font-size: 42px;

  letter-spacing: 0.16em;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  line-height: 1;

}



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

  .keyword .kv__ttl {

    font-size: 21px;

  }

}



.keyword .kv__ttl__sub {

  display: block;

  margin-bottom: 30px;

  font-size: 14px;

  letter-spacing: 0.1em;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

}



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

  .keyword .kv__ttl__sub {

    margin-bottom: 15px;

    font-size: 10px;

  }

}



.keyword .kv__ttl__sub span {

  margin-right: 11px;

  font-size: 18px;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  letter-spacing: 0.05em;

}



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

  .keyword .kv__ttl__sub span {

    margin-right: 6px;

    font-size: 11px;

  }

}



.keyword .kv__ttl .quot {

  position: relative;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

}



.keyword .kv__ttl .quot::before {

  content: "";

  display: block;

  width: 42px;

  height: 36px;

  margin-right: 30px;

  background: url(../img/common/icon_quot.svg) no-repeat center;

}



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

  .keyword .kv__ttl .quot::before {

    width: 21px;

    height: 18px;

    margin-right: 13px;

    background-size: cover;

  }

}



.keyword .kv__ttl .quot::after {

  content: "";

  display: block;

  width: 42px;

  height: 36px;

  margin-left: 25px;

  background: url(../img/common/icon_quot.svg) no-repeat center;

  -webkit-transform: scale(-1, -1);

  transform: scale(-1, -1);

  -ms-flex-item-align: end;

  align-self: flex-end;

}



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

  .keyword .kv__ttl .quot::after {

    width: 21px;

    height: 18px;

    margin-left: 10px;

    background-size: cover;

  }

}



.keyword .sec--result {

  max-width: 960px;

  margin: 0 auto;

}



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

  .keyword .sec--result {

    margin: 0 8vw;

  }

}



.keyword .sec--result .lead {

  display: none;

}



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

  .keyword .sec--result .lead {

    display: block;

    text-align: center;

    padding: 30px 0 15px;

    font-size: 12px;

    letter-spacing: 0.1em;

  }

}



.keyword .sec--result .inner {

  border-bottom: solid 1px #f5f5f5;

  padding: 80px 0 0;

  margin-bottom: 40px;

}



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

  .keyword .sec--result .inner {

    padding: 0 0 20px;

    margin-bottom: 0;

  }

}



.keyword .sec--result .card {

  display: none;

  border-top: solid 1px #f5f5f5;

}



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

  .keyword .sec--result .card {

    border: none;

  }

}



.keyword .sec--result .card.active {

  display: block;

}



.keyword .sec--result .card__inner {

  padding: 40px 0;

  position: relative;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

}



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

  .keyword .sec--result .card__inner {

    display: block;

    padding: 20px 0;

  }

}



.keyword .sec--result .card__link {

  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  z-index: 1;

}



.keyword .sec--result .card__link::before {

  position: absolute;

  right: 1px;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  content: "";

  display: block;

  width: 27px;

  height: 1px;

  background: url(../img/common/underline_black.png) no-repeat left bottom;

  background-size: 100% 1px;

  z-index: 2;

}



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

  .keyword .sec--result .card__link::before {

    display: none;

  }

}



.keyword .sec--result .card__link::after {

  position: absolute;

  right: 0;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  content: "";

  display: block;

  width: 28px;

  height: 13px;

  background: url(../img/common/icon_link_black.svg) no-repeat center;

}



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

  .keyword .sec--result .card__link::after {

    display: none;

  }

}



.keyword .sec--result .card__link:hover::before {

  -webkit-animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

  animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

}



.keyword .sec--result .card__link:hover+.card__img-wrap .card__img {

  -webkit-transform: scale(1.1, 1.1);

  transform: scale(1.1, 1.1);

}



.keyword .sec--result .card__img-wrap {

  width: 300px;

  height: 190px;

  margin-right: 60px;

  overflow: hidden;

  -webkit-box-flex: 0;

  -ms-flex: 0 0 300px;

  flex: 0 0 300px;

  position: relative;

}



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

  .keyword .sec--result .card__img-wrap {

    position: relative;

    width: 100%;

    height: 0;

    padding-top: 63.49%;

    margin: 0 0 25px;

  }

}



.keyword .sec--result .card__img-wrap .category {

  position: absolute;

  left: 0;

  bottom: 0;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 16px;

  color: #fff;

  padding: 4px 20px;

  letter-spacing: 0.03em;

}



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

  .keyword .sec--result .card__img-wrap .category {

    font-size: 13px;

    padding: 4px 15px;

  }

}



.keyword .sec--result .card__img-wrap .category--01 {

  background-color: #72c9f3;

}



.keyword .sec--result .card__img-wrap .category--02 {

  background-color: #bdb07b;

}



.keyword .sec--result .card__img-wrap .category--03 {

  background-color: #6aa0db;

}



.keyword .sec--result .card__img-wrap .category--04 {

  background-color: #1e4067;

}



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

  .keyword .sec--result .card__img-wrap .arrow {

    display: none;

  }

}



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

  .keyword .sec--result .card__img-wrap .arrow {

    position: absolute;

    right: 0;

    bottom: 0;

    width: 40px;

    height: 30px;

    background-color: #fff;

    z-index: 1;

  }

  .keyword .sec--result .card__img-wrap .arrow::before {

    width: 24px;

    position: absolute;

    right: 1px;

    bottom: 5px;

    -webkit-transform: translateY(-50%);

    transform: translateY(-50%);

    content: "";

    display: block;

    height: 1px;

    background: url(../img/common/underline_black.png) no-repeat left bottom;

    background-size: 100% 1px;

    z-index: 2;

  }

  .keyword .sec--result .card__img-wrap .arrow::after {

    content: "";

    display: block;

    width: 25px;

    height: 12px;

    background-size: contain;

    position: absolute;

    right: 0;

    bottom: 0;

    display: block;

    background: url(../img/common/icon_link_black.svg) no-repeat center;

    z-index: 1;

  }

}



.keyword .sec--result .card__img {

  display: block;

  width: 300px;

  height: 190px;

  background-repeat: no-repeat;

  background-size: cover;

  background-position: center top;

  -webkit-transition: all .4s ease;

  transition: all .4s ease;

}



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

  .keyword .sec--result .card__img {

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    height: 100%;

  }

}



.keyword .sec--result .card__text {

  width: calc(100% - 360px);

  padding-right: 60px;

}



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

  .keyword .sec--result .card__text {

    width: 100%;

    padding-right: 0;

  }

}



.keyword .sec--result .card__ttl__sub {

  margin-bottom: 20px;

  display: block;

  font-size: 14px;

  line-height: 1;

  letter-spacing: 0.1em;

}



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

  .keyword .sec--result .card__ttl__sub {

    margin-bottom: 15px;

    font-size: 12px;

  }

}



.keyword .sec--result .card__ttl__main {

  display: block;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 26px;

  line-height: 1.6;

  letter-spacing: 0.05em;

}



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

  .keyword .sec--result .card__ttl__main {

    font-size: 20px;

  }

}



.keyword .sec--result .card__tag {

  position: relative;

  z-index: 1;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

  margin: 30px 0 0 0;

}



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

  .keyword .sec--result .card__tag {

    margin: 16px 0 0;

  }

}



.keyword .sec--result .card__tag li {

  margin: 0 4px 4px 0;

}



.keyword .sec--result .card__tag a {

  display: block;

  padding: 4px 10px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  font-size: 12px;

  border-radius: 2px;

  background-color: #f5f5f5;

  -webkit-transition: all .3s;

  transition: all .3s;

}



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

  .keyword .sec--result .card__tag a {

    padding: 5px 8px 5px 5px;

    font-size: 11px;

  }

}



.keyword .sec--result .card__tag a::before {

  content: "\00266f";

}



.keyword .sec--result .card__tag a:hover {

  text-decoration: none;

  background-color: #e7e7e7;

}



.keyword .keywords {

  max-width: 960px;

  margin: 0 auto;

}



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

  .keyword .keywords__ttl {

    margin-bottom: 25px;

  }

}



.about .kv {

  position: relative;

  width: calc(100% - 8.3vw);

  margin: 0 0 80px auto;

  padding-bottom: 85px;

}



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

  .about .kv {

    width: calc(100% - 8vw);

    margin: 0 0 40px auto;

    padding-bottom: 120px;

  }

}



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

  .about .kv {

    padding-bottom: 155px;

  }

}



.about .kv__img {

  width: 100%;

  height: 0;

  padding-top: 44%;

  background-repeat: no-repeat;

  background-size: cover;

  background-position: center;

}



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

  .about .kv__img {

    padding-top: 0;

    height: 420px;

  }

}



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

  .about .kv__img {

    height: 0;

    padding-top: 44%;

  }

}



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

  .about .kv__img {

    padding-top: 91.3%;

  }

}



.about .kv__text {

  opacity: 0;

  position: absolute;

  left: 0;

  bottom: 0;

  width: 600px;

  padding: 68px 68px 15px 0;

  background-color: #fff;

  -webkit-animation: left 1s 0s ease forwards;

  animation: left 1s 0s ease forwards;

}



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

  .about .kv__text {

    width: calc(100% - 8vw);

    padding: 36px 36px 0 0;

  }

}



.about .kv__text::after {

  opacity: 0;

  content: "";

  position: absolute;

  left: 0;

  top: 0;

  display: block;

  width: 240px;

  height: 8px;

  background-color: #72c9f3;

  -webkit-animation: fadein 1s 1s ease forwards;

  animation: fadein 1s 1s ease forwards;

}



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

  .about .kv__text::after {

    width: 132px;

    height: 4px;

  }

}



.about .kv__ttl {

  opacity: 0;

  font-size: 16px;

  letter-spacing: 0.1em;

  position: relative;

  overflow: hidden;

  -webkit-animation: fadein 1s 2s ease forwards;

  animation: fadein 1s 2s ease forwards;

}



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

  .about .kv__ttl {

    font-size: 12px;

  }

}



.about .kv__ttl__en {

  display: block;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 48px;

  letter-spacing: 0.03em;

}



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

  .about .kv__ttl__en {

    margin-top: 20px;

    font-size: 30px;

    line-height: 1.1;

  }

}



.about .kv__tag {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

  opacity: 0;

  margin: 10px 16% 0 0;

  -webkit-animation: fadein 1s 2.5s ease forwards;

  animation: fadein 1s 2.5s ease forwards;

}



.about .kv__tag li {

  margin: 0 4px 4px 0;

}



.about .kv__tag a {

  display: block;

  padding: 4px 10px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  font-size: 12px;

  border-radius: 2px;

  background-color: #f5f5f5;

  -webkit-transition: all .3s;

  transition: all .3s;

}



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

  .about .kv__tag a {

    padding: 5px 8px 5px 5px;

    font-size: 11px;

  }

}



.about .kv__tag a::before {

  content: "\00266f";

}



.about .kv__tag a:hover {

  text-decoration: none;

  background-color: #e7e7e7;

  cursor: pointer;

}



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

  .about .kv__tag {

    margin-top: 15px;

  }

}



.about .kv+.lead {

  display: none;

}



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

  .about .kv+.lead {

    max-width: 960px;

    display: block;

    margin: 50px 8vw 0;

    font-size: 12px;

    line-height: 1.8;

  }

}



.about .anc {

  max-width: 960px;

  margin: 100px auto;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

}



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

  .about .anc {

    display: block;

    margin: 40px auto;

  }

}



.about .anc li {

  margin: 0 25px;

}



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

  .about .anc li {

    margin: 0 8vw;

  }

  .about .anc li:first-child {

    border-top: solid 1px #1e1e1e;

  }

}



.about .anc a {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  width: 287px;

  height: 124px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 20px;

  letter-spacing: 0.1em;

  border-top: solid 1px #1e1e1e;

  border-bottom: solid 1px #1e1e1e;

}



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

  .about .anc a {

    width: 100%;

    height: 81px;

    border-top: none;

    font-size: 16px;

    -webkit-box-orient: horizontal;

    -webkit-box-direction: normal;

    -ms-flex-direction: row;

    flex-direction: row;

    -webkit-box-pack: justify;

    -ms-flex-pack: justify;

    justify-content: space-between;

  }

}



.about .anc a .arrow {

  display: block;

  width: 18px;

  height: 10px;

  margin-top: 15px;

  background: url(../img/common/icon_arrow.svg) no-repeat center;

  background-size: contain;

  -webkit-transform: scale(-1, -1);

  transform: scale(-1, -1);

}



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

  .about .anc a .arrow {

    width: 15px;

    height: 8px;

    margin-top: 0;

  }

}



.about .anc a .arrow::before {

  opacity: 0;

  position: absolute;

  left: 100%;

  top: 0;

  content: "";

  display: block;

  width: 5px;

  height: 10px;

  background: #fff;

}



.about .anc a:hover .arrow::before {

  -webkit-animation: arrow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

  animation: arrow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

}



.about .sec:nth-of-type(odd) .sec__ttl-wrap {

  margin-left: 8.3vw;

}



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

  .about .sec:nth-of-type(odd) .sec__ttl-wrap {

    margin-left: 0;

  }

}



.about .sec:nth-of-type(odd) .sec__ttl-wrap::after {

  content: "";

  position: absolute;

  bottom: 0;

  left: 0;

  width: calc(100% - 8.3vw);

  height: 120px;

  background-color: #fff;

}



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

  .about .sec:nth-of-type(odd) .sec__ttl-wrap::after {

    display: none;

  }

}



.about .sec:nth-of-type(odd) .sec__ttl {

  padding-right: 8.3vw;

}



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

  .about .sec:nth-of-type(odd) .sec__ttl {

    padding-right: 0;

  }

}



.about .sec:nth-of-type(even) .sec__ttl-wrap {

  margin-right: 8.3vw;

}



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

  .about .sec:nth-of-type(even) .sec__ttl-wrap {

    margin-right: 0;

  }

}



.about .sec:nth-of-type(even) .sec__ttl-wrap::after {

  content: "";

  position: absolute;

  bottom: 0;

  right: 0;

  width: calc(100% - 8.3vw);

  height: 120px;

  background-color: #fff;

}



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

  .about .sec:nth-of-type(even) .sec__ttl-wrap::after {

    display: none;

  }

}



.about .sec:nth-of-type(even) .sec__ttl {

  padding-left: 8.3vw;

}



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

  .about .sec:nth-of-type(even) .sec__ttl {

    padding-left: 0;

  }

}



.about .sec .sec__ttl-wrap {

  position: relative;

  width: auto;

  height: 400px;

  padding-top: 80px;

  background-repeat: no-repeat;

  background-position: center;

  background-size: cover;

}



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

  .about .sec .sec__ttl-wrap {

    padding-top: 50px;

    height: 177px;

  }

}



.about .sec .sec__ttl {

  width: 100%;

  display: -webkit-inline-box;

  display: -ms-inline-flexbox;

  display: inline-flex;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

}



.about .sec .sec__ttl__en {

  margin-bottom: 30px;

  padding: 10px 0;

  font-size: 16px;

  letter-spacing: 0.08em;

  line-height: 1;

  color: #fff;

  border-top: solid 1px #fff;

  border-bottom: solid 1px #fff;

}



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

  .about .sec .sec__ttl__en {

    margin-bottom: 19px;

    padding: 5px 0;

    font-size: 13px;

  }

}



.about .sec .sec__ttl__jp {

  line-height: 1;

  padding: 10px;

  font-size: 40px;

  letter-spacing: 0.1em;

  background-color: #fff;

}



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

  .about .sec .sec__ttl__jp {

    font-size: 25px;

    padding: 5px 8px;

  }

}



.about .sec .mission {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  position: relative;

  margin-bottom: 100px;

  padding-bottom: 60px;

}



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

  .about .sec .mission {

    margin: 30px 0 50px;

    padding: 0 8vw;

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

  }

}



.about .sec .mission::before {

  position: absolute;

  left: 0;

  bottom: 0;

  content: "";

  width: calc(50% - 100px);

  height: 300px;

  background-color: #f5f5f5;

}



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

  .about .sec .mission::before {

    width: calc(100% - 70px);

    height: 0;

    padding-top: 57.33%;

    bottom: inherit;

    top: 30px;

  }

}



.about .sec .mission__img {

  width: 440px;

  height: 300px;

  margin-right: 80px;

  background-repeat: no-repeat;

  background-position: center;

  background-size: cover;

  position: relative;

  z-index: 1;

}



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

  .about .sec .mission__img {

    width: 100%;

    height: 0;

    margin: 0 0 70px;

    padding-top: 68.25%;

  }

}



.about .sec .mission__ttl {

  margin-bottom: 40px;

}



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

  .about .sec .mission__ttl {

    margin-bottom: 20px;

  }

}



.about .sec .mission__ttl span {

  display: inline-block;

  padding: 5px 12px;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 44px;

  letter-spacing: 0.05em;

  line-height: 1;

  background-color: #72c9f3;

  color: #fff;

}



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

  .about .sec .mission__ttl span {

    padding: 3px 8px;

    font-size: 29px;

  }

}



.about .sec .mission__text {

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 16px;

  line-height: 2.375;

  letter-spacing: 0.14em;

}



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

  .about .sec .mission__text {

    font-size: 13px;

    line-height: 2.15;

    letter-spacing: 0.05em;

    -webkit-font-feature-settings: "palt";

    font-feature-settings: "palt";

  }

}



.about .sec .mission__text span {

  font-size: 20px;

}



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

  .about .sec .mission__text span {

    font-size: 16px;

  }

}



.about .sec .philosophy {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: end;

  -ms-flex-pack: end;

  justify-content: flex-end;

  margin-left: auto;

  width: calc(100% - 8.3vw);

  margin-bottom: 80px;

  padding: 100px 0 80px 8.3vw;

  background-repeat: no-repeat;

  background-position: center;

  background-size: cover;

}



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

  .about .sec .philosophy {

    width: 100%;

    margin-bottom: 50px;

    padding: 50px 8vw;

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

  }

}



.about .sec .philosophy__ttl {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  width: 100px;

  margin-right: 100px;

  border-left: 1px solid #fff;

  border-right: 1px solid #fff;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 36px;

  letter-spacing: 0.13em;

  color: #fff;

  -webkit-writing-mode: vertical-rl;

  -ms-writing-mode: tb-rl;

  writing-mode: vertical-rl;

}



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

  .about .sec .philosophy__ttl {

    width: auto;

    -webkit-writing-mode: inherit;

    -ms-writing-mode: inherit;

    writing-mode: inherit;

    border-top: 1px solid #fff;

    border-bottom: 1px solid #fff;

    border-left: none;

    border-right: none;

    margin: 0 auto 30px;

    padding: 7px 35px;

    font-size: 22px;

    letter-spacing: 0.1em;

  }

}



.about .sec .philosophy__text {

  width: calc(100% - 200px);

  padding: 100px 50px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 20px;

  letter-spacing: 0.15em;

  text-align: center;

  background-color: #fff;

  line-height: 2.4;

}



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

  .about .sec .philosophy__text {

    padding: 45px 10px;

    width: 100%;

    font-size: 13px;

    line-height: 2.15;

    letter-spacing: 0.1em;

    -webkit-font-feature-settings: "palt";

    font-feature-settings: "palt";

  }

}



.about .sec .else-wrap {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  margin: 0 auto 100px;

  padding: 0 16.6vw;

}



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

  .about .sec .else-wrap {

    max-width: inherit;

    min-width: inherit;

    padding: 0 8vw;

    margin: 0 auto 50px;

  }

}



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

  .about .sec .else-wrap {

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

    max-width: calc(100% - 16vw);

    min-width: inherit;

    padding: 0;

  }

}



.about .sec .else-wrap .link {

  position: relative;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  width: calc(50% - 20px);

  height: 72px;

  border-top: solid 1px #1e1e1e;

  border-bottom: solid 1px #1e1e1e;

}



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

  .about .sec .else-wrap .link {

    width: 100%;

    height: 65px;

    border-bottom: none;

  }

  .about .sec .else-wrap .link:last-child {

    border-bottom: solid 1px #1e1e1e;

  }

}



.about .sec .else-wrap .link:hover {

  text-decoration: none;

}



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

  .about .sec .else-wrap .link:hover::before {

    -webkit-animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

    animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

  }

}



.about .sec .else-wrap .link::before {

  position: absolute;

  right: 1px;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  content: "";

  display: block;

  width: 27px;

  height: 1px;

  background: url(../img/common/underline_black.png) no-repeat left bottom;

  background-size: 100% 1px;

  z-index: 2;

}



.about .sec .else-wrap .link::after {

  position: absolute;

  right: 0;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  content: "";

  display: block;

  width: 28px;

  height: 13px;

  background: url(../img/common/icon_link_black.svg) no-repeat center;

}



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

  .about .sec .else-wrap .link::after {

    width: 25px;

    height: 12px;

    background-size: contain;

  }

}



.about .sec .else-wrap .link__ttl__jp {

  position: relative;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: end;

  -ms-flex-align: end;

  align-items: flex-end;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  text-align: center;

  line-height: 1;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 16px;

  letter-spacing: 0.09em;

}



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

  .about .sec .else-wrap .link__ttl__jp {

    font-size: 15px;

  }

}



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

  .about .sec .else-wrap .link.sec-anim.view {

    -webkit-animation: none;

    animation: none;

    opacity: 1;

  }

}



.about .sec .else-wrap a[target="_blank"].link .link__ttl__jp::after {

  content: "";

  display: block;

  width: 10px;

  height: 8px;

  margin-left: 10px;

  background: url(../img/common/icon_blank_sp.svg) no-repeat center;

  background-size: contain;

}



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

  .about .sec .else-wrap a[target="_blank"].link .link__ttl__jp::after {

    width: 12.5px;

    height: 9.5px;

  }

}



.about .sec .s-ttl {

  margin-bottom: 35px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 36px;

  text-align: center;

  letter-spacing: 0.1em;

}



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

  .about .sec .s-ttl {

    margin-bottom: 15px;

    font-size: 22px;

  }

}



.about .sec .s-text {

  margin-bottom: 80px;

  text-align: center;

  font-family: YakuHanMP, 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 16px;

  line-height: 2.375;

  letter-spacing: 0.1em;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

}



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

  .about .sec .s-text {

    margin-bottom: 40px;

    font-size: 13px;

    letter-spacing: 0.05em;

    line-height: 2.15;

  }

}



.about .sec .s-text span {

  font-size: 20px;

}



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

  .about .sec .s-text span {

    font-size: 15px;

  }

}



.about .sec .history {

  width: calc(100% - 8.3vw);

  margin-bottom: 80px;

  padding: 100px 8.3vw 100px 16.6vw;

  background-color: #f5f5f5;

}



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

  .about .sec .history {

    width: 100%;

    margin-bottom: 50px;

    padding: 50px 8vw 30px;

  }

}



.about .sec .history__content {

  padding: 70px 8.3vw 100px 100px;

  background-color: #fff;

}



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

  .about .sec .history__content {

    padding: 32px 24px 50px;

  }

}



.about .sec .history__content dl {

  position: relative;

  padding-bottom: 60px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

}



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

  .about .sec .history__content dl {

    padding-bottom: 32px;

    -webkit-box-align: start;

    -ms-flex-align: start;

    align-items: flex-start;

  }

}



.about .sec .history__content dl::before {

  content: "";

  width: 1px;

  height: calc(100% - 24px);

  background-color: #f5f5f5;

  position: absolute;

  left: 122px;

  bottom: -3px;

}



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

  .about .sec .history__content dl::before {

    height: calc(100% - 14px);

    left: 65px;

  }

}



.about .sec .history__content dl:last-child {

  padding-bottom: 0;

}



.about .sec .history__content dl:last-child::before {

  display: none;

}



.about .sec .history__content__year {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 20px;

  letter-spacing: 0.05em;

  position: relative;

  -webkit-box-flex: 0;

  -ms-flex: 0 0 182px;

  flex: 0 0 182px;

}



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

  .about .sec .history__content__year {

    font-size: 13px;

    -webkit-box-flex: 0;

    -ms-flex: 0 0 86px;

    flex: 0 0 86px;

  }

}



.about .sec .history__content__year::after {

  content: "";

  display: block;

  width: 24px;

  height: 24px;

  margin-left: 42px;

  background: #72c9f3;

  border-radius: 50%;

  border: solid 6px #dcf4ff;

}



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

  .about .sec .history__content__year::after {

    width: 14px;

    height: 14px;

    margin-left: 14px;

    border: solid 3px #dcf4ff;

  }

}



.about .sec .history__content__text {

  width: calc(100% - 182px);

  -webkit-box-flex: 0;

  -ms-flex-positive: 0;

  flex-grow: 0;

  -ms-flex-negative: 0;

  flex-shrink: 0;

  -ms-flex-preferred-size: calc(100% - 182px);

  flex-basis: calc(100% - 182px);

  font-size: 14px;

  line-height: 2.28;

}



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

  .about .sec .history__content__text {

    width: calc(100% - 86px);

    -webkit-box-flex: 0;

    -ms-flex-positive: 0;

    flex-grow: 0;

    -ms-flex-negative: 0;

    flex-shrink: 0;

    -ms-flex-preferred-size: calc(100% - 86px);

    flex-basis: calc(100% - 86px);

    font-size: 12px;

    line-height: 1.8;

  }

}



.about .sec .history__content__photo {

  width: 100%;

  margin: 35px 0 0 182px;

}



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

  .about .sec .history__content__photo {

    margin: 20px 0 0 86px;

  }

}



.about .sec .history__content__photo p {

  margin-top: 20px;

  font-size: 12px;

  letter-spacing: 0.05em;

}



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

  .about .sec .history__content__photo p {

    margin-top: 10px;

    font-size: 10px;

  }

}



.about .sec .feature__text {

  width: calc(100% - 49.8vw);

  margin: 0 auto 70px;

}



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

  .about .sec .feature__text {

    width: calc(100% - 16vw);

  }

}



.about .sec .feature__content {

  margin: 0 16.6vw;

  counter-reset: feature 0;

}



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

  .about .sec .feature__content {

    margin: 0 8vw;

  }

}



.about .sec .feature .content {

  position: relative;

  padding: 0;

  margin-bottom: 80px;

}



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

  .about .sec .feature .content {

    margin-bottom: 60px;

  }

  .about .sec .feature .content:last-child {

    margin-bottom: 50px;

  }

}



.about .sec .feature .content:nth-child(odd) .content__ttl {

  right: 0;

}



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

  .about .sec .feature .content:nth-child(odd) .content__ttl {

    left: 0;

    right: inherit;

  }

}



.about .sec .feature .content:nth-child(even) .content__ttl {

  left: 0;

}



.about .sec .feature .content:nth-child(even) .content__img {

  margin-left: auto;

}



.about .sec .feature .content:nth-child(even) .content__text {

  margin-left: auto;

}



.about .sec .feature .content::before {

  position: absolute;

  right: 0;

  bottom: 0;

  content: "";

  display: block;

  width: 100%;

  height: calc(100% - 90px);

  background-color: #dcf4ff;

}



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

  .about .sec .feature .content::before {

    right: inherit;

    left: -8vw;

    top: 0;

    height: 189px;

  }

}



.about .sec .feature .content__inner {

  position: relative;

  top: 0;

  z-index: 1;

}



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

  .about .sec .feature .content__inner {

    padding-top: 30px;

  }

}



.about .sec .feature .content__ttl {

  position: absolute;

  top: 0;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  width: 8.3vw;

  -webkit-writing-mode: vertical-rl;

  -ms-writing-mode: tb-rl;

  writing-mode: vertical-rl;

  font-family: 'Noto Serif JP', serif;

  font-size: 24px;

  letter-spacing: 0.05em;

}



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

  .about .sec .feature .content__ttl {

    top: -25px;

    margin-bottom: 0;

    width: auto;

    font-size: 19px;

    -webkit-writing-mode: inherit;

    -ms-writing-mode: inherit;

    writing-mode: inherit;

  }

}



.about .sec .feature .content__ttl::after {

  margin-top: 25px;

  font-family: 'Libre Caslon Display', serif;

  font-size: 44px;

  counter-increment: feature 1;

  content: counter(feature, decimal-leading-zero);

}



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

  .about .sec .feature .content__ttl::after {

    margin: 0 0 0 10px;

    font-size: 27px;

  }

}



.about .sec .feature .content__img {

  display: block;

  width: calc(100% - 8.3vw);

}



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

  .about .sec .feature .content__img {

    width: 100%;

  }

}



.about .sec .feature .content__text {

  position: relative;

  z-index: 1;

  margin-top: -60px;

  width: 640px;

  text-align: center;

  padding-top: 70px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 20px;

  line-height: 2.4;

  letter-spacing: 0.1em;

  background-color: #fff;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

}



.about .sec .feature .content__text span {

  display: inline-block;

  font-family: YakuHanMP, 'Noto Serif JP', serif;

  font-weight: 500;

  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, rgba(114, 201, 243, .6)));

  background: linear-gradient(transparent 70%, rgba(114, 201, 243, .6) 70%);

  -webkit-font-feature-settings: 'palt';

  font-feature-settings: 'palt';

}



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

  .about .sec .feature .content__text span {

    background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, rgba(114, 201, 243, .6)), color-stop(95%, rgba(114, 201, 243, .6)), color-stop(95%, transparent));

    background: linear-gradient(transparent 70%, rgba(114, 201, 243, .6) 70%, rgba(114, 201, 243, .6) 95%, transparent 95%);

  }

}



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

  .about .sec .feature .content__text {

    margin-top: 25px;

    padding-top: 0;

    width: auto;

    background: none;

    font-size: 14px;

    line-height: 2.14;

  }

}



.about .sec .feature .content__text span {

  line-height: 1.6;

  font-size: 24px;

}



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

  .about .sec .feature .content__text span {

    font-size: 17px;

  }

}



.about .sec .global {

  position: relative;

  margin: 0 8.3vw;

  padding: 100px 0;

  background-color: #65c3f1;

}



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

  .about .sec .global {

    margin: 0;

    padding: 50px 0;

  }

}



.about .sec .global__ttl, .about .sec .global__text {

  color: #fff;

}



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

  .about .sec .global__ttl, .about .sec .global__text {

    padding: 0 8vw;

  }

}



.about .sec .global__text {

  margin-bottom: 0;

}



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

  .about .sec .global__text {

    margin-bottom: 25px;

  }

}



.about .sec .global__img {

  display: block;

  margin: 0 auto;

}



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

  .about .sec .global__img {

    margin-bottom: 30px;

  }

}



.about .sec .global .else-wrap {

  padding: 0;

  width: 480px;

  margin-bottom: 0;

}



.about .sec .global .else-wrap .link {

  width: 100%;

  border-top: solid 1px #fff;

  border-bottom: solid 1px #fff;

  color: #fff;

}



.about .sec .global .else-wrap .link::before {

  background: url(../img/common/underline_white.png) no-repeat left bottom;

  background-size: 100% 1px;

}



.about .sec .global .else-wrap .link::after {

  background: url(../img/common/icon_link_white.svg) no-repeat center;

}



.about .sec .global .else-wrap .link__ttl__jp::after {

  background: url(../img/common/icon_blank_white_sp.svg) no-repeat center;

}



.about .sec .global .else-wrap a[target="_blank"].link .link__ttl__jp::after {

  background: url(../img/common/icon_blank_white_sp.svg) no-repeat center;

}



.about .sec .global__note {

  position: absolute;

  right: 20px;

  bottom: 20px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 10px;

  color: #fff;

  letter-spacing: 0.1em;

}



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

  .about .sec .global__note {

    font-size: 9px;

    right: 10px;

    bottom: 10px;

  }

}



.about .sec .info {

  margin-bottom: 100px;

}



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

  .about .sec .info {

    margin-bottom: 50px;

  }

}



.about .sec .info__content {

  position: relative;

  margin: 20px 8.3vw 0;

  padding: 100px 0;

  background-color: #eaf4f9;

}



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

  .about .sec .info__content {

    margin: 15px 0 0;

    padding: 60px 0;

  }

}



.about .sec .info__content__ttl {

  position: absolute;

  left: -10px;

  top: 20px;

  display: inline-block;

  line-height: 1;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  padding: 8px 10px;

  letter-spacing: 0.1em;

  color: #fff;

  background-color: #72c9f3;

}



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

  .about .sec .info__content__ttl {

    left: 0;

    top: 0;

    font-size: 14px;

  }

}



.about .sec .info__content__note {

  position: absolute;

  right: 20px;

  bottom: 20px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 10px;

  letter-spacing: 0.1em;

}



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

  .about .sec .info__content__note {

    right: 10px;

    bottom: 10px;

  }

}



.about .sec .info__content .block {

  max-width: 720px;

  margin: 0 auto;

}



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

  .about .sec .info__content .block {

    width: 230px;

    margin: 0 auto;

  }

}



.about .sec .info__content .student {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

}



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

  .about .sec .info__content .student {

    width: 230px;

    margin: 0 auto;

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

  }

}



.about .sec .info__content .student__chart {

  -webkit-box-flex: 0;

  -ms-flex: 0 0 400px;

  flex: 0 0 400px;

  margin-right: 80px;

  table-layout: fixed;

  width: 400px;

}



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

  .about .sec .info__content .student__chart {

    position: absolute;

    left: 50%;

    top: 60px;

    width: 460px;

    -ms-flex-preferred-size: auto;

    flex-basis: auto;

    -webkit-transform: scale(0.5) translate(-50%, 0%);

    transform: scale(0.5) translate(-50%, 0%);

    margin-right: 0;

    -webkit-transform-origin: 0 0;

    transform-origin: 0 0;

  }

}



.about .sec .info__content .student__chart th {

  width: 110px;

  padding-right: 25px;

  text-align: right;

  font-family: 'Libre Caslon Display', serif;

  font-size: 14px;

  vertical-align: bottom;

  line-height: 1;

}



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

  .about .sec .info__content .student__chart th {

    font-size: 16px;

    padding-right: 28px;

  }

}



.about .sec .info__content .student__chart td {

  width: 290px;

  padding: 10px 0;

  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, transparent), color-stop(50%, transparent), color-stop(50%, #cfeaf7), to(#cfeaf7));

  background: linear-gradient(to bottom, transparent 0, transparent 50%, #cfeaf7 50%, #cfeaf7 100%);

}



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

  .about .sec .info__content .student__chart td {

    width: calc(100% - 124px);

    padding: 5px 0;

  }

}



.about .sec .info__content .student__chart td img {

  margin-right: 10px;

}



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

  .about .sec .info__content .student__chart td img {

    width: 23px;

    height: 53px;

    margin-right: 12px;

  }

}



.about .sec .info__content .student__chart td img:last-child {

  margin-right: 0;

}



.about .sec .info__content .student__chart tr:first-child td {

  display: none;

}



.about .sec .info__content .student__text {

  font-size: 14px;

  letter-spacing: 0.05em;

  line-height: 2.28;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

}



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

  .about .sec .info__content .student__text {

    font-size: 12px;

    line-height: 1.8;

  }

}



.about .sec .info__content .student__detail {

  text-align: center;

}



.about .sec .info__content .num-block {

  margin-bottom: 48px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  letter-spacing: 0.1em;

}



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

  .about .sec .info__content .num-block {

    margin-bottom: 30px;

  }

}



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

  .about .sec .info__content .num-block {

    padding-top: 183px;

  }

}



.about .sec .info__content .num-block__ttl {

  margin-bottom: 10px;

  font-size: 24px;

  line-height: 1;

}



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

  .about .sec .info__content .num-block__ttl {

    font-size: 14px;

  }

}



.about .sec .info__content .num-block__num {

  margin-bottom: 14px;

  font-size: 40px;

  line-height: 1;

}



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

  .about .sec .info__content .num-block__num {

    font-size: 27px;

  }

}



.about .sec .info__content .num-block__num span {

  font-family: 'Libre Caslon Display', serif;

  font-size: 70px;

  letter-spacing: 0.05em;

}



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

  .about .sec .info__content .num-block__num span {

    font-size: 50px;

  }

}



.about .sec .info__content .num-block__note {

  font-size: 14px;

  line-height: 1;

}



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

  .about .sec .info__content .num-block__note {

    font-size: 12px;

  }

}



.about .sec .info__content .school__detail {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

}



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

  .about .sec .info__content .school__detail {

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

  }

}



.about .sec .info__content .school .num-block {

  position: relative;

  margin-bottom: 0;

  padding-left: 130px;

}



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

  .about .sec .info__content .school .num-block {

    padding-left: 90px;

    padding-top: 0;

  }

}



.about .sec .info__content .school .num-block::before {

  position: absolute;

  left: 0;

  top: 0;

  content: "";

  display: block;

  width: 100px;

  height: 100px;

}



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

  .about .sec .info__content .school .num-block::before {

    width: 70px;

    height: 70px;

  }

}



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

  .about .sec .info__content .school .num-block.class {

    margin-bottom: 30px;

    padding-bottom: 30px;

    border-bottom: solid 1px #c6dfeb;

  }

}



.about .sec .info__content .school .num-block.class::before {

  background: url(../img/feature/about/icon_classroom1.svg) no-repeat center;

}



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

  .about .sec .info__content .school .num-block.class::before {

    background-size: cover;

  }

}



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

  .about .sec .info__content .school .num-block.class .num-block__ttl {

    margin-bottom: 5px;

    font-size: 13px;

  }

}



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

  .about .sec .info__content .school .num-block.class .num-block__num {

    margin-bottom: 5px;

  }

  .about .sec .info__content .school .num-block.class .num-block__num span {

    font-size: 40px;

  }

}



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

  .about .sec .info__content .school .num-block.class .num-block__note {

    font-size: 10px;

  }

}



.about .sec .info__content .school .num-block.teacher::before {

  background: url(../img/feature/about/icon_teacher.svg) no-repeat center;

}



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

  .about .sec .info__content .school .num-block.teacher::before {

    background-size: cover;

  }

}



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

  .about .sec .info__content .school .num-block.teacher .num-block__ttl {

    margin-bottom: 5px;

    font-size: 13px;

  }

}



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

  .about .sec .info__content .school .num-block.teacher .num-block__num {

    margin-bottom: 5px;

  }

  .about .sec .info__content .school .num-block.teacher .num-block__num span {

    font-size: 40px;

  }

}



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

  .about .sec .info__content .school .num-block.teacher .num-block__note {

    font-size: 10px;

  }

}



.about .sec .info__content .school .num-block__num span {

  font-size: 58px;

}



.about .sec .info__content .school__text {

  margin: 60px 0 70px;

  text-align: center;

  font-size: 14px;

  line-height: 2.28;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

  letter-spacing: 0.05em;

}



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

  .about .sec .info__content .school__text {

    margin: 40px 0 50px;

    font-size: 12px;

    line-height: 1.8;

  }

}



.about .sec .info__content .partner {

  max-width: 720px;

  margin: 0 auto;

  text-align: center;

}



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

  .about .sec .info__content .partner {

    padding: 0 8vw;

  }

}



.about .sec .info__content .partner__ttl {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  margin-bottom: 40px;

  font-size: 24px;

  letter-spacing: 0.05em;

}



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

  .about .sec .info__content .partner__ttl {

    margin-bottom: 30px;

    font-size: 17px;

  }

}



.about .sec .info__content .partner__ttl::before, .about .sec .info__content .partner__ttl::after {

  content: "";

  display: block;

  width: calc(50% - 200px);

  height: 5px;

  border-top: solid 1px #c6dfeb;

  border-bottom: solid 1px #c6dfeb;

}



.about .sec .info__content .partner .card-wrap {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

}



.about .sec .info__content .partner .card {

  width: calc(50% - 30px);

  padding: 50px 0 40px;

  background-color: #fff;

  border-top: solid 4px #72c9f3;

}



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

  .about .sec .info__content .partner .card {

    padding: 25px 0 13px;

    width: calc(50% - 6px);

  }

}



.about .sec .info__content .partner .card__ttl {

  margin-bottom: 5px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 22px;

  letter-spacing: 0.1em;

}



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

  .about .sec .info__content .partner .card__ttl {

    font-size: 15px;

    line-height: 1;

  }

}



.about .sec .info__content .partner .card__note {

  margin-bottom: 25px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 12px;

}



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

  .about .sec .info__content .partner .card__note {

    min-height: 3.2em;

    margin-bottom: 15px;

    font-size: 10px;

  }

}



.about .sec .info__content .partner .card__icon {

  position: relative;

  display: block;

  margin-bottom: 30px;

}



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

  .about .sec .info__content .partner .card__icon {

    width: 100%;

    height: 60px;

    margin: 0 auto 10px;

  }

}



.about .sec .info__content .partner .card__icon::before {

  position: absolute;

  right: -30px;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  content: "";

  display: block;

  width: calc(50% + 30px);

  height: 26px;

  background-color: #eaf4f9;

}



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

  .about .sec .info__content .partner .card__icon::before {

    height: 13px;

    right: -60px;

    width: 80%;

  }

}



.about .sec .info__content .partner .card__icon::after {

  position: absolute;

  right: -109px;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  content: "フランチャイズ契約";

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 700;

  background-color: #72c9f3;

  color: #fff;

  width: 158px;

  height: 46px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  border-radius: 23px;

  z-index: 2;

}



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

  .about .sec .info__content .partner .card__icon::after {

    right: -44px;

    width: 75px;

    height: 30px;

    font-size: 10px;

    white-space: pre;

    content: "フラン\Aチャイズ契約";

  }

}



.about .sec .info__content .partner .card__icon img {

  position: relative;

  z-index: 1;

}



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

  .about .sec .info__content .partner .card__icon img {

    width: 60px;

  }

}



.about .sec .info__content .partner .card__text {

  position: relative;

  font-size: 14px;

  line-height: 1.5;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

  letter-spacing: 0.05em;

}



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

  .about .sec .info__content .partner .card__text {

    font-size: 9px;

  }

}



.about .sec .info__content .partner .card__text li {

  margin-bottom: 5px;

}



.about .sec .info__content .partner .card__text::before {

  content: "";

  position: absolute;

  top: 50%;

  right: -81px;

  width: 104px;

  height: 4px;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  background: url(../img/common/dot.png) repeat-x left;

}



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

  .about .sec .info__content .partner .card__text::before {

    width: 60px;

    height: 2px;

    background: url(../img/common/dot.png) repeat-x left;

    right: -36px;

    background-size: 4.5px 2px;

  }

}



.about .sec .info__content .partner .card__text::after {

  position: absolute;

  content: "";

  display: block;

  width: 0;

  height: 0;

  top: 50%;

  right: 28px;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  border-style: solid;

  border-width: 7px 8px 7px 0;

  border-color: transparent #1e1e1e transparent transparent;

}



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

  .about .sec .info__content .partner .card__text::after {

    right: 25px;

    border-width: 3.5px 4px 3.5px 0;

  }

}



.about .sec .info__content .partner .card:nth-child(2) .card__icon::before {

  right: inherit;

  left: -30px;

}



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

  .about .sec .info__content .partner .card:nth-child(2) .card__icon::before {

    left: -60px;

  }

}



.about .sec .info__content .partner .card:nth-child(2) .card__icon::after {

  display: none;

}



.about .sec .info__content .partner .card:nth-child(2) .card__text::before {

  display: none;

}



.about .sec .info__content .partner .card:nth-child(2) .card__text::after {

  right: inherit;

  left: 27px;

  -webkit-transform: scale(-1, -1) translateY(50%);

  transform: scale(-1, -1) translateY(50%);

}



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

  .about .sec .info__content .partner .card:nth-child(2) .card__text::after {

    left: 26px;

  }

}



.about .sec .info__content .else-wrap {

  width: 480px;

  margin: 80px auto 0;

  padding: 0;

}



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

  .about .sec .info__content .else-wrap {

    margin-top: 40px;

  }

}



.about .sec .info__content .else-wrap .link {

  width: 100%;

}



.about .sec .info__wrap {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  margin: 20px 8.3vw 0;

}



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

  .about .sec .info__wrap {

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

    margin: 15px 0 0;

  }

}



.about .sec .info__wrap .info__content {

  width: calc(50% - 10px);

  margin: 0;

}



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

  .about .sec .info__wrap .info__content {

    width: 100%;

  }

}



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

  .about .sec .base-wrap {

    padding: 83px 0;

  }

}



.about .sec .base {

  display: block;

  position: relative;

  width: 300px;

  height: 300px;

  margin: 5px auto 0;

  background: url(../img/feature/about/bg_base.svg) no-repeat center;

}



@media only screen and (max-width: 767px) {

  .about .sec .base {

    width: 200px;

    height: 200px;

    background-size: contain;

    margin: 0 auto;

  }

}



.about .sec .base .num-block {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  text-align: center;

  width: 200px;

  height: 200px;

  margin-bottom: 0;

  background-color: #fff;

  border-radius: 50%;

}



@media only screen and (max-width: 767px) {

  .about .sec .base .num-block {

    width: 134px;

    height: 134px;

    padding-top: 0;

  }

}



.about .sec .base .num-block__ttl {

  margin-top: 20px;

  font-size: 20px;

}



@media only screen and (max-width: 767px) {

  .about .sec .base .num-block__ttl {

    font-size: 13px;

  }

}



.about .sec .base .num-block__num {

  font-size: 20px;

}



@media only screen and (max-width: 767px) {

  .about .sec .base .num-block__num {

    font-size: 13px;

  }

}



.about .sec .base .num-block__num span {

  font-size: 58px;

  letter-spacing: 0;

}



@media only screen and (max-width: 767px) {

  .about .sec .base .num-block__num span {

    font-size: 40px;

  }

}



.about .sec .base .num-block:first-of-type {

  position: absolute;

  right: -50px;

  top: -50px;

}



.about .sec .base .num-block:nth-of-type(2) {

  position: absolute;

  left: -50px;

  bottom: -50px;

}



.about .sec .employee {

  text-align: center;

  padding: 80px 0 100px;

}



@media only screen and (max-width: 1023px) {

  .about .sec .employee.info__content {

    margin-top: 15px;

    padding: 60px 0;

  }

}



.about .sec .employee__inner {

  max-width: 360px;

  margin: 0 auto;

}



@media only screen and (max-width: 767px) {

  .about .sec .employee__inner {

    max-width: 230px;

  }

}



.about .sec .employee .info__img {

  margin-bottom: 40px;

}



@media only screen and (max-width: 767px) {

  .about .sec .employee .info__img {

    margin-bottom: 20px;

  }

}



@media only screen and (max-width: 767px) {

  .about .sec .employee .info__text {

    margin-top: 20px;

  }

}



.about .sec .employee .num-block {

  margin-bottom: 30px;

  text-align: center;

}



@media only screen and (max-width: 767px) {

  .about .sec .employee .num-block {

    margin-bottom: 20px;

    padding-top: 0;

  }

}



.about .sec .employee .num-block__ttl {

  margin-top: 20px;

  font-size: 24px;

}



@media only screen and (max-width: 767px) {

  .about .sec .employee .num-block__ttl {

    font-size: 13px;

  }

}



.about .sec .employee .num-block__num {

  font-size: 24px;

}



@media only screen and (max-width: 767px) {

  .about .sec .employee .num-block__num {

    font-size: 21px;

  }

}



.about .sec .employee .num-block__num span {

  font-size: 58px;

  letter-spacing: 0;

}



@media only screen and (max-width: 767px) {

  .about .sec .employee .num-block__num span {

    font-size: 40px;

  }

}



.about #sec02 .lead {

  position: relative;

  z-index: 1;

  margin: -24px 0 60px;

  text-align: center;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 28px;

  letter-spacing: 0.1em;

  line-height: 1.6;

  -webkit-font-feature-settings: 'palt';

  font-feature-settings: 'palt';

}



@media only screen and (max-width: 1023px) {

  .about #sec02 .lead {

    margin: 50px 8vw 40px;

    font-size: 18px;

  }

}



.about #sec02 .chart-wrap {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  margin: 0 8.3vw 100px;

}



@media only screen and (max-width: 1023px) {

  .about #sec02 .chart-wrap {

    display: block;

    margin: 0 0 50px;

  }

}



.about #sec02 .chart-wrap .card {

  position: relative;

  width: 32.5%;

  padding: 100px 0 90px;

  background-color: #f3f1e6;

}



@media only screen and (max-width: 1023px) {

  .about #sec02 .chart-wrap .card {

    width: 100%;

    margin-bottom: 15px;

    padding: 30px 0;

  }

}



.about #sec02 .chart-wrap .card__ttl {

  position: absolute;

  left: -10px;

  top: 20px;

  display: inline-block;

  line-height: 1;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  padding: 8px 10px;

  letter-spacing: 0.1em;

  color: #fff;

  background-color: #bdb07b;

}



@media only screen and (max-width: 1023px) {

  .about #sec02 .chart-wrap .card__ttl {

    left: 0;

    top: 0;

    font-size: 14px;

  }

}



.about #sec02 .chart-wrap .card__note {

  font-size: 12px;

  text-align: center;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 400;

}



@media only screen and (max-width: 767px) {

  .about #sec02 .chart-wrap .card__note {

    position: absolute;

    right: 10px;

    bottom: 10px;

    font-size: 9px;

    text-align: right;

    font-family: 'Noto Serif JP', serif;

    font-weight: 500;

  }

}



.about #sec02 .chart-wrap .card.animtrigger.view .chart .circle .bg {

  -webkit-animation: circleBg 1s .5s forwards;

  animation: circleBg 1s .5s forwards;

}



.about #sec02 .chart-wrap .card.animtrigger.view .chart .circle .cont1 {

  -webkit-animation: circleCont1 1s .5s forwards;

  animation: circleCont1 1s .5s forwards;

}



@media (-ms-high-contrast: none), (-ms-high-contrast: active) {

  .about #sec02 .chart-wrap .card.animtrigger.view .chart .circle .cont1 {

    /* IE11にのみ適用したいスタイルシート */

    -webkit-transform-origin: center;

    transform-origin: center;

    stroke-dasharray: 261 660;

  }

}



.about #sec02 .chart-wrap .card.animtrigger.view .chart .circle .cont2 {

  -webkit-animation: circleCont2 1s .5s forwards;

  animation: circleCont2 1s .5s forwards;

}



@media (-ms-high-contrast: none), (-ms-high-contrast: active) {

  .about #sec02 .chart-wrap .card.animtrigger.view .chart .circle .cont2 {

    /* IE11にのみ適用したいスタイルシート */

    -webkit-transform-origin: center;

    transform-origin: center;

    stroke-dasharray: 187 660;

  }

}



.about #sec02 .chart-wrap .card.animtrigger.view .chart .circle .cont3 {

  -webkit-animation: circleCont3 1s .5s forwards;

  animation: circleCont3 1s .5s forwards;

}



@media (-ms-high-contrast: none), (-ms-high-contrast: active) {

  .about #sec02 .chart-wrap .card.animtrigger.view .chart .circle .cont3 {

    /* IE11にのみ適用したいスタイルシート */

    -webkit-transform-origin: center;

    transform-origin: center;

    stroke-dasharray: 98 660;

  }

}



.about #sec02 .chart-wrap .chart {

  position: relative;

  width: 240px;

  height: 240px;

  margin: 0 auto 40px;

}



@media only screen and (max-width: 767px) {

  .about #sec02 .chart-wrap .chart {

    margin-bottom: 0;

    width: 150px;

    height: 150px;

  }

}



.about #sec02 .chart-wrap .chart__ttl {

  position: absolute;

  left: 50%;

  top: 50%;

  -webkit-transform: translate(-50%, -50%);

  transform: translate(-50%, -50%);

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 20px;

}



.about #sec02 .chart-wrap .chart__ttl span {

  font-family: 'Libre Caslon Display', serif;

  font-size: 56px;

}



@media only screen and (max-width: 767px) {

  .about #sec02 .chart-wrap .chart__ttl span {

    font-size: 40px;

  }

}



.about #sec02 .chart-wrap .chart .circle {

  display: inline-block;

  -webkit-transform-origin: center;

  transform-origin: center;

  -webkit-transform: rotate(-90deg);

  transform: rotate(-90deg);

}



@media only screen and (max-width: 767px) {

  .about #sec02 .chart-wrap .chart .circle {

    -webkit-transform: rotate(-90deg) scale(0.623) translate(72px, -73px);

    transform: rotate(-90deg) scale(0.623) translate(72px, -73px);

  }

}



.about #sec02 .chart-wrap .chart .circle .bg {

  stroke: #ebe9dd;

  fill: transparent;

  stroke-width: 30;

}



.about #sec02 .chart-wrap .chart .circle .cont {

  stroke: #bdb07b;

  fill: transparent;

  stroke-width: 30;

}



.about #sec02 .block {

  text-align: center;

}



.about #sec02 .block__ttl {

  display: -webkit-inline-box;

  display: -ms-inline-flexbox;

  display: inline-flex;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  margin-bottom: 60px;

}



@media only screen and (max-width: 1023px) {

  .about #sec02 .block__ttl {

    margin-bottom: 40px;

  }

}



.about #sec02 .block__ttl__01 {

  margin-bottom: 30px;

  padding: 5px 0;

  font-size: 16px;

  letter-spacing: 0.08em;

  line-height: 1;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  color: #1e1e1e;

  border-top: solid 1px #1e1e1e;

  border-bottom: solid 1px #1e1e1e;

}



@media only screen and (max-width: 1023px) {

  .about #sec02 .block__ttl__01 {

    margin-bottom: 15px;

    font-size: 12px;

  }

}



.about #sec02 .block__ttl__02 {

  text-align: center;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 28px;

  line-height: 1.6;

}



@media only screen and (max-width: 1023px) {

  .about #sec02 .block__ttl__02 {

    font-size: 18px;

  }

}



.about #sec02 .block__chart {

  position: relative;

  margin: 0 8.3vw 100px;

  padding: 50px 0 70px;

  background-color: #f3f1e6;

}



@media only screen and (max-width: 1023px) {

  .about #sec02 .block__chart {

    margin: 0 auto 50px;

    padding: 50px 8vw 70px;

  }

}



@media only screen and (max-width: 767px) {

  .about #sec02 .block__chart {

    margin: 0 auto 50px;

    padding: 30px 8vw 35px;

  }

}



.about #sec02 .block__chart__note {

  position: absolute;

  right: 20px;

  bottom: 20px;

  font-size: 10px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

}



@media only screen and (max-width: 767px) {

  .about #sec02 .block__chart__note {

    font-size: 9px;

    right: 10px;

    bottom: 10px;

  }

}



.about #sec02 .block__chart__inner {

  position: relative;

  max-width: 960px;

  margin: 0 auto;

  padding: 88px 60px 60px;

  background-color: #fff;

}



@media only screen and (max-width: 767px) {

  .about #sec02 .block__chart__inner {

    padding: 35px 20px 20px;

  }

}



.about #sec02 .block__chart .bg {

  position: absolute;

  right: 60px;

  top: 60px;

  width: calc(100% - 300px);

  height: calc(100% - 120px);

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

}



@media only screen and (max-width: 767px) {

  .about #sec02 .block__chart .bg {

    right: 20px;

    top: 35px;

    width: calc(100% - 160px);

    height: calc(100% - 55px);

  }

}



.about #sec02 .block__chart .bg .line {

  width: 1px;

  height: 100%;

  background-color: #f5f5f5;

  position: relative;

}



.about #sec02 .block__chart .bg .line::before {

  content: "";

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  font-size: 12px;

  position: absolute;

  top: -30px;

  left: 50%;

  -webkit-transform: translateX(-50%);

  transform: translateX(-50%);

}



@media only screen and (max-width: 767px) {

  .about #sec02 .block__chart .bg .line::before {

    -webkit-transform: scale(0.5) translate(-100%, 50%);

    transform: scale(0.5) translate(-100%, 50%);

  }

}



.about #sec02 .block__chart .bg .line0::before {

  content: "0";

}



.about #sec02 .block__chart .bg .line10::before {

  content: "10";

}



.about #sec02 .block__chart .bg .line20::before {

  content: "20";

}



.about #sec02 .block__chart .bg .line30::before {

  content: "30";

}



.about #sec02 .block__chart .bg .line40::before {

  content: "40";

}



.about #sec02 .block__chart .bg .line50::before {

  content: "50";

}



.about #sec02 .block__chart .bg .line60::before {

  content: "60";

}



.about #sec02 .block__chart .bg .line70::before {

  content: "70";

}



.about #sec02 .block__chart .bg .line80::before {

  content: "80";

}



.about #sec02 .block__chart .bg .line90::before {

  content: "90";

}



.about #sec02 .block__chart .bg .line100::before {

  content: "100";

}



.about #sec02 .block__chart dl {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  margin-bottom: 30px;

}



@media only screen and (max-width: 767px) {

  .about #sec02 .block__chart dl {

    margin-bottom: 15px;

  }

}



.about #sec02 .block__chart dl dt {

  -webkit-box-flex: 0;

  -ms-flex: 0 0 180px;

  flex: 0 0 180px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 700;

  text-align: left;

  font-size: 14px;

  letter-spacing: 0.05em;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

}



@media only screen and (max-width: 767px) {

  .about #sec02 .block__chart dl dt {

    -webkit-box-flex: 0;

    -ms-flex: 0 0 120px;

    flex: 0 0 120px;

    font-size: 9px;

  }

}



.about #sec02 .block__chart dl dd {

  width: calc(100% - 180px);

}



@media only screen and (max-width: 767px) {

  .about #sec02 .block__chart dl dd {

    width: calc(100% - 120px);

  }

}



.about #sec02 .block__chart dl dd .barChart {

  position: relative;

  height: 40px;

  text-align: right;

  background-color: #f3f1e6;

}



@media only screen and (max-width: 767px) {

  .about #sec02 .block__chart dl dd .barChart {

    height: 24px;

  }

}



.about #sec02 .block__chart dl dd .barChart>span {

  padding: 0 10px;

  line-height: 40px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 16px;

}



@media only screen and (max-width: 767px) {

  .about #sec02 .block__chart dl dd .barChart>span {

    margin-left: 100%;

    padding: 0 5px;

    font-size: 10px;

    line-height: 24px;

  }

}



.about #sec02 .block__chart dl dd .barChart .num {

  font-family: 'Libre Caslon Display', serif;

  font-size: 28px;

}



@media only screen and (max-width: 767px) {

  .about #sec02 .block__chart dl dd .barChart .num {

    font-size: 18px;

  }

}



.about #sec02 .block__chart dl:nth-child(1) dd .barChart, .about #sec02 .block__chart dl:nth-child(2) dd .barChart {

  background-color: #bdb07b;

  color: #fff;

}



.about #sec02 .block__chart dl:nth-child(1) dd .barChart>span, .about #sec02 .block__chart dl:nth-child(2) dd .barChart>span {

  margin-left: 0;

}



.about #sec02 .block__chart.animtrigger.view .block__chart__list dl:nth-child(1) dd .barChart {

  -webkit-animation: barChart1 1s .5s forwards;

  animation: barChart1 1s .5s forwards;

}



.about #sec02 .block__chart.animtrigger.view .block__chart__list dl:nth-child(2) dd .barChart {

  -webkit-animation: barChart2 1s .5s forwards;

  animation: barChart2 1s .5s forwards;

}



.about #sec02 .block__chart.animtrigger.view .block__chart__list dl:nth-child(3) dd .barChart {

  -webkit-animation: barChart3 1s .5s forwards;

  animation: barChart3 1s .5s forwards;

}



.about #sec02 .block__chart.animtrigger.view .block__chart__list dl:nth-child(4) dd .barChart {

  -webkit-animation: barChart4 1s .5s forwards;

  animation: barChart4 1s .5s forwards;

}



.about #sec02 .block__chart.animtrigger.view .block__chart__list dl:nth-child(5) dd .barChart {

  -webkit-animation: barChart5 1s .5s forwards;

  animation: barChart5 1s .5s forwards;

}



.about #sec02 .block__table {

  position: relative;

  margin: 0 8.3vw 100px;

  padding: 60px 0;

  background-color: #f3f1e6;

}



@media only screen and (max-width: 1023px) {

  .about #sec02 .block__table {

    margin: 0 auto 50px;

    padding: 50px 8vw 70px;

  }

}



@media only screen and (max-width: 767px) {

  .about #sec02 .block__table {

    margin: 0 auto 50px;

    padding: 30px 8vw 35px;

  }

}



.about #sec02 .block__table__inner {

  position: relative;

  max-width: 960px;

  margin: 0 auto;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

}



.about #sec02 .block__table__inner dl {

  width: calc(16.66667% - 2px);

  margin-right: 2px;

}



@media only screen and (max-width: 1023px) {

  .about #sec02 .block__table__inner dl {

    width: calc(25% - 2px);

  }

}



.about #sec02 .block__table__inner dl dt {

  padding: 9px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 700;

  font-size: 14px;

  letter-spacing: 0.05em;

  color: #fff;

  background-color: #bdb07b;

}



@media only screen and (max-width: 1023px) {

  .about #sec02 .block__table__inner dl dt {

    padding: 5px 0;

    font-size: 10px;

    -webkit-font-feature-settings: "palt";

    font-feature-settings: "palt";

  }

}



.about #sec02 .block__table__inner dl dd {

  margin-bottom: 2px;

  padding: 50px 0;

  background-color: #fff;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 20px;

}



@media only screen and (max-width: 1023px) {

  .about #sec02 .block__table__inner dl dd {

    padding: 20px 0;

    font-size: 10px;

  }

}



.about #sec02 .block__table__inner dl dd span {

  font-family: 'Libre Caslon Display', serif;

  font-size: 38px;

}



@media only screen and (max-width: 1023px) {

  .about #sec02 .block__table__inner dl dd span {

    font-size: 25px;

  }

}



.about .gallery-popup {

  margin: 0 8.3vw 100px;

}



@media only screen and (max-width: 1023px) {

  .about .gallery-popup {

    margin: 40px 8vw 50px;

  }

}



.about .gallery-popup__inner {

  max-width: 960px;

  margin: 0 auto;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

}



.about .gallery-popup .big {

  width: 66.458%;

}



@media only screen and (max-width: 767px) {

  .about .gallery-popup .big {

    width: 100%;

  }

}



.about .gallery-popup .middle {

  width: 49.89%;

}



.about .gallery-popup .small {

  width: 33.333%;

}



@media only screen and (max-width: 767px) {

  .about .gallery-popup .small {

    width: 49.2%;

  }

}



.about .gallery-popup a {

  display: block;

  margin-bottom: 2px;

}



@media only screen and (max-width: 767px) {

  .about .gallery-popup a {

    margin-bottom: 5px;

  }

}



.about .mfp-gallery .mfp-img {

  padding: 10px 10px 40px;

  background-color: #fff;

}



.about .mfp-gallery .mfp-title {

  padding: 0;

  color: #1e1e1e;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  font-size: 11px;

  text-align: center;

}



.about .mfp-gallery .mfp-counter {

  display: none;

}



.about .mfp-gallery .mfp-figure:after {

  display: none;

}



.about .mfp-gallery .mfp-bottom-bar {

  margin-top: -30px;

}



.about .mfp-gallery button.mfp-close {

  display: block;

  width: 145px;

  height: 40px;

  margin: 0 auto;

  font-size: 0;

  padding-right: 0;

  text-align: center;

  right: inherit;

  left: 50%;

  top: inherit;

  bottom: -70px;

  -webkit-transform: translateX(-50%);

  transform: translateX(-50%);

  background-color: rgba(255, 255, 255, .3);

  overflow: hidden;

  opacity: 1;

}



.about .mfp-gallery button.mfp-close:hover {

  cursor: pointer;

  opacity: .9;

}



.about .mfp-gallery button.mfp-close::before {

  position: relative;

  display: block;

  width: 145px;

  height: 40px;

  margin: 0 auto;

  content: "閉じる";

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  font-size: 12px;

  color: #fff;

  z-index: 1;

}



.about .mfp-gallery .gallery-arrow {

  position: absolute;

  top: 50%;

  left: 50%;

  margin-top: -15px;

  background-color: rgba(255, 255, 255, .3);

  display: block;

  width: 40px;

  height: 40px;

  border-radius: 50%;

  text-align: center;

  line-height: 40px;

  cursor: pointer;

}



.about .mfp-gallery .gallery-arrow:hover {

  text-decoration: none;

}



@media only screen and (min-width: 1024px) {

  .about .mfp-gallery .gallery-arrow:hover::after {

    -webkit-animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

    animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

  }

}



.about .mfp-gallery .gallery-arrow-left::before {

  content: '';

  display: block;

  width: 20px;

  height: 12px;

  background: url(../img/common/icon_link_white.svg) no-repeat center;

  position: absolute;

  top: 50%;

  left: 50%;

  -webkit-transform: scale(-1, 1) translate(50%, -50%);

  transform: scale(-1, 1) translate(50%, -50%);

}



.about .mfp-gallery .gallery-arrow-left::after {

  position: absolute;

  top: 50%;

  left: 50%;

  -webkit-transform: translate(-50%, -50%);

  transform: translate(-50%, -50%);

  content: "";

  display: block;

  width: 19px;

  height: 1px;

  background: url(../img/common/underline_white.png) no-repeat left bottom;

  background-size: 100% 1px;

  z-index: 2;

}



.about .mfp-gallery .gallery-arrow-right::before {

  content: '';

  display: block;

  width: 20px;

  height: 12px;

  background: url(../img/common/icon_link_white.svg) no-repeat center;

  position: absolute;

  top: 50%;

  left: 50%;

  -webkit-transform: translate(-50%, -50%);

  transform: translate(-50%, -50%);

}



.about .mfp-gallery .gallery-arrow-right::after {

  position: absolute;

  top: 50%;

  left: 50%;

  -webkit-transform: translate(-50%, -50%);

  transform: translate(-50%, -50%);

  content: "";

  display: block;

  width: 19px;

  height: 1px;

  background: url(../img/common/underline_white.png) no-repeat left bottom;

  background-size: 100% 1px;

  z-index: 2;

}



.about #sec03 .else-wrap {

  width: 720px;

  padding: 0;

}



@media only screen and (max-width: 1023px) {

  .about #sec03 .else-wrap {

    width: auto;

    margin: 0 8vw 50px;

  }

}



.about #sec03 .else-wrap .link {

  width: 100%;

  height: 140px;

}



@media only screen and (max-width: 1023px) {

  .about #sec03 .else-wrap .link {

    height: 108px;

  }

}



.about #sec03 .else-wrap .link__ttl__jp {

  margin-bottom: 15px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 400;

  font-size: 14px;

  letter-spacing: 0.08em;

  line-height: 1;

}



@media only screen and (max-width: 1023px) {

  .about #sec03 .else-wrap .link__ttl__jp {

    margin-bottom: 10px;

    font-size: 11px;

  }

}



.about #sec03 .else-wrap .link__ttl__en {

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 26px;

  letter-spacing: 0.05em;

  line-height: 1;

}



@media only screen and (max-width: 1023px) {

  .about #sec03 .else-wrap .link__ttl__en {

    font-size: 22px;

  }

}



.work-environment .kv {

  position: relative;

  width: calc(100% - 8.3vw);

  margin: 0 0 80px auto;

  padding-bottom: 85px;

}



@media only screen and (max-width: 1023px) {

  .work-environment .kv {

    width: calc(100% - 8vw);

    margin: 0 0 40px auto;

    padding-bottom: 115px;

  }

}



.work-environment .kv__img {

  width: 100%;

  height: 0;

  padding-top: 44%;

  background-repeat: no-repeat;

  background-size: cover;

  background-position: center;

}



@media only screen and (max-width: 1439px) {

  .work-environment .kv__img {

    padding-top: 0;

    height: 420px;

  }

}



@media only screen and (max-width: 1023px) {

  .work-environment .kv__img {

    height: 0;

    padding-top: 44%;

  }

}



@media only screen and (max-width: 767px) {

  .work-environment .kv__img {

    padding-top: 91.3%;

  }

}



.work-environment .kv__text {

  opacity: 0;

  position: absolute;

  left: 0;

  bottom: 0;

  width: 600px;

  padding: 68px 68px 15px 0;

  background-color: #fff;

  -webkit-animation: left 1s 0s ease forwards;

  animation: left 1s 0s ease forwards;

}



@media only screen and (max-width: 1023px) {

  .work-environment .kv__text {

    width: calc(100% - 8vw);

    padding: 36px 36px 0 0;

  }

}



.work-environment .kv__text::after {

  opacity: 0;

  content: "";

  position: absolute;

  left: 0;

  top: 0;

  display: block;

  width: 264px;

  height: 8px;

  background-color: #6aa0db;

  -webkit-animation: fadein 1s 1s ease forwards;

  animation: fadein 1s 1s ease forwards;

}



@media only screen and (max-width: 1023px) {

  .work-environment .kv__text::after {

    width: 132px;

    height: 4px;

  }

}



.work-environment .kv__ttl {

  opacity: 0;

  font-size: 16px;

  letter-spacing: 0.1em;

  position: relative;

  overflow: hidden;

  -webkit-animation: fadein 1s 2s ease forwards;

  animation: fadein 1s 2s ease forwards;

}



@media only screen and (max-width: 1023px) {

  .work-environment .kv__ttl {

    font-size: 12px;

  }

}



.work-environment .kv__ttl__en {

  display: block;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 48px;

  letter-spacing: 0.03em;

}



@media only screen and (max-width: 1023px) {

  .work-environment .kv__ttl__en {

    margin-top: 20px;

    font-size: 30px;

    line-height: 1.1;

  }

}



.work-environment .kv__tag {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

  opacity: 0;

  margin: 10px 16% 0 0;

  -webkit-animation: fadein 1s 2.5s ease forwards;

  animation: fadein 1s 2.5s ease forwards;

}



.work-environment .kv__tag li {

  margin: 0 4px 4px 0;

}



.work-environment .kv__tag a {

  display: block;

  padding: 4px 10px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  font-size: 12px;

  border-radius: 2px;

  background-color: #f5f5f5;

  -webkit-transition: all .3s;

  transition: all .3s;

}



@media only screen and (max-width: 767px) {

  .work-environment .kv__tag a {

    padding: 5px 8px 5px 5px;

    font-size: 11px;

  }

}



.work-environment .kv__tag a::before {

  content: "\00266f";

}



.work-environment .kv__tag a:hover {

  text-decoration: none;

  background-color: #e7e7e7;

  cursor: pointer;

}



@media only screen and (max-width: 767px) {

  .work-environment .kv__tag {

    margin-top: 15px;

  }

}



.work-environment .kv+.lead {

  display: none;

}



@media only screen and (max-width: 1023px) {

  .work-environment .kv+.lead {

    display: block;

    margin: 50px 8vw 0;

    font-size: 12px;

    line-height: 1.8;

  }

}



.work-environment .anc {

  margin: 80px auto 100px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

}



@media only screen and (max-width: 1023px) {

  .work-environment .anc {

    display: block;

    margin: 40px auto 50px;

  }

}



.work-environment .anc li {

  margin: 0 25px;

}



@media only screen and (max-width: 1023px) {

  .work-environment .anc li {

    margin: 0 8vw;

  }

  .work-environment .anc li:first-child {

    border-top: solid 1px #1e1e1e;

  }

}



.work-environment .anc a {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  width: 460px;

  height: 124px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 20px;

  letter-spacing: 0.1em;

  border-top: solid 1px #1e1e1e;

  border-bottom: solid 1px #1e1e1e;

}



@media only screen and (max-width: 1023px) {

  .work-environment .anc a {

    width: 100%;

    height: 81px;

    border-top: none;

    font-size: 16px;

    -webkit-box-orient: horizontal;

    -webkit-box-direction: normal;

    -ms-flex-direction: row;

    flex-direction: row;

    -webkit-box-pack: justify;

    -ms-flex-pack: justify;

    justify-content: space-between;

  }

}



.work-environment .anc a .arrow {

  display: block;

  width: 18px;

  height: 10px;

  margin-top: 15px;

  background: url(../img/common/icon_arrow.svg) no-repeat center;

  background-size: contain;

  -webkit-transform: scale(-1, -1);

  transform: scale(-1, -1);

}



@media only screen and (max-width: 1023px) {

  .work-environment .anc a .arrow {

    width: 15px;

    height: 8px;

    margin-top: 0;

  }

}



.work-environment .anc a .arrow::before {

  opacity: 0;

  position: absolute;

  left: 100%;

  top: 0;

  content: "";

  display: block;

  width: 5px;

  height: 10px;

  background: #fff;

}



.work-environment .anc a:hover .arrow::before {

  -webkit-animation: arrow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

  animation: arrow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

}



.work-environment .sec:nth-of-type(even) .sec__ttl-wrap {

  margin-left: 8.3vw;

}



@media only screen and (max-width: 1023px) {

  .work-environment .sec:nth-of-type(even) .sec__ttl-wrap {

    margin-left: 0;

  }

}



.work-environment .sec:nth-of-type(even) .sec__ttl-wrap::after {

  content: "";

  position: absolute;

  bottom: 0;

  left: 0;

  width: calc(100% - 8.3vw);

  height: 120px;

  background-color: #fff;

}



@media only screen and (max-width: 1023px) {

  .work-environment .sec:nth-of-type(even) .sec__ttl-wrap::after {

    display: none;

  }

}



.work-environment .sec:nth-of-type(even) .sec__ttl, .work-environment .sec:nth-of-type(even) .sec__text {

  padding-right: 8.3vw;

}



@media only screen and (max-width: 1023px) {

  .work-environment .sec:nth-of-type(even) .sec__ttl, .work-environment .sec:nth-of-type(even) .sec__text {

    padding-right: 0;

  }

}



.work-environment .sec:nth-of-type(odd) .sec__ttl-wrap {

  margin-right: 8.3vw;

}



@media only screen and (max-width: 1023px) {

  .work-environment .sec:nth-of-type(odd) .sec__ttl-wrap {

    margin-right: 0;

  }

}



.work-environment .sec:nth-of-type(odd) .sec__ttl-wrap::after {

  content: "";

  position: absolute;

  bottom: 0;

  right: 0;

  width: calc(100% - 8.3vw);

  height: 120px;

  background-color: #fff;

}



@media only screen and (max-width: 1023px) {

  .work-environment .sec:nth-of-type(odd) .sec__ttl-wrap::after {

    display: none;

  }

}



.work-environment .sec:nth-of-type(odd) .sec__ttl, .work-environment .sec:nth-of-type(odd) .sec__text {

  padding-left: 8.3vw;

}



@media only screen and (max-width: 1023px) {

  .work-environment .sec:nth-of-type(odd) .sec__ttl, .work-environment .sec:nth-of-type(odd) .sec__text {

    padding-left: 0;

  }

}



.work-environment .sec .sec__ttl-wrap {

  position: relative;

  width: auto;

  height: 498px;

  padding-top: 80px;

  background-repeat: no-repeat;

  background-position: center;

  background-size: cover;

}



@media only screen and (max-width: 1023px) {

  .work-environment .sec .sec__ttl-wrap {

    margin-bottom: 50px;

    padding-top: 50px;

    height: 257px;

  }

}



.work-environment .sec .sec__ttl {

  width: 100%;

  display: -webkit-inline-box;

  display: -ms-inline-flexbox;

  display: inline-flex;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

}



.work-environment .sec .sec__ttl__en {

  margin-bottom: 30px;

  padding: 10px 0;

  font-size: 16px;

  letter-spacing: 0.08em;

  line-height: 1;

  color: #fff;

  border-top: solid 1px #fff;

  border-bottom: solid 1px #fff;

}



@media only screen and (max-width: 1023px) {

  .work-environment .sec .sec__ttl__en {

    margin-bottom: 19px;

    padding: 5px 0;

    font-size: 13px;

  }

}



.work-environment .sec .sec__ttl__jp {

  line-height: 1;

  padding: 10px;

  font-size: 40px;

  letter-spacing: 0.1em;

  background-color: #fff;

}



@media only screen and (max-width: 1023px) {

  .work-environment .sec .sec__ttl__jp {

    font-size: 25px;

    padding: 5px 8px;

  }

}



.work-environment .sec .sec__text {

  margin: 40px 0;

  text-align: center;

  font-size: 14px;

  line-height: 2.28;

  color: #fff;

}



@media only screen and (max-width: 1023px) {

  .work-environment .sec .sec__text {

    margin: 20px 8vw;

    font-size: 12px;

    line-height: 1.8;

  }

}



.work-environment .figure {

  margin: 0 auto 100px;

  padding: 0 16.6%;

  text-align: center;

}



@media only screen and (max-width: 1023px) {

  .work-environment .figure {

    margin: 0 auto 50px;

    padding: 0 8vw;

  }

}



.work-environment .block {

  margin-bottom: 100px;

  padding: 0 16.6%;

}



@media only screen and (max-width: 1023px) {

  .work-environment .block {

    margin-bottom: 50px;

    padding: 0 8vw;

  }

}



.work-environment .block__head {

  margin-bottom: 60px;

  text-align: center;

}



@media only screen and (max-width: 1023px) {

  .work-environment .block__head {

    margin-bottom: 30px;

  }

}



.work-environment .block__head .block__ttl {

  font-size: 32px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  letter-spacing: 0.1em;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

}



@media only screen and (max-width: 1023px) {

  .work-environment .block__head .block__ttl {

    font-size: 22px;

    line-height: 1.3;

  }

}



.work-environment .block__head .block__text {

  font-size: 14px;

  line-height: 2.28;

  padding: 40px 0 20px;

}



@media only screen and (max-width: 1023px) {

  .work-environment .block__head .block__text {

    font-size: 12px;

    line-height: 1.8;

    padding: 20px 0 0px;

  }

}



.work-environment .block__body--list {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

}



.work-environment .block__body--list .block__list {

  width: 45.83%;

  padding: 50px 0;

  border-top: solid 1px #e7e7e7;

}



@media only screen and (max-width: 1023px) {

  .work-environment .block__body--list .block__list {

    width: 100%;

    padding: 30px 0;

  }

}



.work-environment .block__body--list .block__list--wide {

  width: 100%;

}



.work-environment .block__body--list .block__list:nth-last-of-type(n - 1) {

  border-bottom: solid 1px #e7e7e7;

}



@media only screen and (max-width: 1023px) {

  .work-environment .block__body--list .block__list:nth-last-of-type(n - 1) {

    border-bottom: none;

  }

}



@media only screen and (max-width: 1023px) {

  .work-environment .block__body--list .block__list:last-child {

    border-bottom: solid 1px #e7e7e7;

  }

}



.work-environment .block__body--list .block__list dt {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  margin-bottom: 30px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 24px;

  letter-spacing: 0.1em;

}



@media only screen and (max-width: 1023px) {

  .work-environment .block__body--list .block__list dt {

    font-size: 18px;

    margin-bottom: 20px;

    -webkit-font-feature-settings: "palt";

    font-feature-settings: "palt";

  }

}



.work-environment .block__body--list .block__list dt::before {

  content: "";

  display: block;

  width: 70px;

  height: 70px;

  -webkit-box-flex: 0;

  -ms-flex: 0 0 70px;

  flex: 0 0 70px;

  margin-right: 25px;

}



@media only screen and (max-width: 1023px) {

  .work-environment .block__body--list .block__list dt::before {

    width: 35px;

    height: 35px;

    -webkit-box-flex: 0;

    -ms-flex: 0 0 35px;

    flex: 0 0 35px;

    margin-right: 14px;

  }

}



.work-environment .block__body--list .block__list dd {

  font-size: 14px;

  line-height: 2.28;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

  letter-spacing: 0.05em;

  text-align: justify;

}



@media only screen and (max-width: 1023px) {

  .work-environment .block__body--list .block__list dd {

    font-size: 12px;

    line-height: 1.8;

  }

}



.work-environment .block__body .table {

  width: 100%;

  table-layout: fixed;

  border-top: solid 1px #e7e7e7;

}



.work-environment .block__body .table th {

  width: 25%;

  padding: 30px 20px 30px 40px;

  border-bottom: solid 1px #e7e7e7;

  background-color: #f5f5f5;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 700;

  font-size: 14px;

  line-height: 2.28;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

}



@media only screen and (max-width: 1023px) {

  .work-environment .block__body .table th {

    width: 32%;

    padding: 25px 15px;

    font-size: 12px;

    line-height: 1.5;

  }

}



.work-environment .block__body .table td {

  width: 75%;

  padding: 30px 0 30px 40px;

  border-bottom: solid 1px #e7e7e7;

  font-size: 14px;

  line-height: 2.28;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

}



@media only screen and (max-width: 1023px) {

  .work-environment .block__body .table td {

    width: 68%;

    padding: 25px 0 25px 20px;

    font-size: 12px;

    line-height: 1.8;

  }

}



.work-environment .block__body .table td .box {

  width: 100%;

  margin-top: 30px;

  padding: 25px 20px 20px;

  background-color: #f5f5f5;

}



@media only screen and (max-width: 1023px) {

  .work-environment .block__body .table td .box {

    margin-top: 20px;

    padding: 20px 10px 10px;

  }

}



.work-environment .block__body .table td .box__ttl {

  margin-bottom: 20px;

  text-align: center;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 700;

  font-size: 14px;

  letter-spacing: 0.1em;

}



@media only screen and (max-width: 1023px) {

  .work-environment .block__body .table td .box__ttl {

    margin-bottom: 15px;

    font-size: 12px;

    line-height: 1.5;

  }

}



.work-environment .block__body .table td .box .card-wrap {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

}



@media only screen and (max-width: 1023px) {

  .work-environment .block__body .table td .box .card-wrap {

    display: block;

  }

}



.work-environment .block__body .table td .box .card {

  width: 48.43%;

  padding: 30px;

  background-color: #fff;

  border-top: 4px solid #6aa0db;

}



@media only screen and (max-width: 1023px) {

  .work-environment .block__body .table td .box .card {

    width: 100%;

    padding: 20px 15px 15px;

    border-top: 3px solid #6aa0db;

  }

}



.work-environment .block__body .table td .box .card dt {

  margin-bottom: 15px;

  text-align: center;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 700;

  font-size: 14px;

  letter-spacing: 0.1em;

}



@media only screen and (max-width: 1023px) {

  .work-environment .block__body .table td .box .card dt {

    margin-bottom: 10px;

    font-size: 12px;

  }

}



.work-environment .block__body .table td .box .card dd {

  font-size: 14px;

  line-height: 2.28;

}



@media only screen and (max-width: 1023px) {

  .work-environment .block__body .table td .box .card dd {

    font-size: 11px;

    line-height: 1.9;

  }

}



.work-environment .block__body .table-note {

  margin-top: 30px;

  font-size: 12px;

  line-height: 2.3;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

  letter-spacing: 0.05em;

}



@media only screen and (max-width: 1023px) {

  .work-environment .block__body .table-note {

    margin-top: 20px;

    font-size: 11px;

    line-height: 1.9;

  }

}



.work-environment .block--training .block__list:nth-child(1) dt::before {

  background: url(../img/culture/work-environment/icon_training01.svg) no-repeat center;

  background-size: cover;

}



.work-environment .block--training .block__list:nth-child(2) dt::before {

  background: url(../img/culture/work-environment/icon_training02.svg) no-repeat center;

  background-size: cover;

}



.work-environment .block--training .block__list:nth-child(3) dt::before {

  background: url(../img/culture/work-environment/icon_training03.svg) no-repeat center;

  background-size: cover;

}



.work-environment .block--training .block__list:nth-child(4) dt::before {

  background: url(../img/culture/work-environment/icon_training04.svg) no-repeat center;

  background-size: cover;

}



.work-environment .block--global .block__list:nth-child(1) dt::before {

  background: url(../img/culture/work-environment/icon_global01.svg) no-repeat center;

  background-size: cover;

}



.work-environment .block--global .block__list:nth-child(2) dt::before {

  background: url(../img/culture/work-environment/icon_global02.svg) no-repeat center;

  background-size: cover;

}



.work-environment .block--enlightenment .block__list:nth-child(1) dt::before {

  background: url(../img/culture/work-environment/icon_enlightenment01.svg) no-repeat center;

  background-size: cover;

}



.work-environment .message {

  padding: 0 16.6%;

  margin-bottom: 100px;

}



@media only screen and (max-width: 1023px) {

  .work-environment .message {

    padding: 0 8vw;

    margin-bottom: 50px;

  }

}



.work-environment .message__inner {

  padding: 80px 60px;

  text-align: center;

  background-color: #f5f5f5;

}



@media only screen and (max-width: 1023px) {

  .work-environment .message__inner {

    padding: 40px 20px;

  }

}



.work-environment .message__ttl {

  display: -webkit-inline-box;

  display: -ms-inline-flexbox;

  display: inline-flex;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  margin-bottom: 50px;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

}



@media only screen and (max-width: 1023px) {

  .work-environment .message__ttl {

    margin-bottom: 20px;

  }

}



.work-environment .message__ttl__01 {

  margin-bottom: 20px;

  padding: 5px 0;

  font-size: 15px;

  letter-spacing: 0.1em;

  line-height: 1;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  color: #1e1e1e;

  border-top: solid 1px #1e1e1e;

  border-bottom: solid 1px #1e1e1e;

}



@media only screen and (max-width: 1023px) {

  .work-environment .message__ttl__01 {

    margin-bottom: 15px;

    font-size: 13px;

  }

}



.work-environment .message__ttl__02 {

  text-align: center;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 24px;

  line-height: 1.6;

  letter-spacing: 0.1em;

}



@media only screen and (max-width: 1023px) {

  .work-environment .message__ttl__02 {

    font-size: 20px;

  }

}



.work-environment .message__text {

  text-align: left;

}



.work-environment .message__text p {

  font-size: 14px;

  line-height: 2.28;

  margin-bottom: 2.28em;

}



@media only screen and (max-width: 1023px) {

  .work-environment .message__text p {

    font-size: 12px;

    line-height: 1.8;

    margin-bottom: 1.8em;

  }

}



.work-environment .message__text p:last-child {

  margin-bottom: 0;

}



.work-environment .message__sign {

  margin-top: 40px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 14px;

  text-align: right;

  letter-spacing: 0.1em;

}



@media only screen and (max-width: 1023px) {

  .work-environment .message__sign {

    margin-top: 18px;

    font-size: 12px;

  }

}



.business .kv {

  position: relative;

  width: calc(100% - 8.3vw);

  margin: 0 0 80px auto;

  padding-bottom: 85px;

}



@media only screen and (max-width: 1023px) {

  .business .kv {

    width: calc(100% - 8vw);

    margin: 0 0 40px auto;

    padding-bottom: 141px;

  }

}



@media only screen and (max-width: 767px) {

  .business .kv {

    padding-bottom: 220px;

  }

}



.business .kv__img {

  width: 100%;

  height: 0;

  padding-top: 44%;

  background-repeat: no-repeat;

  background-size: cover;

  background-position: center;

}



@media only screen and (max-width: 1439px) {

  .business .kv__img {

    padding-top: 0;

    height: 420px;

  }

}



@media only screen and (max-width: 1023px) {

  .business .kv__img {

    height: 0;

    padding-top: 44%;

  }

}



@media only screen and (max-width: 767px) {

  .business .kv__img {

    padding-top: 91.3%;

  }

}



.business .kv__text {

  opacity: 0;

  position: absolute;

  left: 0;

  bottom: 0;

  width: 480px;

  padding: 68px 68px 15px 0;

  background-color: #fff;

  -webkit-animation: left 1s 0s ease forwards;

  animation: left 1s 0s ease forwards;

}



@media only screen and (max-width: 1023px) {

  .business .kv__text {

    width: calc(100% - 8vw);

    padding: 36px 36px 0 0;

  }

}



.business .kv__text::after {

  opacity: 0;

  content: "";

  position: absolute;

  left: 0;

  top: 0;

  display: block;

  width: 240px;

  height: 8px;

  background-color: #72c9f3;

  -webkit-animation: fadein 1s 1s ease forwards;

  animation: fadein 1s 1s ease forwards;

}



@media only screen and (max-width: 1023px) {

  .business .kv__text::after {

    width: 132px;

    height: 4px;

  }

}



.business .kv__ttl {

  opacity: 0;

  font-size: 16px;

  letter-spacing: 0.1em;

  position: relative;

  overflow: hidden;

  -webkit-animation: fadein 1s 2s ease forwards;

  animation: fadein 1s 2s ease forwards;

}



@media only screen and (max-width: 1023px) {

  .business .kv__ttl {

    font-size: 12px;

  }

}



.business .kv__ttl__en {

  display: block;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 48px;

  letter-spacing: 0.03em;

}



@media only screen and (max-width: 1023px) {

  .business .kv__ttl__en {

    margin-top: 20px;

    font-size: 30px;

    line-height: 1.1;

  }

}



.business .kv__tag {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

  opacity: 0;

  margin: 10px 16% 0 0;

  -webkit-animation: fadein 1s 2.5s ease forwards;

  animation: fadein 1s 2.5s ease forwards;

}



.business .kv__tag li {

  margin: 0 4px 4px 0;

}



.business .kv__tag a {

  display: block;

  padding: 4px 10px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  font-size: 12px;

  border-radius: 2px;

  background-color: #f5f5f5;

  -webkit-transition: all .3s;

  transition: all .3s;

}



@media only screen and (max-width: 767px) {

  .business .kv__tag a {

    padding: 5px 8px 5px 5px;

    font-size: 11px;

  }

}



.business .kv__tag a::before {

  content: "\00266f";

}



.business .kv__tag a:hover {

  text-decoration: none;

  background-color: #e7e7e7;

  cursor: pointer;

}



@media only screen and (max-width: 767px) {

  .business .kv__tag {

    margin-top: 15px;

  }

}



.business .kv+.lead {

  max-width: 960px;

  margin: 0 auto;

  text-align: center;

  font-size: 14px;

  line-height: 2.28;

  letter-spacing: 0.1em;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

}



@media only screen and (max-width: 1023px) {

  .business .kv+.lead {

    text-align: justify;

    margin: 50px 8vw 0;

    font-size: 12px;

    line-height: 1.8;

  }

}



.business .anc {

  max-width: 960px;

  margin: 60px auto 100px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

}



@media only screen and (max-width: 1023px) {

  .business .anc {

    display: block;

    margin: 40px auto 50px;

  }

}



.business .anc li {

  margin: 0 25px;

}



@media only screen and (max-width: 1023px) {

  .business .anc li {

    margin: 0 8vw;

  }

  .business .anc li:first-child {

    border-top: solid 1px #1e1e1e;

  }

}



.business .anc a {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  width: 460px;

  height: 124px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 20px;

  letter-spacing: 0.1em;

  border-top: solid 1px #1e1e1e;

  border-bottom: solid 1px #1e1e1e;

}



@media only screen and (max-width: 1023px) {

  .business .anc a {

    width: 100%;

    height: 81px;

    border-top: none;

    font-size: 16px;

    -webkit-box-orient: horizontal;

    -webkit-box-direction: normal;

    -ms-flex-direction: row;

    flex-direction: row;

    -webkit-box-pack: justify;

    -ms-flex-pack: justify;

    justify-content: space-between;

  }

}



.business .anc a .arrow {

  display: block;

  width: 18px;

  height: 10px;

  margin-top: 15px;

  background: url(../img/common/icon_arrow.svg) no-repeat center;

  background-size: contain;

  -webkit-transform: scale(-1, -1);

  transform: scale(-1, -1);

}



@media only screen and (max-width: 1023px) {

  .business .anc a .arrow {

    width: 15px;

    height: 8px;

    margin-top: 0;

  }

}



.business .anc a .arrow::before {

  opacity: 0;

  position: absolute;

  left: 100%;

  top: 0;

  content: "";

  display: block;

  width: 5px;

  height: 10px;

  background: #fff;

}



.business .anc a:hover .arrow::before {

  -webkit-animation: arrow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

  animation: arrow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

}



.business .sec:nth-of-type(odd) .sec__ttl-wrap {

  margin-left: 8.3vw;

}



@media only screen and (max-width: 1023px) {

  .business .sec:nth-of-type(odd) .sec__ttl-wrap {

    margin-left: 0;

  }

}



.business .sec:nth-of-type(odd) .sec__ttl-wrap::after {

  content: "";

  position: absolute;

  bottom: 0;

  left: 0;

  width: calc(100% - 8.3vw);

  height: 120px;

  background-color: #fff;

}



@media only screen and (max-width: 1023px) {

  .business .sec:nth-of-type(odd) .sec__ttl-wrap::after {

    display: none;

  }

}



.business .sec:nth-of-type(odd) .sec__ttl, .business .sec:nth-of-type(odd) .sec__text {

  padding-right: 8.3vw;

}



@media only screen and (max-width: 1023px) {

  .business .sec:nth-of-type(odd) .sec__ttl, .business .sec:nth-of-type(odd) .sec__text {

    padding-right: 0;

  }

}



.business .sec:nth-of-type(even) .sec__ttl-wrap {

  margin-right: 8.3vw;

}



@media only screen and (max-width: 1023px) {

  .business .sec:nth-of-type(even) .sec__ttl-wrap {

    margin-right: 0;

  }

}



@media only screen and (max-width: 767px) {

  .business .sec:nth-of-type(even) .sec__ttl-wrap {

    height: 333px;

  }

}



.business .sec:nth-of-type(even) .sec__ttl-wrap::after {

  content: "";

  position: absolute;

  bottom: 0;

  right: 0;

  width: calc(100% - 8.3vw);

  height: 120px;

  background-color: #fff;

}



@media only screen and (max-width: 1023px) {

  .business .sec:nth-of-type(even) .sec__ttl-wrap::after {

    display: none;

  }

}



.business .sec:nth-of-type(even) .sec__ttl, .business .sec:nth-of-type(even) .sec__text {

  padding-left: 8.3vw;

}



@media only screen and (max-width: 1023px) {

  .business .sec:nth-of-type(even) .sec__ttl, .business .sec:nth-of-type(even) .sec__text {

    padding-left: 0;

  }

}



.business .sec .sec__ttl-wrap {

  position: relative;

  width: auto;

  height: 520px;

  padding-top: 80px;

  background-repeat: no-repeat;

  background-position: center;

  background-size: cover;

}



@media only screen and (max-width: 1023px) {

  .business .sec .sec__ttl-wrap {

    margin-bottom: 50px;

    padding-top: 50px;

    height: 312px;

  }

}



.business .sec .sec__ttl {

  width: 100%;

  display: -webkit-inline-box;

  display: -ms-inline-flexbox;

  display: inline-flex;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

}



.business .sec .sec__ttl__en {

  margin-bottom: 30px;

  padding: 10px 0;

  font-size: 16px;

  letter-spacing: 0.08em;

  line-height: 1;

  color: #fff;

  border-top: solid 1px #fff;

  border-bottom: solid 1px #fff;

}



@media only screen and (max-width: 1023px) {

  .business .sec .sec__ttl__en {

    margin-bottom: 19px;

    padding: 5px 0;

    font-size: 13px;

  }

}



.business .sec .sec__ttl__jp {

  line-height: 1;

  padding: 10px;

  font-size: 40px;

  letter-spacing: 0.1em;

  background-color: #fff;

}



@media only screen and (max-width: 1023px) {

  .business .sec .sec__ttl__jp {

    font-size: 25px;

    padding: 5px 8px;

    background: none;

    padding: 0;

    text-align: center;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-pack: center;

    -ms-flex-pack: center;

    justify-content: center;

    -webkit-box-align: center;

    -ms-flex-align: center;

    align-items: center;

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

  }

  .business .sec .sec__ttl__jp span {

    display: inline-block;

    margin-top: 2px;

    padding: 5px;

    background-color: #fff;

  }

  .business .sec .sec__ttl__jp span:first-child {

    margin-top: 0;

  }

}



.business .sec .sec__text {

  margin: 40px 0;

  text-align: center;

  font-size: 14px;

  line-height: 2.28;

  color: #fff;

}



@media only screen and (max-width: 1023px) {

  .business .sec .sec__text {

    margin: 20px 8vw;

    font-size: 12px;

    line-height: 1.8;

  }

}



@media only screen and (max-width: 767px) {

  .business .sec .sec__text {

    text-align: justify;

  }

}



.business .num-block {

  margin-top: -20px;

  text-align: center;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  letter-spacing: 0.1em;

}



@media only screen and (max-width: 1023px) {

  .business .num-block {

    margin-top: 0;

  }

}



.business .num-block__ttl {

  margin-bottom: 20px;

  font-size: 22px;

  line-height: 1;

}



@media only screen and (max-width: 1023px) {

  .business .num-block__ttl {

    margin-bottom: 10px;

    font-size: 14px;

  }

}



.business .num-block__num {

  margin-bottom: 20px;

  font-size: 40px;

  line-height: 1;

}



@media only screen and (max-width: 1023px) {

  .business .num-block__num {

    margin-bottom: 10px;

    font-size: 25px;

  }

}



.business .num-block__num span {

  font-family: 'Libre Caslon Display', serif;

  font-size: 80px;

  letter-spacing: 0.05em;

  color: #72c9f3;

}



@media only screen and (max-width: 1023px) {

  .business .num-block__num span {

    font-size: 55px;

  }

}



.business .num-block__note {

  font-size: 14px;

  line-height: 1;

}



@media only screen and (max-width: 1023px) {

  .business .num-block__note {

    font-size: 11px;

  }

}



@media only screen and (max-width: 1023px) {

  .business .map__body .list-wrap {

    display: none;

  }

}



.business .map__body .list-wrap__inner {

  width: 960px;

  margin: 55px auto 80px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

}



.business .map__body .list-wrap .list {

  width: 12.5%;

}



.business .map__body .list-wrap .list--wide {

  width: 22.91%;

}



.business .map__body .list-wrap .list dl {

  margin-bottom: 40px;

  border-top: solid 4px #72c9f3;

}



.business .map__body .list-wrap .list dl dt {

  margin-bottom: 30px;

  padding: 18px 0 15px;

  border-bottom: solid 1px #f5f5f5;

  text-align: center;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 18px;

  letter-spacing: 0.1em;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

}



.business .map__body .list-wrap .list dl dd {

  font-size: 14px;

  line-height: 2.28;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

}



.business .map__body .else-wrap {

  display: none;

}



@media only screen and (max-width: 1023px) {

  .business .map__body .else-wrap {

    display: block;

    margin-top: 35px;

    font-size: 16px;

  }

  .business .map__body .else-wrap .link {

    margin: 0 auto;

  }

}



.business .map-img-wap {

  margin: 0 4.861%;

  background-repeat: no-repeat;

  background-position: center;

  background-size: cover;

}



@media only screen and (max-width: 767px) {

  .business .map-img-wap {

    margin: 0;

  }

}



.business .map-img-wap img {

  width: 100%;

}



@media only screen and (max-width: 1023px) {

  .business #map_list {

    margin: 0 8vw;

    padding: 40px 37.5px;

    background-color: #fff;

  }

}



.business #map_list .list-wrap__ttl {

  display: none;

}



@media only screen and (max-width: 1023px) {

  .business #map_list .list-wrap__ttl {

    display: block;

    margin-bottom: 30px;

    text-align: center;

    font-family: 'Noto Serif JP', serif;

    font-weight: 500;

    font-size: 18px;

    letter-spacing: 0.1em;

    -webkit-font-feature-settings: "palt";

    font-feature-settings: "palt";

  }

}



@media only screen and (max-width: 1023px) {

  .business #map_list .list-wrap__inner {

    height: 250px;

    overflow-y: scroll;

  }

}



@media only screen and (max-width: 1023px) {

  .business #map_list .list {

    width: 100%;

  }

  .business #map_list .list dl {

    margin-bottom: 40px;

    border-top: solid 3px #72c9f3;

  }

  .business #map_list .list dl dt {

    margin-bottom: 15px;

    padding: 13px 0;

    border-bottom: solid 1px #f5f5f5;

    text-align: center;

    font-family: 'Noto Serif JP', serif;

    font-weight: 500;

    font-size: 15px;

    letter-spacing: 0.1em;

    -webkit-font-feature-settings: "palt";

    font-feature-settings: "palt";

  }

  .business #map_list .list dl dd {

    font-size: 12px;

    line-height: 1.8;

    -webkit-font-feature-settings: "palt";

    font-feature-settings: "palt";

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-pack: justify;

    -ms-flex-pack: justify;

    justify-content: space-between;

    -ms-flex-wrap: wrap;

    flex-wrap: wrap;

  }

  .business #map_list .list dl dd ul {

    width: 50%;

  }

}



.business #map_list .close {

  display: none;

}



@media only screen and (max-width: 1023px) {

  .business #map_list .close {

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-align: center;

    -ms-flex-align: center;

    align-items: center;

    -webkit-box-pack: center;

    -ms-flex-pack: center;

    justify-content: center;

    margin: 30px auto 0;

    width: 145px;

    height: 40px;

    font-family: 'Noto Sans JP', sans-serif;

    font-weight: 500;

    letter-spacing: 0.1em;

    font-size: 12px;

    background-color: #e7e7e7;

  }

}



.business .chapter-wrap .sec--chapter:nth-of-type(1) .chapter {

  position: relative;

  margin-top: -223px;

  z-index: 1;

}



@media only screen and (max-width: 767px) {

  .business .chapter-wrap .sec--chapter:nth-of-type(1) .chapter {

    margin-top: 0;

  }

  .business .chapter-wrap .sec--chapter:nth-of-type(1) .chapter::before, .business .chapter-wrap .sec--chapter:nth-of-type(1) .chapter::after {

    content: "";

    position: absolute;

    display: block;

    background-color: #f5f5f5;

  }

  .business .chapter-wrap .sec--chapter:nth-of-type(1) .chapter::before {

    width: 80px;

    height: 129px;

    top: 0;

    left: 0;

  }

  .business .chapter-wrap .sec--chapter:nth-of-type(1) .chapter::after {

    width: 80px;

    height: 80px;

    top: 50px;

    right: 0;

  }

}



@media only screen and (max-width: 767px) {

  .business .chapter-wrap .sec--chapter:nth-of-type(2) .chapter__ttl-area {

    position: relative;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-pack: justify;

    -ms-flex-pack: justify;

    justify-content: space-between;

    max-width: 305px;

    margin: 0 0 40px auto;

  }

  .business .chapter-wrap .sec--chapter:nth-of-type(2) .chapter__ttl-area::before {

    position: absolute;

    right: -8vw;

    top: -50px;

    content: "";

    display: block;

    width: 160px;

    height: 320px;

    background-color: #f5f5f5;

  }

}



@media only screen and (max-width: 767px) {

  .business .chapter-wrap .sec--chapter:nth-of-type(2) .sec--chapter__content__img.pc-on {

    display: none;

  }

  .business .chapter-wrap .sec--chapter:nth-of-type(2) .sec--chapter__content__img.sp-on {

    display: block;

    width: 180px;

    height: 320px;

    position: relative;

    z-index: 1;

  }

}



@media only screen and (max-width: 767px) {

  .business .chapter-wrap .sec--chapter:nth-of-type(2) .sec--chapter__img-wrap {

    margin-left: 8vw;

    height: 220px;

  }

}



.business .chapter-wrap .sec--chapter:nth-of-type(2) .sec--chapter__img-wrap::after {

  left: inherit;

  right: 0;

  bottom: 0;

}



.business .chapter-wrap .sec--chapter:nth-of-type(2) .sec--chapter__img {

  margin-left: auto;

}



@media only screen and (max-width: 767px) {

  .business .chapter-wrap .sec--chapter:nth-of-type(2) .sec--chapter__img {

    height: 220px;

  }

}



.business .chapter-wrap .sec--chapter:nth-of-type(2) .chapter {

  margin-left: 0;

  padding: 5.55% 5.55% 6.94% 8.33%;

}



@media only screen and (max-width: 767px) {

  .business .chapter-wrap .sec--chapter:nth-of-type(2) .chapter {

    padding: 50px 8vw;

  }

}



@media only screen and (max-width: 767px) {

  .business .chapter-wrap .sec--chapter:nth-of-type(3) .chapter__ttl-area {

    position: relative;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-pack: justify;

    -ms-flex-pack: justify;

    justify-content: space-between;

    -webkit-box-orient: horizontal;

    -webkit-box-direction: reverse;

    -ms-flex-direction: row-reverse;

    flex-direction: row-reverse;

    margin: 0 auto 40px 0;

    max-width: 305px;

  }

  .business .chapter-wrap .sec--chapter:nth-of-type(3) .chapter__ttl-area::before {

    position: absolute;

    left: -8vw;

    top: -50px;

    content: "";

    display: block;

    width: 160px;

    height: 320px;

    background-color: #f5f5f5;

  }

}



.business .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__content__img {

  background-position: right;

}



@media only screen and (max-width: 767px) {

  .business .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__content__img.pc-on {

    display: none;

  }

  .business .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__content__img.sp-on {

    display: block;

    width: 180px;

    height: 320px;

    position: relative;

    z-index: 1;

  }

}



.business .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__img-wrap {

  height: 580px;

}



@media only screen and (max-width: 767px) {

  .business .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__img-wrap {

    margin-right: 8vw;

    height: 220px;

  }

  .business .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__img-wrap .sec--chapter__img {

    height: 220px;

  }

}



.business .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__img-wrap::after {

  display: none;

}



.business .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__content {

  -webkit-box-orient: horizontal;

  -webkit-box-direction: reverse;

  -ms-flex-direction: row-reverse;

  flex-direction: row-reverse;

  position: relative;

}



.business .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__content::before {

  position: absolute;

  left: 0;

  top: 0;

  content: "";

  display: block;

  width: 16.66%;

  height: 100%;

  background-color: #f5f5f5;

}



@media only screen and (max-width: 767px) {

  .business .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__content::before {

    display: none;

  }

}



.business .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__content__img {

  position: relative;

  z-index: 1;

  margin-top: 6.94%;

}



@media only screen and (max-width: 767px) {

  .business .chapter-wrap .sec--chapter:nth-of-type(3) .sec--chapter__content__img {

    margin-top: 0;

  }

}



.business .chapter-wrap .sec--chapter:nth-of-type(3) .chapter {

  padding-top: 6.94%;

}



@media only screen and (max-width: 767px) {

  .business .chapter-wrap .sec--chapter:nth-of-type(3) .chapter {

    padding-top: 50px;

  }

}



@media only screen and (max-width: 767px) {

  .business .chapter-wrap .sec--chapter:nth-of-type(3) .chapter__ttl {

    margin-bottom: 0;

  }

}



.business .chapter-wrap .sec--chapter:nth-of-type(3) .chapter__ttl .up {

  -webkit-text-combine: horizontal;

  -ms-text-combine-horizontal: all;

  text-combine-upright: all;

}



.business .chapter-wrap__img {

  width: 100%;

  height: 580px;

  background-repeat: no-repeat;

  background-position: center;

  background-size: cover;

}



@media only screen and (max-width: 767px) {

  .business .chapter-wrap__img {

    height: 220px;

  }

}



.business .chapter__img-wrap {

  position: relative;

  height: 680px;

  margin-bottom: 100px;

}



.business .chapter__img-wrap.animtrigger {

  opacity: 0;

}



@media only screen and (max-width: 1023px) {

  .business .chapter__img-wrap {

    margin-bottom: 50px;

  }

}



@media only screen and (max-width: 767px) {

  .business .chapter__img-wrap {

    height: 100%;

    margin: 0 0 30px 8vw;

  }

}



.business .chapter__img-wrap::after {

  position: absolute;

  content: "";

  display: block;

  width: 100%;

  height: 580px;

  background-color: #f5f5f5;

  left: 0;

  bottom: 0;

}



@media only screen and (max-width: 767px) {

  .business .chapter__img-wrap::after {

    height: 255px;

    top: 50px;

    left: -8vw;

    bottom: inherit;

  }

}



.business .chapter__img {

  position: relative;

  width: 91.7%;

  height: 580px;

  background-repeat: no-repeat;

  background-size: cover;

  background-position: center;

  z-index: 1;

}



@media only screen and (max-width: 767px) {

  .business .chapter__img {

    width: 100%;

    height: 245px;

    margin-bottom: 40px;

  }

}



.business .chapter__catch {

  position: absolute;

  top: -20px;

  overflow: hidden;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: start;

  -ms-flex-align: start;

  align-items: flex-start;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: reverse;

  -ms-flex-direction: row-reverse;

  flex-direction: row-reverse;

  width: 126px;

}



@media only screen and (max-width: 767px) {

  .business .chapter__catch {

    display: block;

    width: 100%;

    position: relative;

    top: inherit;

    z-index: 1;

  }

}



.business .chapter__catch .img-wrap {

  opacity: 0;

  position: relative;

  overflow: hidden;

}



@media only screen and (max-width: 767px) {

  .business .chapter__catch .img-wrap {

    margin-bottom: 2px;

  }

}



.business .chapter__catch .img-wrap span {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: start;

  -ms-flex-pack: start;

  justify-content: flex-start;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 36px;

  color: #fff;

  background-color: #72c9f3;

  letter-spacing: 0.15em;

  -webkit-writing-mode: vertical-rl;

  -ms-writing-mode: tb-rl;

  writing-mode: vertical-rl;

  padding-top: 14px;

}



@media only screen and (max-width: 767px) {

  .business .chapter__catch .img-wrap span {

    font-size: 25px;

    -webkit-writing-mode: inherit;

    -ms-writing-mode: inherit;

    writing-mode: inherit;

    letter-spacing: 0.13em;

    padding: 0 4px 2px;

  }

}



.business .chapter__catch .img-wrap::before {

  opacity: 0;

  content: "";

  width: 100%;

  height: 100%;

  display: inline-block;

  position: absolute;

  left: 0;

  top: 0;

  background-color: #72c9f3;

  z-index: 2;

}



.business .chapter__catch .img-wrap:nth-child(1) {

  width: 60px;

  height: 310px;

}



@media only screen and (max-width: 767px) {

  .business .chapter__catch .img-wrap:nth-child(1) {

    width: 213px;

    height: 35px;

  }

}



.business .chapter__catch .img-wrap:nth-child(1) span {

  width: 60px;

  height: 310px;

}



@media only screen and (max-width: 767px) {

  .business .chapter__catch .img-wrap:nth-child(1) span {

    width: 213px;

    height: 35px;

  }

}



.business .chapter__catch .img-wrap:nth-child(2) {

  width: 60px;

  height: 520px;

}



@media only screen and (max-width: 767px) {

  .business .chapter__catch .img-wrap:nth-child(2) {

    width: 213px;

    height: 35px;

  }

}



.business .chapter__catch .img-wrap:nth-child(2) span {

  width: 60px;

  height: 520px;

}



@media only screen and (max-width: 767px) {

  .business .chapter__catch .img-wrap:nth-child(2) span {

    width: 213px;

    height: 35px;

  }

}



@media only screen and (max-width: 767px) {

  .business .chapter__catch .img-wrap:nth-child(3) {

    width: 157px;

    height: 35px;

  }

}



@media only screen and (max-width: 767px) {

  .business .chapter__catch .img-wrap:nth-child(3) span {

    width: 157px;

    height: 35px;

  }

}



.business .chapter__catch .img-wrap:last-child {

  margin-left: 0;

}



.business .chapter__catch--2 .img-wrap:nth-child(1) {

  width: 60px;

  height: 227px;

}



@media only screen and (max-width: 767px) {

  .business .chapter__catch--2 .img-wrap:nth-child(1) {

    width: 148px;

    height: 35px;

  }

}



.business .chapter__catch--2 .img-wrap:nth-child(1) span {

  width: 60px;

  height: 227px;

}



@media only screen and (max-width: 767px) {

  .business .chapter__catch--2 .img-wrap:nth-child(1) span {

    width: 148px;

    height: 35px;

    letter-spacing: 0.09em;

  }

}



.business .chapter__catch--2 .img-wrap:nth-child(2) {

  width: 60px;

  height: 354px;

}



@media only screen and (max-width: 767px) {

  .business .chapter__catch--2 .img-wrap:nth-child(2) {

    width: 234px;

    height: 35px;

  }

}



.business .chapter__catch--2 .img-wrap:nth-child(2) span {

  width: 60px;

  height: 354px;

}



@media only screen and (max-width: 767px) {

  .business .chapter__catch--2 .img-wrap:nth-child(2) span {

    width: 234px;

    height: 35px;

    letter-spacing: 0.09em;

  }

}



.business .chapter .chapter__img-wrap.view .chapter__catch .img-wrap {

  -webkit-animation: fadein 0.5s 1.1s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 1.1s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.business .chapter .chapter__img-wrap.view .chapter__catch .img-wrap::before {

  -webkit-animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), kvblockIn 0.6s 0.5s cubic-bezier(0.77, 0, 0.175, 1), kvblockOut 0.6s 1.1s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), kvblockIn 0.6s 0.5s cubic-bezier(0.77, 0, 0.175, 1), kvblockOut 0.6s 1.1s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



@media only screen and (max-width: 1023px) {

  .business .chapter .chapter__img-wrap.view .chapter__catch .img-wrap::before {

    -webkit-animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 0.5s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 1.1s cubic-bezier(0.77, 0, 0.175, 1);

    animation: fadein 0.5s 0s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 0.5s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 1.1s cubic-bezier(0.77, 0, 0.175, 1);

    -webkit-animation-fill-mode: both;

    animation-fill-mode: both;

  }

}



.business .chapter .chapter__img-wrap.view .chapter__catch .img-wrap:nth-child(2) {

  -webkit-animation: fadein 0.5s 1.6s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 1.6s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.business .chapter .chapter__img-wrap.view .chapter__catch .img-wrap:nth-child(2)::before {

  -webkit-animation: fadein 0.5s 0.5s cubic-bezier(0.77, 0, 0.175, 1), kvblockIn 0.6s 1s cubic-bezier(0.77, 0, 0.175, 1), kvblockOut 0.6s 1.6s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 0.5s cubic-bezier(0.77, 0, 0.175, 1), kvblockIn 0.6s 1s cubic-bezier(0.77, 0, 0.175, 1), kvblockOut 0.6s 1.6s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



@media only screen and (max-width: 1023px) {

  .business .chapter .chapter__img-wrap.view .chapter__catch .img-wrap:nth-child(2)::before {

    -webkit-animation: fadein 0.5s 0.5s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 1.6s cubic-bezier(0.77, 0, 0.175, 1);

    animation: fadein 0.5s 0.5s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 1.6s cubic-bezier(0.77, 0, 0.175, 1);

    -webkit-animation-fill-mode: both;

    animation-fill-mode: both;

  }

}



.business .chapter .chapter__img-wrap.view .chapter__catch .img-wrap:nth-child(3) {

  -webkit-animation: fadein 0.5s 2.1s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 2.1s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



.business .chapter .chapter__img-wrap.view .chapter__catch .img-wrap:nth-child(3)::before {

  -webkit-animation: fadein 0.5s 1s cubic-bezier(0.77, 0, 0.175, 1), kvblockIn 0.6s 1.5s cubic-bezier(0.77, 0, 0.175, 1), kvblockOut 0.6s 2.1s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 0.5s 1s cubic-bezier(0.77, 0, 0.175, 1), kvblockIn 0.6s 1.5s cubic-bezier(0.77, 0, 0.175, 1), kvblockOut 0.6s 2.1s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



@media only screen and (max-width: 1023px) {

  .business .chapter .chapter__img-wrap.view .chapter__catch .img-wrap:nth-child(3)::before {

    -webkit-animation: fadein 0.5s 1s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1.5s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 2.1s cubic-bezier(0.77, 0, 0.175, 1);

    animation: fadein 0.5s 1s cubic-bezier(0.77, 0, 0.175, 1), blockIn 0.6s 1.5s cubic-bezier(0.77, 0, 0.175, 1), blockOut 0.6s 2.1s cubic-bezier(0.77, 0, 0.175, 1);

    -webkit-animation-fill-mode: both;

    animation-fill-mode: both;

  }

}



.business .chapter:nth-child(odd) .chapter__img-wrap.view {

  -webkit-animation: fadein 1s 0s cubic-bezier(0.77, 0, 0.175, 1), right2 1s 0s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 1s 0s cubic-bezier(0.77, 0, 0.175, 1), right2 1s 0s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



@media only screen and (max-width: 1023px) {

  .business .chapter:nth-child(odd) .chapter__img-wrap.view {

    -webkit-animation-duration: .5s;

    animation-duration: .5s;

  }

}



.business .chapter:nth-child(odd) .chapter__img {

  margin-left: auto;

}



.business .chapter:nth-child(odd) .chapter__catch {

  left: 40px;

}



@media only screen and (max-width: 767px) {

  .business .chapter:nth-child(odd) .chapter__catch {

    left: inherit;

  }

}



.business .chapter:nth-child(even) .chapter__img-wrap.view {

  -webkit-animation: fadein 1s 0s cubic-bezier(0.77, 0, 0.175, 1), left2 1s 0s cubic-bezier(0.77, 0, 0.175, 1);

  animation: fadein 1s 0s cubic-bezier(0.77, 0, 0.175, 1), left2 1s 0s cubic-bezier(0.77, 0, 0.175, 1);

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;

}



@media only screen and (max-width: 1023px) {

  .business .chapter:nth-child(even) .chapter__img-wrap.view {

    -webkit-animation-duration: .5s;

    animation-duration: .5s;

  }

}



.business .chapter:nth-child(even) .chapter__img {

  margin-right: auto;

}



.business .chapter:nth-child(even) .chapter__catch {

  right: 40px;

}



@media only screen and (max-width: 767px) {

  .business .chapter:nth-child(even) .chapter__catch {

    right: inherit;

  }

}



.business .chapter__content-wrap {

  max-width: 1200px;

  margin: 0 auto 100px;

}



@media only screen and (max-width: 1023px) {

  .business .chapter__content-wrap {

    margin-bottom: 50px;

  }

}



.business .chapter__content {

  padding: 0 10%;

}



@media only screen and (max-width: 767px) {

  .business .chapter__content {

    padding: 0 8vw;

  }

}



.business .chapter__content__text {

  max-width: 960px;

  margin: 0 auto;

}



.business .chapter__content__text p {

  margin-bottom: 2.25em;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 16px;

  line-height: 2.25;

  letter-spacing: 0.1em;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

  word-break: break-all;

}



@media only screen and (max-width: 1023px) {

  .business .chapter__content__text p {

    font-size: 13px;

    line-height: 1.8;

    margin-bottom: 1.8em;

  }

}



.business .chapter__content__text p:last-child {

  margin-bottom: 0;

}



.business .chapter__content__img {

  margin: 80px 0;

}



@media only screen and (max-width: 767px) {

  .business .chapter__content__img {

    margin: 40px 0;

  }

}



.business .chapter__content__img--goals {

  border: solid 1px #f5f5f5;

  padding: 50px 0 40px;

  text-align: center;

}



@media only screen and (max-width: 767px) {

  .business .chapter__content__img--goals {

    padding: 25px 0;

  }

}



.business .chapter__content__img--flex {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

}



.business .chapter__content__img--flex>div {

  width: 49.79%;

}



@media only screen and (max-width: 767px) {

  .business .chapter__content__img--flex>div {

    width: 48.88%;

  }

}



.business .chapter__content--1 {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  margin-bottom: 100px;

}



@media only screen and (max-width: 1023px) {

  .business .chapter__content--1 {

    display: block;

  }

}



.business .chapter__content--1 .chapter__content__text {

  margin-right: 120px;

}



@media only screen and (max-width: 1023px) {

  .business .chapter__content--1 .chapter__content__text {

    margin-right: 0;

  }

}



.business .chapter__content--1 .chapter__content__img {

  position: relative;

  -webkit-box-flex: 0;

  -ms-flex: 0 0 300px;

  flex: 0 0 300px;

  margin: 0;

}



@media only screen and (max-width: 1023px) {

  .business .chapter__content--1 .chapter__content__img {

    width: 150px;

    margin: 35px auto;

    -webkit-transform: translateX(-25px);

    transform: translateX(-25px);

  }

}



.business .chapter__content--1 .chapter__content__img::before {

  content: "";

  position: absolute;

  display: block;

  width: 100%;

  height: 472px;

  background-color: #f5f5f5;

  right: -50px;

  top: 50px;

}



@media only screen and (max-width: 1023px) {

  .business .chapter__content--1 .chapter__content__img::before {

    height: 236px;

  }

}



.business .chapter__content--1 .chapter__content__img img {

  position: relative;

  z-index: 1;

}



.business .chapter__content--2 {

  max-width: 1200px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  padding-left: 0;

}



@media only screen and (max-width: 1023px) {

  .business .chapter__content--2 {

    -webkit-box-orient: vertical;

    -webkit-box-direction: reverse;

    -ms-flex-direction: column-reverse;

    flex-direction: column-reverse;

    padding-left: 8vw;

  }

}



.business .chapter__content--2 .chapter__content__text {

  margin-left: 120px;

}



@media only screen and (max-width: 1023px) {

  .business .chapter__content--2 .chapter__content__text {

    margin-left: 0;

  }

}



.business .chapter__content--2 .chapter__content__img {

  position: relative;

  -webkit-box-flex: 0;

  -ms-flex: 0 0 600px;

  flex: 0 0 600px;

  margin: 0;

}



@media only screen and (max-width: 1023px) {

  .business .chapter__content--2 .chapter__content__img {

    margin-top: 35px;

    width: 100%;

    -ms-flex-preferred-size: 100%;

    flex-basis: 100%;

    text-align: center;

  }

}



.business .block {

  max-width: 1200px;

  margin: 0 auto 100px;

}



@media only screen and (max-width: 767px) {

  .business .block {

    margin-bottom: 50px;

  }

}



.business .block__inner-wrap {

  padding: 0 10%;

}



.business .block__inner {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  padding: 60px 0;

  border-top: solid 1px #f5f5f5;

  border-bottom: solid 1px #f5f5f5;

}



@media only screen and (max-width: 767px) {

  .business .block__inner {

    padding: 30px 0;

    border-bottom: none;

  }

}



.business .block__img {

  -webkit-box-flex: 0;

  -ms-flex: 0 0 240px;

  flex: 0 0 240px;

  margin-right: 60px;

}



@media only screen and (max-width: 767px) {

  .business .block__img {

    -webkit-box-flex: 0;

    -ms-flex: 0 0 120px;

    flex: 0 0 120px;

    margin-right: 10px;

  }

  .business .block__img+div {

    width: 100%;

  }

}



@media only screen and (max-width: 767px) {

  .business .block h3 {

    width: 100%;

    height: 100%;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-align: center;

    -ms-flex-align: center;

    align-items: center;

    -webkit-box-pack: center;

    -ms-flex-pack: center;

    justify-content: center;

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

  }

}



.business .block__ttl {

  display: inline-block;

  padding: 3px 10px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 15px;

  background-color: #72c9f3;

  color: #fff;

  letter-spacing: 0.1em;

}



@media only screen and (max-width: 767px) {

  .business .block__ttl {

    margin: 0 auto;

    padding: 0 5px;

    font-size: 12px;

  }

}



.business .block__s-ttl {

  display: block;

  margin: 24px 0 30px;

  width: 100%;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 24px;

  letter-spacing: 0.1em;

  line-height: 1.6;

}



@media only screen and (max-width: 767px) {

  .business .block__s-ttl {

    text-align: center;

    margin: 12px 0 0;

    font-size: 20px;

  }

}



.business .block__text {

  font-size: 14px;

  line-height: 2.28;

  letter-spacing: 0.07em;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

}



@media only screen and (max-width: 767px) {

  .business .block__text {

    font-size: 12px;

    line-height: 1.8;

    padding-bottom: 30px;

    border-bottom: solid 1px #f5f5f5;

  }

}



.business .movie {

  margin-bottom: 100px;

  padding: 100px 0;

  background-color: #f5f5f5;

}



@media only screen and (max-width: 1023px) {

  .business .movie {

    margin-bottom: 50px;

    padding: 50px 8vw;

  }

}



.business .movie__ttl {

  margin-bottom: 60px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 32px;

  text-align: center;

  letter-spacing: 0.1em;

}



@media only screen and (max-width: 1023px) {

  .business .movie__ttl {

    margin-bottom: 30px;

    font-size: 22px;

  }

}



.business .movie .card-wrap {

  max-width: 960px;

  margin: 0 auto;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

}



@media only screen and (max-width: 1023px) {

  .business .movie .card-wrap {

    display: block;

  }

}



.business .movie .card {

  width: 440px;

}



@media only screen and (max-width: 1023px) {

  .business .movie .card {

    width: 100%;

    margin-bottom: 40px;

  }

  .business .movie .card:last-child {

    margin-bottom: 0;

  }

}



.business .movie .card__movie {

  position: relative;

  width: 100%;

  padding-top: 56.25%;

}



.business .movie .card__movie iframe {

  position: absolute;

  top: 0;

  right: 0;

  width: 100% !important;

  height: 100% !important;

}



.business .movie .card__ttl {

  margin-top: 30px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 22px;

  line-height: 1.6;

}



@media only screen and (max-width: 1023px) {

  .business .movie .card__ttl {

    margin-top: 20px;

    font-size: 17px;

    line-height: 1.47;

  }

}



.business .chart {

  max-width: 960px;

  margin: -20px auto 100px;

}



@media only screen and (max-width: 1023px) {

  .business .chart {

    margin: 0 auto 70px;

    padding: 0 8vw;

    max-width: 500px;

  }

}



.business .chart__head {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  margin-bottom: 40px;

}



@media only screen and (max-width: 1023px) {

  .business .chart__head {

    margin-bottom: 25px;

  }

}



.business .chart__head li {

  position: relative;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  width: 90px;

  height: 40px;

  background-color: #f0ede0;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 16px;

  border-radius: 20px;

  letter-spacing: 0.1em;

  text-align: center;

}



@media only screen and (max-width: 1023px) {

  .business .chart__head li {

    width: 20px;

    height: 45px;

    -webkit-writing-mode: vertical-rl;

    -ms-writing-mode: tb-rl;

    writing-mode: vertical-rl;

    font-size: 10px;

  }

}



.business .chart__head li::before {

  content: "";

  position: absolute;

  top: 50%;

  right: -57px;

  width: 36px;

  height: 4px;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  background: url(../img/common/dot.png) repeat-x;

}



@media only screen and (max-width: 1023px) {

  .business .chart__head li::before {

    right: -26px;

    width: 18px;

    height: 2px;

    background-size: contain;

  }

}



.business .chart__head li::after {

  content: "";

  position: absolute;

  top: 50%;

  right: -66px;

  width: 0;

  height: 0;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  border-style: solid;

  border-width: 7px 0 7px 8px;

  border-color: transparent transparent transparent #1e1e1e;

}



@media only screen and (max-width: 1023px) {

  .business .chart__head li::after {

    right: -33px;

    border-width: 3.5px 0 3.5px 4px;

  }

}



@media only screen and (max-width: 374px) {

  .business .chart__head li::after {

    right: -25px;

  }

}



.business .chart__head li:last-child::before, .business .chart__head li:last-child::after {

  display: none;

}



.business .chart__body {

  height: 500px;

  position: relative;

}



@media only screen and (max-width: 1023px) {

  .business .chart__body {

    height: 0;

    padding-top: 126.66%;

  }

}



.business .chart__body .bg {

  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

  padding: 0 40px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

}



@media only screen and (max-width: 1023px) {

  .business .chart__body .bg {

    padding: 0 20px;

  }

}



.business .chart__body .bg .line {

  width: 1px;

  height: 100%;

  background-color: #f5f5f5;

}



@media only screen and (max-width: 1023px) {

  .business .chart__body .bg .line:nth-child(n+12) {

    display: none;

  }

}



.business .chart__block {

  position: absolute;

  height: 60px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  background-color: #f5f5f5;

  border-radius: 30px;

}



@media only screen and (max-width: 1023px) {

  .business .chart__block {

    height: 40px;

    border-radius: 20px;

  }

}



@media only screen and (max-width: 374px) {

  .business .chart__block {

    height: 32px;

  }

}



.business .chart__block a {

  width: 100%;

  line-height: 60px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  font-size: 14px;

  color: #1e1e1e;

  text-align: center;

}



@media only screen and (min-width: 1024px) {

  .business .chart__block a:hover {

    color: #3c3c3c;

  }

}



@media only screen and (max-width: 1023px) {

  .business .chart__block a {

    line-height: 40px;

    font-size: 11px;

  }

}



@media only screen and (max-width: 374px) {

  .business .chart__block a {

    line-height: 32px;

  }

}



.business .chart__block a>span {

  position: relative;

  display: -webkit-inline-box;

  display: -ms-inline-flexbox;

  display: inline-flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

}



@media only screen and (max-width: 1023px) {

  .business .chart__block a>span {

    line-height: 1.4;

  }

}



.business .chart__block a>span::before {

  display: block;

  content: "";

  width: 14px;

  height: 14px;

  border-radius: 50%;

  margin-right: 10px;

  background-color: #bdb07b;

}



@media only screen and (max-width: 1023px) {

  .business .chart__block a>span::before {

    margin-right: 4px;

    width: 11px;

    height: 11px;

  }

}



.business .chart__block a>span::after {

  position: absolute;

  left: 4px;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  content: "";

  display: block;

  width: 0;

  height: 0;

  border-style: solid;

  border-width: 5px 3px 0 3px;

  border-color: #fff transparent transparent transparent;

}



@media only screen and (max-width: 1023px) {

  .business .chart__block a>span::after {

    left: 3px;

    border-width: 4px 2.5px 0 2.5px;

  }

}



@media only screen and (max-width: 1023px) {

  .business .chart__block a>span .pc {

    display: none;

  }

}



@media only screen and (max-width: 1023px) {

  .business .chart__block a>span .sp-on {

    display: block !important;

  }

}



.business .chart__block:nth-child(1) {

  width: 100%;

  top: 20px;

  left: 0;

}



@media only screen and (max-width: 1023px) {

  .business .chart__block:nth-child(1) {

    top: 3.75%;

  }

}



.business .chart__block:nth-child(2) {

  width: 382px;

  padding: 0 3.125%;

  top: 100px;

  left: 280px;

}



@media only screen and (max-width: 1023px) {

  .business .chart__block:nth-child(2) {

    width: 38%;

    left: 26.66%;

    top: 15.5%;

    display: block;

    height: auto;

    padding: 0;

    background-color: transparent;

  }

  .business .chart__block:nth-child(2) a {

    display: -webkit-inline-box;

    display: -ms-inline-flexbox;

    display: inline-flex;

    -webkit-box-align: center;

    -ms-flex-align: center;

    align-items: center;

    -webkit-box-pack: center;

    -ms-flex-pack: center;

    justify-content: center;

    width: 100%;

    height: 40px;

    background-color: #f5f5f5;

    border-radius: 20px;

    margin-bottom: 5px;

  }

}



@media only screen and (max-width: 374px) {

  .business .chart__block:nth-child(2) a {

    height: 32px;

  }

}



.business .chart__block:nth-child(3) {

  width: 280px;

  top: 100px;

  right: 0px;

}



@media only screen and (max-width: 1023px) {

  .business .chart__block:nth-child(3) {

    width: 32.7%;

    top: 15.5%;

  }

}



.business .chart__block:nth-child(4) {

  width: 382px;

  top: 180px;

  left: 280px;

}



@media only screen and (max-width: 1023px) {

  .business .chart__block:nth-child(4) {

    width: 38%;

    left: 26.66%;

    top: 50%;

  }

  .business .chart__block:nth-child(4) .wrap {

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

  }

  .business .chart__block:nth-child(4) .block-ttl {

    display: block;

  }

}



.business .chart__block:nth-child(4) .italic {

  font-style: italic;

}



.business .chart__block:nth-child(5) {

  width: 524px;

  top: 260px;

  left: 0;

}



@media only screen and (max-width: 1023px) {

  .business .chart__block:nth-child(5) {

    width: 50%;

    top: 62.5%;

  }

}



.business .chart__block:nth-child(6) {

  width: 680px;

  top: 340px;

  right: 0px;

}



@media only screen and (max-width: 1023px) {

  .business .chart__block:nth-child(6) {

    width: 73.3%;

    top: 74.3%;

  }

}



.business .chart__block:nth-child(7) {

  width: 352px;

  top: 420px;

  left: 0;

}



@media only screen and (max-width: 1023px) {

  .business .chart__block:nth-child(7) {

    width: 38.7%;

    top: inherit;

    bottom: 3.75%;

  }

}



.business .chart__block:nth-child(8) {

  width: 445px;

  top: 420px;

  left: 372px;

}



@media only screen and (max-width: 1023px) {

  .business .chart__block:nth-child(8) {

    width: 46.7%;

    top: inherit;

    bottom: 3.75%;

    left: 41.26%;

  }

}



.business .feature {

  max-width: 1200px;

  margin: 0 auto;

}



.business .feature__text {

  width: calc(100% - 49.8vw);

  margin: 0 auto 70px;

}



@media only screen and (max-width: 1023px) {

  .business .feature__text {

    width: calc(100% - 16vw);

  }

}



.business .feature__content {

  padding: 0 10%;

  counter-reset: feature 0;

}



@media only screen and (max-width: 1023px) {

  .business .feature__content {

    padding: 0 8vw;

  }

}



.business .feature .content {

  position: relative;

  padding: 0;

  margin-bottom: 100px;

}



@media only screen and (max-width: 1023px) {

  .business .feature .content {

    padding-top: 25px;

    margin-bottom: 70px;

  }

  .business .feature .content:last-child {

    margin-bottom: 50px;

  }

}



.business .feature .content:nth-child(odd) .content__ttl {

  right: 0;

}



@media only screen and (max-width: 1023px) {

  .business .feature .content:nth-child(odd) .content__ttl {

    left: 0;

    right: inherit;

  }

}



.business .feature .content:nth-child(odd) .content__detail {

  padding-right: 60px;

}



@media only screen and (max-width: 1023px) {

  .business .feature .content:nth-child(odd) .content__detail {

    padding-right: 0;

  }

}



.business .feature .content:nth-child(even) .content__ttl {

  left: 0;

}



.business .feature .content:nth-child(even) .content__img {

  margin-left: auto;

}



.business .feature .content:nth-child(even) .content__detail {

  margin-left: auto;

  padding-left: 60px;

}



@media only screen and (max-width: 1023px) {

  .business .feature .content:nth-child(even) .content__detail {

    padding-left: 0;

  }

}



@media only screen and (min-width: 1024px) {

  .business .feature .content:nth-child(4) {

    padding: 85px 0 60px;

  }

  .business .feature .content:nth-child(4)::before {

    width: calc(100% - 90px);

    height: calc(100% - 25px);

    top: 25px;

    left: 0;

    right: inherit;

  }

  .business .feature .content:nth-child(4) .content__ttl {

    top: -85px;

  }

  .business .feature .content:nth-child(4) .content__detail {

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    width: 81.25%;

    margin: 0 0 60px auto;

    padding-bottom: 60px;

  }

  .business .feature .content:nth-child(4) .content__detail .content__img {

    -webkit-box-flex: 0;

    -ms-flex: 0 0 180px;

    flex: 0 0 180px;

  }

  .business .feature .content:nth-child(4) .content__detail:last-child {

    margin-bottom: 0;

  }

  .business .feature .content:nth-child(4) .content__img {

    margin-left: 60px;

  }

}



@media only screen and (max-width: 1023px) {

  .business .feature .content:nth-child(4) .content__detail {

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-orient: vertical;

    -webkit-box-direction: reverse;

    -ms-flex-direction: column-reverse;

    flex-direction: column-reverse;

    padding-top: 0;

    margin-bottom: 40px;

  }

  .business .feature .content:nth-child(4) .content__detail>div:first-child {

    padding-top: 30px;

  }

}



.business .feature .content:nth-child(4) .else-wrap {

  width: 100%;

}



.business .feature .content:nth-child(4) .else-wrap .link {

  border-bottom: none;

}



.business .feature .content:nth-child(4) .else-wrap .link--line2 {

  height: 102px;

}



@media only screen and (max-width: 1023px) {

  .business .feature .content:nth-child(4) .else-wrap .link--line2 {

    height: 86px;

  }

}



.business .feature .content:nth-child(4) .else-wrap .link--line2 .link__ttl__jp::after {

  margin-bottom: 8px;

}



.business .feature .content:nth-child(4) .else-wrap .link .link__ttl__jp {

  text-align: center;

}



.business .feature .content:nth-child(4) .else-wrap .link .line {

  line-height: 1.75;

}



.business .feature .content:nth-child(4) .else-wrap:last-child .link {

  border-bottom: solid 1px #1e1e1e;

}



.business .feature .content::before {

  position: absolute;

  right: 0;

  top: 100px;

  content: "";

  display: block;

  width: 100%;

  height: 468px;

  background-color: #f0ede0;

}



@media only screen and (max-width: 1023px) {

  .business .feature .content::before {

    right: inherit;

    left: -8vw;

    top: 25px;

    width: calc(100% + 16vw);

    height: 189px;

  }

}



.business .feature .content__inner {

  position: relative;

  top: 0;

  z-index: 1;

}



@media only screen and (max-width: 1023px) {

  .business .feature .content__inner {

    padding-top: 40px;

  }

}



.business .feature .content__ttl {

  position: absolute;

  top: 0;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  width: 180px;

  -webkit-writing-mode: vertical-rl;

  -ms-writing-mode: tb-rl;

  writing-mode: vertical-rl;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 50px;

  letter-spacing: 0.08em;

}



@media only screen and (max-width: 1023px) {

  .business .feature .content__ttl {

    top: -25px;

    width: auto;

    font-size: 25px;

    -webkit-writing-mode: inherit;

    -ms-writing-mode: inherit;

    writing-mode: inherit;

  }

}



.business .feature .content__ttl::before {

  width: 50px;

  height: 50px;

  border-radius: 50%;

  color: #fff;

  background-color: #1e1e1e;

  margin-bottom: 30px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  line-height: 1;

  font-family: 'Libre Caslon Display', serif;

  font-size: 24px;

  -webkit-writing-mode: horizontal-tb;

  -ms-writing-mode: lr-tb;

  writing-mode: horizontal-tb;

  counter-increment: feature 1;

  letter-spacing: 0.08em;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

  content: counter(feature, decimal-leading-zero);

}



@media only screen and (max-width: 1023px) {

  .business .feature .content__ttl::before {

    margin: 0 19px 0 0;

    font-size: 19px;

    width: 40px;

    height: 40px;

  }

}



.business .feature .content__img {

  display: block;

  width: calc(100% - 180px);

  text-align: center;

}



@media only screen and (max-width: 1023px) {

  .business .feature .content__img {

    width: 100%;

  }

}



.business .feature .content__detail {

  position: relative;

  z-index: 1;

  margin-top: -80px;

  padding: 50px 0 0 0;

  width: 62.5%;

  background-color: #fff;

}



@media only screen and (max-width: 1023px) {

  .business .feature .content__detail {

    margin-top: 0;

    padding: 30px 0 0px;

    width: 100%;

  }

}



.business .feature .content__detail__ttl {

  margin-bottom: 30px;

  font-family: YakuHanMP, 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 28px;

  letter-spacing: 0.1em;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

  line-height: 1.5;

}



@media only screen and (max-width: 1023px) {

  .business .feature .content__detail__ttl {

    margin-bottom: 20px;

    font-size: 20px;

    letter-spacing: 0.06em;

  }

}



.business .feature .content__detail__text {

  margin-bottom: 40px;

  font-size: 14px;

  line-height: 2.28;

  letter-spacing: 0.05em;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

}



@media only screen and (max-width: 1023px) {

  .business .feature .content__detail__text {

    margin-bottom: 30px;

    font-size: 12px;

    line-height: 1.8;

  }

}



.business .feature .content__detail .italic {

  font-style: italic;

}



.business .feature .content__detail .else-wrap {

  display: block;

  min-width: inherit;

  max-width: inherit;

  width: 420px;

  margin: 0;

  padding: 0;

}



@media only screen and (max-width: 1023px) {

  .business .feature .content__detail .else-wrap {

    width: 100%;

  }

}



.business .feature .content__detail .else-wrap a {

  width: 100%;

}



.business .else-wrap {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  margin: 0 auto 100px;

  padding: 0 16.6vw;

}



@media only screen and (max-width: 1023px) {

  .business .else-wrap {

    max-width: inherit;

    min-width: inherit;

    padding: 0 8vw;

    margin: 0 auto 50px;

  }

}



@media only screen and (max-width: 767px) {

  .business .else-wrap {

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

    max-width: calc(100% - 16vw);

    min-width: inherit;

    padding: 0;

  }

}



.business .else-wrap .link {

  position: relative;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  width: calc(50% - 20px);

  height: 72px;

  border-top: solid 1px #1e1e1e;

  border-bottom: solid 1px #1e1e1e;

}



@media only screen and (max-width: 767px) {

  .business .else-wrap .link {

    width: 100%;

    height: 65px;

    border-bottom: none;

  }

  .business .else-wrap .link:last-child {

    border-bottom: solid 1px #1e1e1e;

  }

}



.business .else-wrap .link:hover {

  text-decoration: none;

}



@media only screen and (min-width: 1024px) {

  .business .else-wrap .link:hover::before {

    -webkit-animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

    animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

  }

}



.business .else-wrap .link::before {

  position: absolute;

  right: 1px;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  content: "";

  display: block;

  width: 27px;

  height: 1px;

  background: url(../img/common/underline_black.png) no-repeat left bottom;

  background-size: 100% 1px;

  z-index: 2;

}



.business .else-wrap .link::after {

  position: absolute;

  right: 0;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  content: "";

  display: block;

  width: 28px;

  height: 13px;

  background: url(../img/common/icon_link_black.svg) no-repeat center;

}



@media only screen and (max-width: 767px) {

  .business .else-wrap .link::after {

    width: 25px;

    height: 12px;

    background-size: contain;

  }

}



.business .else-wrap .link__ttl__jp {

  position: relative;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: end;

  -ms-flex-align: end;

  align-items: flex-end;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  text-align: center;

  line-height: 1;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 16px;

  letter-spacing: 0.09em;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

}



@media only screen and (max-width: 767px) {

  .business .else-wrap .link__ttl__jp {

    font-size: 15px;

  }

}



@media only screen and (max-width: 374px) {

  .business .else-wrap .link__ttl__jp {

    font-size: 12px;

  }

}



@media only screen and (max-width: 767px) {

  .business .else-wrap .link.sec-anim.view {

    -webkit-animation: none;

    animation: none;

    opacity: 1;

  }

}



.business .else-wrap a[target="_blank"].link .link__ttl__jp::after {

  content: "";

  display: block;

  width: 10px;

  height: 8px;

  margin-left: 10px;

  background: url(../img/common/icon_blank_sp.svg) no-repeat center;

  background-size: contain;

}



@media only screen and (max-width: 767px) {

  .business .else-wrap a[target="_blank"].link .link__ttl__jp::after {

    width: 12.5px;

    height: 9.5px;

    margin-left: 8px;

  }

}



.business .else-wrap--2 {

  width: 720px;

  padding: 0;

}



@media only screen and (max-width: 1023px) {

  .business .else-wrap--2 {

    width: auto;

    margin: 0 8vw 50px;

  }

}



.business .else-wrap--2 .link {

  width: 100%;

  height: 140px;

}



@media only screen and (max-width: 1023px) {

  .business .else-wrap--2 .link {

    height: 108px;

  }

}



.business .else-wrap--2 .link__ttl__jp {

  margin-bottom: 15px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 400;

  font-size: 14px;

  letter-spacing: 0.08em;

  line-height: 1;

}



@media only screen and (max-width: 1023px) {

  .business .else-wrap--2 .link__ttl__jp {

    margin-bottom: 10px;

    font-size: 11px;

  }

}



.business .else-wrap--2 .link__ttl__en {

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 26px;

  letter-spacing: 0.05em;

  line-height: 1;

}



@media only screen and (max-width: 1023px) {

  .business .else-wrap--2 .link__ttl__en {

    font-size: 22px;

  }

}



.work .kv {

  position: relative;

  width: calc(100% - 8.3vw);

  margin: 0 0 80px auto;

  padding-bottom: 85px;

}



@media only screen and (max-width: 1023px) {

  .work .kv {

    width: calc(100% - 8vw);

    margin: 0 0 40px auto;

    padding-bottom: 155px;

  }

}



@media only screen and (max-width: 767px) {

  .work .kv {

    padding-bottom: 217px;

  }

}



.work .kv__img {

  width: 100%;

  height: 0;

  padding-top: 44%;

  background-repeat: no-repeat;

  background-size: cover;

  background-position: center;

}



@media only screen and (max-width: 1439px) {

  .work .kv__img {

    padding-top: 0;

    height: 420px;

  }

}



@media only screen and (max-width: 1023px) {

  .work .kv__img {

    height: 0;

    padding-top: 44%;

  }

}



@media only screen and (max-width: 767px) {

  .work .kv__img {

    height: 0;

    padding-top: 91.3%;

  }

}



.work .kv__text {

  opacity: 0;

  position: absolute;

  left: 0;

  bottom: 0;

  width: 480px;

  padding: 68px 68px 15px 0;

  background-color: #fff;

  -webkit-animation: left 1s 0s ease forwards;

  animation: left 1s 0s ease forwards;

}



@media only screen and (max-width: 1023px) {

  .work .kv__text {

    width: calc(100% - 8vw);

    padding: 36px 36px 0 0;

  }

}



.work .kv__text::after {

  opacity: 0;

  content: "";

  position: absolute;

  left: 0;

  top: 0;

  display: block;

  width: 240px;

  height: 8px;

  background-color: #bdb07b;

  -webkit-animation: fadein 1s 1s ease forwards;

  animation: fadein 1s 1s ease forwards;

}



@media only screen and (max-width: 1023px) {

  .work .kv__text::after {

    width: 132px;

    height: 4px;

  }

}



.work .kv__ttl {

  opacity: 0;

  font-size: 16px;

  letter-spacing: 0.1em;

  position: relative;

  overflow: hidden;

  -webkit-animation: fadein 1s 2s ease forwards;

  animation: fadein 1s 2s ease forwards;

}



@media only screen and (max-width: 1023px) {

  .work .kv__ttl {

    font-size: 12px;

  }

}



.work .kv__ttl__en {

  display: block;

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 48px;

  letter-spacing: 0.03em;

}



@media only screen and (max-width: 1023px) {

  .work .kv__ttl__en {

    margin-top: 20px;

    font-size: 30px;

    line-height: 1.1;

  }

}



.work .kv__tag {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

  opacity: 0;

  margin: 10px 16% 0 0;

  -webkit-animation: fadein 1s 2.5s ease forwards;

  animation: fadein 1s 2.5s ease forwards;

}



.work .kv__tag li {

  margin: 0 4px 4px 0;

}



.work .kv__tag a {

  display: block;

  padding: 4px 10px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  font-size: 12px;

  border-radius: 2px;

  background-color: #f5f5f5;

  -webkit-transition: all .3s;

  transition: all .3s;

}



@media only screen and (max-width: 767px) {

  .work .kv__tag a {

    padding: 5px 8px 5px 5px;

    font-size: 11px;

  }

}



.work .kv__tag a::before {

  content: "\00266f";

}



.work .kv__tag a:hover {

  text-decoration: none;

  background-color: #e7e7e7;

  cursor: pointer;

}



@media only screen and (max-width: 767px) {

  .work .kv__tag {

    margin-top: 15px;

  }

}



.work .kv+.lead {

  max-width: 960px;

  margin: 0 auto;

  text-align: center;

  font-size: 14px;

  line-height: 2.28;

}



@media only screen and (max-width: 1023px) {

  .work .kv+.lead {

    display: block;

    margin: 50px 8vw 0;

    font-size: 12px;

    line-height: 1.8;

    text-align: left;

  }

}



.work .anc {

  margin: 50px auto 100px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

}



@media only screen and (max-width: 1023px) {

  .work .anc {

    display: block;

    margin: 40px auto 50px;

  }

}



.work .anc li {

  margin: 0 25px;

}



@media only screen and (max-width: 1023px) {

  .work .anc li {

    margin: 0 8vw;

  }

  .work .anc li:first-child {

    border-top: solid 1px #1e1e1e;

  }

}



.work .anc a {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  text-align: center;

  width: 287px;

  height: 124px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 20px;

  letter-spacing: 0.1em;

  border-top: solid 1px #1e1e1e;

  border-bottom: solid 1px #1e1e1e;

}



@media only screen and (max-width: 1023px) {

  .work .anc a {

    width: 100%;

    height: 81px;

    border-top: none;

    font-size: 16px;

    -webkit-box-orient: horizontal;

    -webkit-box-direction: normal;

    -ms-flex-direction: row;

    flex-direction: row;

    -webkit-box-pack: justify;

    -ms-flex-pack: justify;

    justify-content: space-between;

  }

  .work .anc a .pc-on {

    display: none;

  }

}



.work .anc a .arrow {

  display: block;

  width: 18px;

  height: 10px;

  margin-top: 15px;

  background: url(../img/common/icon_arrow.svg) no-repeat center;

  background-size: contain;

  -webkit-transform: scale(-1, -1);

  transform: scale(-1, -1);

}



@media only screen and (max-width: 1023px) {

  .work .anc a .arrow {

    width: 15px;

    height: 8px;

    margin-top: 0;

  }

}



.work .anc a .arrow::before {

  opacity: 0;

  position: absolute;

  left: 100%;

  top: 0;

  content: "";

  display: block;

  width: 5px;

  height: 10px;

  background: #fff;

}



.work .anc a:hover .arrow::before {

  -webkit-animation: arrow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

  animation: arrow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

}



.work .group {

  position: relative;

  max-width: 960px;

  margin: 0 auto 80px;

  padding-top: 16px;

}



@media only screen and (max-width: 1023px) {

  .work .group {

    margin: 0 8vw 50px;

    padding-top: 9px;

  }

}



.work .group__ttl {

  position: absolute;

  top: 0;

  left: 50%;

  -webkit-transform: translateX(-50%);

  transform: translateX(-50%);

  font-family: 'Cormorant Garamond', serif;

  font-weight: 600;

  font-size: 32px;

  letter-spacing: 0.03em;

  line-height: 1;

  z-index: 1;

}



@media only screen and (max-width: 1023px) {

  .work .group__ttl {

    width: 100%;

    text-align: center;

    font-size: 23px;

  }

}



.work .group__inner {

  position: relative;

  margin-bottom: 44px;

  padding: 60px;

  background-color: #f5f5f5;

}



@media only screen and (max-width: 1023px) {

  .work .group__inner {

    margin-bottom: 15px;

    padding: 30px 20px;

  }

}



.work .group__inner::after {

  position: absolute;

  left: 50%;

  bottom: -15px;

  display: block;

  content: "";

  height: 4px;

  width: 44px;

  -webkit-transform: translate(-50%, -50%) rotate(90deg);

  transform: translate(-50%, -50%) rotate(90deg);

  background: url(../img/common/dot.png) repeat-x left;

}



@media only screen and (max-width: 1023px) {

  .work .group__inner::after {

    bottom: -4px;

    height: 3px;

    width: 20px;

    background-size: contain;

  }

}



.work .group__main {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  counter-reset: main 0;

  margin-bottom: 20px;

}



@media only screen and (max-width: 1023px) {

  .work .group__main {

    -ms-flex-wrap: wrap;

    flex-wrap: wrap;

    margin-bottom: 15px;

  }

}



.work .group__main .list {

  width: calc(33.33333% - 13.33333px);

}



@media only screen and (max-width: 1023px) {

  .work .group__main .list {

    width: 100%;

    margin-bottom: 5px;

  }

}



.work .group__main .list:nth-child(1) {

  background-color: #bdb07b;

}



.work .group__main .list:nth-child(1) .arrow::after {

  border-color: #bdb07b transparent transparent transparent;

}



.work .group__main .list:nth-child(2) {

  background-color: #72c9f3;

}



.work .group__main .list:nth-child(2) .arrow::after {

  border-color: #72c9f3 transparent transparent transparent;

}



.work .group__main .list:nth-child(3) {

  background-color: #6aa0db;

}



.work .group__main .list:nth-child(3) .arrow::after {

  border-color: #6aa0db transparent transparent transparent;

}



.work .group__main .list a {

  text-align: center;

  display: -webkit-inline-box;

  display: -ms-inline-flexbox;

  display: inline-flex;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  width: 100%;

  height: 100%;

  padding: 36px 0;

}



@media only screen and (max-width: 1023px) {

  .work .group__main .list a {

    padding: 20px 0 18px;

  }

}



.work .group__main .list a::before {

  margin-bottom: 20px;

  font-family: 'Libre Caslon Display', serif;

  font-size: 20px;

  color: #fff;

  line-height: 1;

  padding: 8px 0;

  counter-increment: main 1;

  content: counter(main, decimal-leading-zero);

  border-top: solid 1px #fff;

  border-bottom: solid 1px #fff;

}



@media only screen and (max-width: 1023px) {

  .work .group__main .list a::before {

    font-size: 15px;

    padding: 4px 0;

    margin-bottom: 12px;

  }

}



.work .group__main .list .text-wrap {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

}



@media only screen and (max-width: 1023px) {

  .work .group__main .list .text-wrap {

    display: block;

    background-color: #fff;

    padding: 0 3px;

  }

}



.work .group__main .list .text {

  display: inline;

  margin-bottom: 5px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 18px;

  background-color: #fff;

  letter-spacing: 0.1em;

  padding: 1px 10px;

}



@media only screen and (max-width: 1023px) {

  .work .group__main .list .text {

    padding: 0;

    font-size: 14px;

    background-color: transparent;

  }

}



.work .group__main .list .arrow {

  position: relative;

  display: block;

  margin-top: 15px;

  width: 14px;

  height: 14px;

  border-radius: 50%;

  background-color: #fff;

}



@media only screen and (max-width: 1023px) {

  .work .group__main .list .arrow {

    width: 10px;

    height: 10px;

    margin-top: 14px;

  }

}



.work .group__main .list .arrow::after {

  position: absolute;

  content: "";

  left: 50%;

  top: 50%;

  -webkit-transform: translate(-50%, -50%);

  transform: translate(-50%, -50%);

  width: 0;

  height: 0;

  border-style: solid;

  border-width: 5px 3px 0 3px;

}



@media only screen and (max-width: 1023px) {

  .work .group__main .list .arrow::after {

    border-width: 4.5px 2.5px 0 2.5px;

  }

}



.work .group__sub {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

}



.work .group__sub .list {

  width: calc(50% - 10px);

}



@media only screen and (max-width: 1023px) {

  .work .group__sub .list {

    width: calc(50% - 3.5px);

  }

}



.work .group__sub .list a {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  width: 100%;

  height: 70px;

  font-size: 16px;

  letter-spacing: 0.1em;

  background-color: #fff;

}



@media only screen and (max-width: 1023px) {

  .work .group__sub .list a {

    height: 45px;

    font-size: 12px;

  }

}



.work .group__sub .list a .arrow {

  position: relative;

  display: block;

  width: 14px;

  height: 14px;

  margin-right: 10px;

  border-radius: 50%;

  background-color: #6aa0db;

}



@media only screen and (max-width: 1023px) {

  .work .group__sub .list a .arrow {

    width: 10px;

    height: 10px;

    margin-right: 5px;

  }

}



.work .group__sub .list a .arrow::after {

  position: absolute;

  content: "";

  left: 50%;

  top: 50%;

  -webkit-transform: translate(-50%, -50%);

  transform: translate(-50%, -50%);

  width: 0;

  height: 0;

  border-style: solid;

  border-width: 5px 3px 0 3px;

  border-color: #fff transparent transparent transparent;

}



@media only screen and (max-width: 1023px) {

  .work .group__sub .list a .arrow::after {

    border-width: 4.5px 2.5px 0 2.5px;

  }

}



.work .group__sub .list a[target="_blank"]::before {

  display: none;

}



.work .group__sub .list a[target="_blank"]::after {

  content: "";

  display: block;

  width: 10px;

  height: 8px;

  margin: 8px 0 0 8px;

  background: url(../img/common/icon_blank_pc.svg) no-repeat center;

  background-size: contain;

}



@media only screen and (max-width: 767px) {

  .work .group__sub .list a[target="_blank"]::after {

    width: 12.5px;

    height: 9.5px;

    margin: 0 0 0 6px;

    background: url(../img/common/icon_blank_sp.svg) no-repeat center;

    background-size: contain;

  }

}



.work .group__text {

  position: relative;

  text-align: center;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 18px;

  letter-spacing: 0.1em;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

  margin-bottom: 20px;

  padding-bottom: 44px;

}



@media only screen and (max-width: 1023px) {

  .work .group__text {

    margin-bottom: 10px;

    padding-bottom: 25px;

    font-size: 12px;

  }

}



.work .group__text::before {

  position: absolute;

  left: 50%;

  bottom: 18px;

  display: block;

  content: "";

  height: 4px;

  width: 17px;

  -webkit-transform: translate(-50%, -50%) rotate(90deg);

  transform: translate(-50%, -50%) rotate(90deg);

  background: url(../img/common/dot.png) repeat-x left;

}



@media only screen and (max-width: 1023px) {

  .work .group__text::before {

    bottom: 10px;

    height: 3px;

    width: 11px;

    background-size: contain;

  }

}



.work .group__text::after {

  position: absolute;

  left: 50%;

  bottom: 0px;

  -webkit-transform: translateX(-50%);

  transform: translateX(-50%);

  display: block;

  content: "";

  width: 0;

  height: 0;

  border-style: solid;

  border-width: 8px 7px 0 7px;

  border-color: #1e1e1e transparent transparent transparent;

}



@media only screen and (max-width: 1023px) {

  .work .group__text::after {

    border-width: 4px 3.5px 0 3.5px;

  }

}



.work .group__man {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  width: 100%;

  height: 80px;

  border: solid 1px #e7e7e7;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 22px;

  letter-spacing: 0.1em;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

}



@media only screen and (max-width: 1023px) {

  .work .group__man {

    font-size: 14px;

    height: 45px;

  }

}



.work .contents {

  counter-reset: sec 0;

}



.work .sec {

  padding-top: 20px;

}



@media only screen and (max-width: 1023px) {

  .work .sec {

    padding-top: 0;

  }

}



.work .sec__ttl-wrap {

  position: relative;

  margin-bottom: 120px;

  padding-bottom: 60px;

}



@media only screen and (max-width: 1023px) {

  .work .sec__ttl-wrap {

    margin-bottom: 0;

    padding-bottom: 0;

  }

}



.work .sec__ttl-wrap::before {

  content: "";

  display: block;

  position: absolute;

  right: 0;

  bottom: 0;

  width: 91.7%;

  height: 0;

  padding-top: 39.58%;

  background-color: #bdb07b;

}



@media only screen and (max-width: 1023px) {

  .work .sec__ttl-wrap::before {

    width: 100%;

    top: 40px;

    bottom: auto;

    bottom: initial;

    padding-top: 77.73%;

  }

}



.work .sec__ttl-wrap__img {

  position: relative;

  width: 91.7%;

  height: 0;

  padding-top: 39.58%;

  background-repeat: no-repeat;

  background-size: cover;

  background-position: center;

}



@media only screen and (max-width: 1439px) {

  .work .sec__ttl-wrap__img {

    padding-top: 0;

    height: 570px;

  }

}



@media only screen and (max-width: 1023px) {

  .work .sec__ttl-wrap__img {

    width: calc(100% - 8vw);

    height: 0;

    padding-top: 65.33%;

    margin-bottom: 87px;

  }

}



@media only screen and (max-width: 1439px) {

  .work .sec__ttl-wrap__img--01 {

    background-position: center 35%;

    background-size: 160%;

  }

}



@media only screen and (max-width: 1023px) {

  .work .sec__ttl-wrap__img--01 {

    background-size: cover;

  }

}



.work .sec__ttl-wrap__ttl {

  position: absolute;

  right: 40px;

  top: -20px;

  -webkit-writing-mode: vertical-rl;

  -ms-writing-mode: tb-rl;

  writing-mode: vertical-rl;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-direction: column;

  flex-direction: column;

  -webkit-box-align: start;

  -ms-flex-align: start;

  align-items: flex-start;

}



@media only screen and (max-width: 1023px) {

  .work .sec__ttl-wrap__ttl {

    -webkit-writing-mode: initial;

    -ms-writing-mode: initial;

    writing-mode: initial;

    right: auto;

    right: initial;

    top: auto;

    top: initial;

    left: 8vw;

    bottom: -57px;

  }

}



.work .sec__ttl-wrap__ttl span {

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 36px;

  display: inline-block;

  padding: 12px 2px;

  letter-spacing: 0.14em;

  background-color: #fff;

  margin-left: 4px;

}



@media only screen and (max-width: 1023px) {

  .work .sec__ttl-wrap__ttl span {

    padding: 5px 6px;

    font-size: 25px;

    margin: 0 0 2px;

    line-height: 1;

  }

}



.work .sec__ttl-wrap__ttl span.pc {

  display: inline-block;

}



@media only screen and (max-width: 1023px) {

  .work .sec__ttl-wrap__ttl span.pc {

    display: none;

  }

}



.work .sec__ttl-wrap__ttl span.sp {

  display: none;

}



@media only screen and (max-width: 1023px) {

  .work .sec__ttl-wrap__ttl span.sp {

    display: inline-block;

  }

}



.work .sec__ttl-wrap__ttl span:last-child {

  margin-left: 0;

}



@media only screen and (max-width: 1023px) {

  .work .sec__ttl-wrap__ttl span:last-child {

    margin-bottom: 0;

  }

}



.work .sec__ttl-wrap__text {

  position: absolute;

  left: 0;

  bottom: 0;

  padding: 60px 60px 0;

  background-color: #fff;

  font-size: 14px;

  letter-spacing: 0.05em;

  line-height: 2.28;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

}



@media only screen and (max-width: 1023px) {

  .work .sec__ttl-wrap__text {

    position: relative;

    padding: 30px 8vw 40px;

    display: block;

    font-size: 12px;

    line-height: 1.8;

  }

}



.work .sec__ttl-wrap__text::before {

  display: block;

  font-family: 'Libre Caslon Display', serif;

  font-size: 70px;

  line-height: 1;

  counter-increment: sec 1;

  content: counter(sec, decimal-leading-zero);

  padding-right: 38px;

  margin-right: 38px;

  border-right: solid 1px #e7e7e7;

}



@media only screen and (max-width: 1023px) {

  .work .sec__ttl-wrap__text::before {

    margin-bottom: 20px;

    border-right: 0;

    font-size: 35px;

  }

}



@media only screen and (min-width: 1024px) {

  .work .sec:nth-child(even) .sec__ttl-wrap::before {

    right: inherit;

    left: 0;

  }

  .work .sec:nth-child(even) .sec__ttl-wrap__img {

    margin-left: auto;

  }

  .work .sec:nth-child(even) .sec__ttl-wrap__ttl {

    right: inherit;

    left: 40px;

  }

  .work .sec:nth-child(even) .sec__ttl-wrap__text {

    right: 0;

    left: inherit;

  }

}



.work .sec:nth-child(2) .sec__ttl-wrap::before {

  background-color: #72c9f3;

}



.work .sec:nth-child(3) .sec__ttl-wrap::before {

  background-color: #6aa0db;

}



.work .sec__img {

  margin: 0 16.6% 100px;

}



@media only screen and (max-width: 1023px) {

  .work .sec__img {

    margin: 0 8vw 50px;

  }

}



.work .block {

  margin-bottom: 100px;

  padding: 0 16.6%;

}



@media only screen and (max-width: 1023px) {

  .work .block {

    margin-bottom: 50px;

    padding: 0 8vw;

  }

}



.work .block__head {

  margin-bottom: 60px;

  text-align: center;

}



@media only screen and (max-width: 1023px) {

  .work .block__head {

    margin-bottom: 30px;

  }

}



.work .block__head .block__ttl {

  font-size: 32px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  letter-spacing: 0.1em;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

  line-height: 1;

}



@media only screen and (max-width: 1023px) {

  .work .block__head .block__ttl {

    font-size: 22px;

    line-height: 1.3;

  }

}



.work .block__head .block__text {

  font-size: 14px;

  line-height: 2.28;

  padding: 40px 0 20px;

}



@media only screen and (max-width: 1023px) {

  .work .block__head .block__text {

    font-size: 12px;

    line-height: 1.8;

    padding: 20px 0 0px;

  }

}



.work .block__body--list {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

}



.work .block__body--list .block__list {

  width: 45.83%;

  padding: 50px 0;

  border-top: solid 1px #e7e7e7;

}



@media only screen and (max-width: 1023px) {

  .work .block__body--list .block__list {

    width: 100%;

    padding: 30px 0;

  }

}



.work .block__body--list .block__list--wide {

  width: 100%;

}



.work .block__body--list .block__list:nth-last-child(-n+2) {

  border-bottom: solid 1px #e7e7e7;

}



@media only screen and (max-width: 1023px) {

  .work .block__body--list .block__list:nth-last-child(-n+2) {

    border-bottom: none;

  }

}



@media only screen and (max-width: 1023px) {

  .work .block__body--list .block__list:last-child {

    border-bottom: solid 1px #e7e7e7;

  }

}



.work .block__body--list .block__list__ttl {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 24px;

  letter-spacing: 0.1em;

}



@media only screen and (max-width: 1023px) {

  .work .block__body--list .block__list__ttl {

    font-size: 18px;

    -webkit-font-feature-settings: "palt";

    font-feature-settings: "palt";

  }

}



.work .block__body--list .block__list__ttl::before {

  content: "";

  display: block;

  -webkit-box-flex: 0;

  -ms-flex: 0 0 70px;

  flex: 0 0 70px;

  width: 70px;

  height: 70px;

  margin-right: 25px;

}



@media only screen and (max-width: 1023px) {

  .work .block__body--list .block__list__ttl::before {

    -webkit-box-flex: 0;

    -ms-flex: 0 0 35px;

    flex: 0 0 35px;

    width: 35px;

    height: 35px;

    margin-right: 14px;

  }

}



.work .block__body--list .block__list__text {

  margin-top: 30px;

  font-size: 14px;

  line-height: 2.28;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

  letter-spacing: 0.05em;

  text-align: justify;

}



@media only screen and (max-width: 1023px) {

  .work .block__body--list .block__list__text {

    margin-top: 20px;

    font-size: 12px;

    line-height: 1.8;

  }

}



.work .block__body--list .block__list__text a.line {

  display: inline-block;

  margin-top: 10px;

  font-family: 'Noto Sans JP', sans-serif;

  font-weight: 500;

  position: relative;

}



.work .block__body--list .block__list__text a.line::after {

  content: "";

  display: block;

  height: 1px;

  width: 100%;

  position: absolute;

  bottom: 0;

  left: 0;

  background: #fff;

  -webkit-transform-origin: right;

  transform-origin: right;

  -webkit-transform: scale(0, 1);

  transform: scale(0, 1);

  -webkit-transition: -webkit-transform .6s;

  transition: -webkit-transform .6s;

  transition: transform .6s;

  transition: transform .6s, -webkit-transform .6s;

}



.work .block__body--list .block__list__text a.line:hover::after {

  -webkit-transform-origin: left;

  transform-origin: left;

  -webkit-transform: scale(1, 1);

  transform: scale(1, 1);

  -webkit-transition: -webkit-transform .4s;

  transition: -webkit-transform .4s;

  transition: transform .4s;

  transition: transform .4s, -webkit-transform .4s;

}



@media only screen and (max-width: 1023px) {

  .work .block__body--list .block__list__text a.line {

    font-family: 'Noto Sans JP', sans-serif;

    font-weight: 700;

  }

}



.work .block__body--list .block__list__text a.line::before {

  position: absolute;

  bottom: 0;

  left: 0;

  content: "";

  display: block;

  width: 100%;

  height: 1px;

  background-color: #1e1e1e;

}



.work .block__body--list .block__list__text .italic {

  font-style: italic;

}



.work .block__body--list .block__list__job {

  margin-top: 40px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

}



@media only screen and (max-width: 1023px) {

  .work .block__body--list .block__list__job {

    margin-top: 30px;

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

  }

}



.work .block__body--list .block__list__job dl {

  width: calc(33.33333% - 6px);

  padding: 50px 30px;

  background-color: #f5f4ed;

  border-top: solid 4px #bdb07b;

}



@media only screen and (max-width: 1023px) {

  .work .block__body--list .block__list__job dl {

    margin-bottom: 20px;

    width: 100%;

    padding: 25px 20px 20px;

    border-top: solid 3px #bdb07b;

  }

  .work .block__body--list .block__list__job dl:last-child {

    margin-bottom: 0;

  }

}



.work .block__body--list .block__list__job dl dt {

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 20px;

  letter-spacing: 0.1em;

  text-align: center;

  line-height: 1;

  margin-bottom: 30px;

}



@media only screen and (max-width: 1023px) {

  .work .block__body--list .block__list__job dl dt {

    margin-bottom: 20px;

    font-size: 15px;

  }

}



.work .block__body--list .block__list__job dl dd {

  font-size: 14px;

  line-height: 2.28;

  text-align: justify;

}



@media only screen and (max-width: 1023px) {

  .work .block__body--list .block__list__job dl dd {

    font-size: 12px;

    line-height: 1.8;

  }

}



.work .block__body__job {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

}



@media only screen and (max-width: 1023px) {

  .work .block__body__job {

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

  }

}



.work .block__body__job::after {

  content: "";

  display: block;

  width: calc(33.33333% - 6px);

}



.work .block__body__job dl {

  width: calc(33.33333% - 6px);

  position: relative;

  margin-bottom: 8px;

  padding: 35px 30px 50px;

  background-color: #f5f5f5;

}



@media only screen and (max-width: 1023px) {

  .work .block__body__job dl {

    width: 100%;

    margin-bottom: 5px;

    padding: 30px 20px;

  }

}



.work .block__body__job dl::before {

  position: absolute;

  left: 0;

  top: 0;

  content: "";

  width: 0;

  height: 0;

  border-style: solid;

  border-width: 19px 19px 0 0;

  border-color: #6aa0db transparent transparent transparent;

}



@media only screen and (max-width: 1023px) {

  .work .block__body__job dl::before {

    border-width: 13px 13px 0 0;

  }

}



.work .block__body__job dl dt {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  height: 60px;

  margin-bottom: 20px;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 20px;

  letter-spacing: 0.1em;

  text-align: center;

  line-height: 1.4;

}



@media only screen and (max-width: 1199px) {

  .work .block__body__job dl dt {

    font-size: 16px;

  }

}



@media only screen and (max-width: 1023px) {

  .work .block__body__job dl dt {

    height: auto;

    font-size: 15px;

  }

}



.work .block__body__job dl dt .small-pc-on {

  display: none;

}



@media only screen and (max-width: 1439px) {

  .work .block__body__job dl dt .small-pc-on {

    display: block;

  }

}



@media only screen and (max-width: 1023px) {

  .work .block__body__job dl dt .small-pc-on {

    display: none;

  }

}



.work .block__body__job dl dd {

  font-size: 14px;

  line-height: 2.28;

  letter-spacing: 0.05em;

  text-align: justify;

}



@media only screen and (max-width: 1023px) {

  .work .block__body__job dl dd {

    font-size: 12px;

    line-height: 1.8;

    letter-spacing: 0;

  }

}



.work .block--01 .block__list:nth-child(1) .block__list__ttl::before {

  background: url(../img/work_and_story/work/icon_01_01.svg) no-repeat center;

  background-size: cover;

}



.work .block--01 .block__list:nth-child(2) .block__list__ttl::before {

  background: url(../img/work_and_story/work/icon_01_02.svg) no-repeat center;

  background-size: cover;

}



.work .block--01 .block__list:nth-child(3) .block__list__ttl::before {

  background: url(../img/work_and_story/work/icon_01_03.svg) no-repeat center;

  background-size: cover;

}



.work .block--01 .block__list:nth-child(4) .block__list__ttl::before {

  background: url(../img/work_and_story/work/icon_01_04.svg) no-repeat center;

  background-size: cover;

}



.work .block--02 .block__list:nth-child(1) .block__list__ttl::before {

  background: url(../img/work_and_story/work/icon_02_01.svg) no-repeat center;

  background-size: cover;

}



.work .block--02 .block__list:nth-child(2) .block__list__ttl::before {

  background: url(../img/work_and_story/work/icon_02_02.svg) no-repeat center;

  background-size: cover;

}



.work .block--02 .block__list:nth-child(3) .block__list__ttl::before {

  background: url(../img/work_and_story/work/icon_02_03.svg) no-repeat center;

  background-size: cover;

}



.work .block--02 .block__list:nth-child(4) .block__list__ttl::before {

  background: url(../img/work_and_story/work/icon_02_04.svg) no-repeat center;

  background-size: cover;

}



.work .block--03 .block__list:nth-child(1) .block__list__ttl::before {

  background: url(../img/work_and_story/work/icon_03_01.svg) no-repeat center;

  background-size: cover;

}



.work .block--03 .block__list:nth-child(2) .block__list__ttl::before {

  background: url(../img/work_and_story/work/icon_03_02.svg) no-repeat center;

  background-size: cover;

}



.work .block--03 .block__list:nth-child(3) .block__list__ttl::before {

  background: url(../img/work_and_story/work/icon_03_03.svg) no-repeat center;

  background-size: cover;

}



.work .block--03 .block__list:nth-child(4) .block__list__ttl::before {

  background: url(../img/work_and_story/work/icon_03_04.svg) no-repeat center;

  background-size: cover;

}



.work .else-wrap {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  margin: 0 auto 100px;

  padding: 0 16.6vw;

}



@media only screen and (max-width: 1023px) {

  .work .else-wrap {

    max-width: inherit;

    min-width: inherit;

    padding: 0 8vw;

    margin: 0 auto 50px;

  }

}



@media only screen and (max-width: 767px) {

  .work .else-wrap {

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

    -ms-flex-direction: column;

    flex-direction: column;

    max-width: calc(100% - 16vw);

    min-width: inherit;

    padding: 0;

  }

}



.work .else-wrap .link {

  position: relative;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  width: 720px;

  height: 120px;

  border-top: solid 1px #1e1e1e;

  border-bottom: solid 1px #1e1e1e;

}



@media only screen and (max-width: 767px) {

  .work .else-wrap .link {

    width: 100%;

    height: 65px;

    border-bottom: none;

  }

  .work .else-wrap .link:last-child {

    border-bottom: solid 1px #1e1e1e;

  }

}



.work .else-wrap .link:hover {

  text-decoration: none;

}



@media only screen and (min-width: 1024px) {

  .work .else-wrap .link:hover::before {

    -webkit-animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

    animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;

  }

}



.work .else-wrap .link::before {

  position: absolute;

  right: 1px;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  content: "";

  display: block;

  width: 27px;

  height: 1px;

  background: url(../img/common/underline_black.png) no-repeat left bottom;

  background-size: 100% 1px;

  z-index: 2;

}



.work .else-wrap .link::after {

  position: absolute;

  right: 0;

  top: 50%;

  -webkit-transform: translateY(-50%);

  transform: translateY(-50%);

  content: "";

  display: block;

  width: 28px;

  height: 13px;

  background: url(../img/common/icon_link_black.svg) no-repeat center;

}



@media only screen and (max-width: 767px) {

  .work .else-wrap .link::after {

    width: 25px;

    height: 12px;

    background-size: contain;

  }

}



.work .else-wrap .link__ttl__jp {

  position: relative;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: end;

  -ms-flex-align: end;

  align-items: flex-end;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  text-align: center;

  line-height: 1;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 22px;

  letter-spacing: 0.1em;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

}



@media only screen and (max-width: 767px) {

  .work .else-wrap .link__ttl__jp {

    font-size: 15px;

  }

}



@media only screen and (max-width: 767px) {

  .work .else-wrap .link.sec-anim.view {

    -webkit-animation: none;

    animation: none;

    opacity: 1;

  }

}



.work .else-wrap a[target="_blank"].link .link__ttl__jp::after {

  content: "";

  display: block;

  width: 10px;

  height: 8px;

  margin-left: 10px;

  background: url(../img/common/icon_blank_sp.svg) no-repeat center;

  background-size: contain;

}



@media only screen and (max-width: 767px) {

  .work .else-wrap a[target="_blank"].link .link__ttl__jp::after {

    width: 12.5px;

    height: 9.5px;

    margin-left: 8px;

  }

}



.floatBnr02 {

    position: fixed;

    top: 200px;

    right: 20px;

    z-index: 190;

    opacity: 0;

}

.floatBnr02 ul li {

    margin-bottom: 5px;

}

ol, ul {

    list-style: none;

}

@media screen and (max-width: 991px){

   .floatBnr02 {

       position: fixed;

       top: auto;

       bottom: 0;

       right: auto;

       left: 0;

       z-index: 190;

       opacity: 0;

       width: 100vw;

   }

   .floatBnr02 ul {

       display: flex;

       justify-content: flex-start;

       align-items: flex-start;

   }

   .floatBnr02 ul li {

     margin-bottom: 0;

      flex-basis: 33.3%;

   }

	

	.bto-c {

    	width: auto!important;

	}

.conright ul {

    display: flex;

    justify-content: flex-end;

    flex-direction: column;

}



.news .newsBox .newsList2 ul li a {

    display: flex;

    /* justify-content: space-between; */

    align-items: center;

    flex-wrap: wrap;

    transition: .3s;

}



.nCate {

    display: flex;

    justify-content: center;

    align-content: center;

    align-items: center;

}



}

