@charset "UTF-8";
/*mediaquery*/
/* -------------------------------- 
Primary style
-------------------------------- */
*,
*::after,
*::before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

/*youtube*/
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }
  .youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important; }

/* -------------------------------- 
header footer components 
-------------------------------- */
body.home,
body.sub {
  /*youtube調整-1*/
  /*youtube調整-2*/
  /*slider*/
  /*footer*/
  /* sns */ }
  body.home .header,
  body.sub .header {
    padding: 25px 35px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 11;
    /*min-height: 95vh;*/
    /*humburger*/
    /*nav*/ }
    @media screen and (max-width: 600px) {
      body.home .header h1,
      body.sub .header h1 {
        width: 80px;
        margin: 0 auto 10px; } }
    body.home .header h1 img,
    body.sub .header h1 img {
      filter: brightness(0) invert(1) !important; }
    body.home .header p,
    body.sub .header p {
      color: #fff; }
      @media screen and (max-width: 600px) {
        body.home .header p,
        body.sub .header p {
          display: none; } }
    body.home .header ul.btns,
    body.sub .header ul.btns {
      position: absolute;
      right: 0;
      display: flex;
      justify-content: center;
      margin: 0 35px;
      bottom: 40px; }
      body.home .header ul.btns li,
      body.sub .header ul.btns li {
        margin-left: 10px; }
        @media screen and (max-width: 1200px) {
          body.home .header ul.btns li,
          body.sub .header ul.btns li {
            width: 33.333%;
            margin: 0 35px; } }
        body.home .header ul.btns li:first-child,
        body.sub .header ul.btns li:first-child {
          margin-left: 0; }
          @media screen and (max-width: 1200px) {
            body.home .header ul.btns li:first-child,
            body.sub .header ul.btns li:first-child {
              margin-left: 35px;
              margin-right: 0; } }
        body.home .header ul.btns li a,
        body.sub .header ul.btns li a {
          background: rgba(255, 255, 255, 0.5);
          display: block;
          font-size: .85em;
          text-align: center;
          padding: 20px; }
          body.home .header ul.btns li a:hover,
          body.sub .header ul.btns li a:hover {
            background: #fff;
            color: #222; }
        body.home .header ul.btns li a.ti_01,
        body.sub .header ul.btns li a.ti_01 {
          background: rgba(255, 255, 255, 0.5);
          display: block;
          font-size: .85em;
          text-align: center;
          padding: 20px;
          min-width: 126px;
          max-height: 54px; }
          body.home .header ul.btns li a.ti_01:hover,
          body.sub .header ul.btns li a.ti_01:hover {
            background: #fff;
            color: #222; }
        body.home .header ul.btns li a.ti_02,
        body.sub .header ul.btns li a.ti_02 {
          background: rgba(255, 255, 255, 0.5);
          display: block;
          font-size: .75em;
          text-align: center;
          padding: 14px 8px;
          min-width: 126px;
          min-height: 54px; }
          body.home .header ul.btns li a.ti_02:hover,
          body.sub .header ul.btns li a.ti_02:hover {
            background: #fff;
            color: #222; }
    body.home .header nav,
    body.sub .header nav {
      margin: 0 auto; }
    body.home .header .hamburger,
    body.home .header .hamburger span,
    body.sub .header .hamburger,
    body.sub .header .hamburger span {
      transition: all .4s;
      box-sizing: border-box; }
      @media screen and (max-width: 600px) {
        body.home .header .hamburger,
        body.home .header .hamburger span,
        body.sub .header .hamburger,
        body.sub .header .hamburger span {
          display: inline-block; } }
    body.home .header .hamburger,
    body.sub .header .hamburger {
      position: fixed;
      top: 0;
      left: 0;
      width: 80px;
      height: 80px;
      z-index: 999; }
      body.home .header .hamburger span,
      body.sub .header .hamburger span {
        position: absolute;
        left: 0;
        width: 30px;
        height: 2px;
        left: 25px;
        background-color: #fff;
        border-radius: 4px; }
        body.home .header .hamburger span:nth-of-type(1),
        body.sub .header .hamburger span:nth-of-type(1) {
          top: 27px; }
        body.home .header .hamburger span:nth-of-type(2),
        body.sub .header .hamburger span:nth-of-type(2) {
          top: 39px; }
        body.home .header .hamburger span:nth-of-type(3),
        body.sub .header .hamburger span:nth-of-type(3) {
          top: 51px; }
      body.home .header .hamburger.active,
      body.sub .header .hamburger.active {
        position: fixed; }
        body.home .header .hamburger.active span,
        body.sub .header .hamburger.active span {
          background-color: #fff; }
          body.home .header .hamburger.active span:nth-of-type(1),
          body.sub .header .hamburger.active span:nth-of-type(1) {
            -webkit-transform: translateY(12px) rotate(-45deg);
            transform: translateY(12px) rotate(-45deg); }
          body.home .header .hamburger.active span:nth-of-type(2),
          body.sub .header .hamburger.active span:nth-of-type(2) {
            left: 50%;
            opacity: 0;
            -webkit-animation: active-menu-bar02 .8s forwards;
            animation: active-menu-bar02 .8s forwards; }
          body.home .header .hamburger.active span:nth-of-type(3),
          body.sub .header .hamburger.active span:nth-of-type(3) {
            -webkit-transform: translateY(-12px) rotate(45deg);
            transform: translateY(-12px) rotate(45deg); }
@-webkit-keyframes active-menu-bar02 {
  100% {
    height: 0; } }
@keyframes active-menu-bar02 {
  100% {
    height: 0; } }
    body.home .header .navigation,
    body.sub .header .navigation {
      position: fixed;
      display: none;
      padding: 15px 20px;
      width: 100%;
      height: 100vh;
      top: 0;
      left: 0;
      overflow: auto;
      z-index: 998;
      background: rgba(0, 0, 0, 0.3); }
      body.home .header .navigation nav.gnav,
      body.sub .header .navigation nav.gnav {
        font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
        position: absolute;
        top: 0;
        left: 0;
        padding: 40px;
        width: 100%;
        max-width: 350px;
        height: 100%;
        background: #595959;
        overflow: auto; }
        body.home .header .navigation nav.gnav h5,
        body.sub .header .navigation nav.gnav h5 {
          margin: 0;
          font-size: 1em;
          color: #fff;
          display: block; }
        body.home .header .navigation nav.gnav a.spmenutitle,
        body.sub .header .navigation nav.gnav a.spmenutitle {
          width: 160px; }
        body.home .header .navigation nav.gnav ul.nav,
        body.sub .header .navigation nav.gnav ul.nav {
          margin: 1.5em 0 1em;
          padding: 0;
          text-align: left; }
          body.home .header .navigation nav.gnav ul.nav > li,
          body.sub .header .navigation nav.gnav ul.nav > li {
            margin: 0;
            padding: 1em 0;
            display: block;
            border-bottom: 1px solid #999; }
            body.home .header .navigation nav.gnav ul.nav > li a,
            body.sub .header .navigation nav.gnav ul.nav > li a {
              display: block;
              font-size: 1.15em;
              color: #fff; }
              body.home .header .navigation nav.gnav ul.nav > li a:hover,
              body.sub .header .navigation nav.gnav ul.nav > li a:hover {
                opacity: .85; }
            body.home .header .navigation nav.gnav ul.nav > li span,
            body.sub .header .navigation nav.gnav ul.nav > li span {
              display: inline-block;
              margin-bottom: .4em;
              color: #fff;
              opacity: .9; }
            body.home .header .navigation nav.gnav ul.nav > li ul,
            body.sub .header .navigation nav.gnav ul.nav > li ul {
              margin: .8em 0 1m; }
              body.home .header .navigation nav.gnav ul.nav > li ul > li a,
              body.sub .header .navigation nav.gnav ul.nav > li ul > li a {
                display: inline-block;
                font-size: .85em;
                text-indent: 1em;
                padding: .5em 0 .5em 1em;
                color: #fff; }
                body.home .header .navigation nav.gnav ul.nav > li ul > li a::before,
                body.sub .header .navigation nav.gnav ul.nav > li ul > li a::before {
                  content: '-';
                  margin-right: .5em; }
  body.home header.header,
  body.sub header.header {
    /*fix*/ }
    body.home header.header.is_fixed,
    body.sub header.header.is_fixed {
      box-shadow: 0px 5px 5px -5px rgba(0, 0, 0, 0.3);
      transition: .2s;
      background: #fff;
      min-height: auto;
      padding: 10px 35px; }
      body.home header.header.is_fixed h1,
      body.sub header.header.is_fixed h1 {
        margin: 0 auto 10px;
        width: 80px; }
        @media screen and (max-width: 600px) {
          body.home header.header.is_fixed h1,
          body.sub header.header.is_fixed h1 {
            margin: 0 auto; } }
        body.home header.header.is_fixed h1 img,
        body.sub header.header.is_fixed h1 img {
          filter: brightness(0) invert(0) !important; }
      body.home header.header.is_fixed p,
      body.sub header.header.is_fixed p {
        color: #231815; }
      body.home header.header.is_fixed nav,
      body.sub header.header.is_fixed nav {
        margin: 0 auto; }
      body.home header.header.is_fixed ul.btns,
      body.sub header.header.is_fixed ul.btns {
        position: absolute;
        right: 0;
        display: flex;
        justify-content: center;
        margin: 0 35px;
        bottom: 0;
        top: 12px; }
        @media screen and (max-width: 1200px) {
          body.home header.header.is_fixed ul.btns,
          body.sub header.header.is_fixed ul.btns {
            width: 100%;
            position: fixed;
            top: auto;
            bottom: 0;
            margin: 0;
            height: auto; } }
        body.home header.header.is_fixed ul.btns li,
        body.sub header.header.is_fixed ul.btns li {
          margin-left: 10px; }
          body.home header.header.is_fixed ul.btns li:first-child,
          body.sub header.header.is_fixed ul.btns li:first-child {
            margin-left: 0; }
          @media screen and (max-width: 1200px) {
            body.home header.header.is_fixed ul.btns li,
            body.sub header.header.is_fixed ul.btns li {
              width: 33.333%;
              margin: 0;
              padding: 0; } }
          body.home header.header.is_fixed ul.btns li a,
          body.sub header.header.is_fixed ul.btns li a {
            color: #fff;
            display: block;
            font-size: .85em;
            text-align: center;
            padding: 20px;
            background: #595959; }
            @media screen and (max-width: 1200px) {
              body.home header.header.is_fixed ul.btns li a,
              body.sub header.header.is_fixed ul.btns li a {
                padding: 20px;
                line-height: 1.5; } }
            body.home header.header.is_fixed ul.btns li a:hover,
            body.sub header.header.is_fixed ul.btns li a:hover {
              color: #fff;
              background: #595959; }
              @media screen and (max-width: 1200px) {
                body.home header.header.is_fixed ul.btns li a:hover,
                body.sub header.header.is_fixed ul.btns li a:hover {
                  background: #727272;
                  opacity: 1; } }
          body.home header.header.is_fixed ul.btns li a.ti_01,
          body.sub header.header.is_fixed ul.btns li a.ti_01 {
            color: #fff;
            display: block;
            font-size: .85em;
            text-align: center;
            padding: 20px;
            background: #595959;
            min-width: 126px;
            max-height: 54px; }
            @media screen and (max-width: 1200px) {
              body.home header.header.is_fixed ul.btns li a.ti_01,
              body.sub header.header.is_fixed ul.btns li a.ti_01 {
                padding: 20px;
                line-height: 1.5; } }
            body.home header.header.is_fixed ul.btns li a.ti_01:hover,
            body.sub header.header.is_fixed ul.btns li a.ti_01:hover {
              color: #fff;
              background: #595959; }
              @media screen and (max-width: 1200px) {
                body.home header.header.is_fixed ul.btns li a.ti_01:hover,
                body.sub header.header.is_fixed ul.btns li a.ti_01:hover {
                  background: #727272;
                  opacity: 1; } }
          body.home header.header.is_fixed ul.btns li a.ti_02,
          body.sub header.header.is_fixed ul.btns li a.ti_02 {
            color: #fff;
            display: block;
            font-size: .75em;
            text-align: center;
            padding: 14px 8px;
            background: #595959;
            min-width: 126px;
            min-height: 54px; }
            @media screen and (max-width: 1200px) {
              body.home header.header.is_fixed ul.btns li a.ti_02,
              body.sub header.header.is_fixed ul.btns li a.ti_02 {
                padding: 11px;
                line-height: 1.5; } }
            body.home header.header.is_fixed ul.btns li a.ti_02:hover,
            body.sub header.header.is_fixed ul.btns li a.ti_02:hover {
              color: #fff;
              background: #595959; }
              @media screen and (max-width: 1200px) {
                body.home header.header.is_fixed ul.btns li a.ti_02:hover,
                body.sub header.header.is_fixed ul.btns li a.ti_02:hover {
                  background: #727272;
                  opacity: 1; } }
      body.home header.header.is_fixed .hamburger span,
      body.sub header.header.is_fixed .hamburger span {
        background-color: #595959; }
        body.home header.header.is_fixed .hamburger span:nth-of-type(1),
        body.sub header.header.is_fixed .hamburger span:nth-of-type(1) {
          top: 27px; }
          @media screen and (max-width: 600px) {
            body.home header.header.is_fixed .hamburger span:nth-of-type(1),
            body.sub header.header.is_fixed .hamburger span:nth-of-type(1) {
              top: 16px; } }
        body.home header.header.is_fixed .hamburger span:nth-of-type(2),
        body.sub header.header.is_fixed .hamburger span:nth-of-type(2) {
          top: 39px; }
          @media screen and (max-width: 600px) {
            body.home header.header.is_fixed .hamburger span:nth-of-type(2),
            body.sub header.header.is_fixed .hamburger span:nth-of-type(2) {
              top: 28px; } }
        body.home header.header.is_fixed .hamburger span:nth-of-type(3),
        body.sub header.header.is_fixed .hamburger span:nth-of-type(3) {
          top: 51px; }
          @media screen and (max-width: 600px) {
            body.home header.header.is_fixed .hamburger span:nth-of-type(3),
            body.sub header.header.is_fixed .hamburger span:nth-of-type(3) {
              top: 40px; } }
      body.home header.header.is_fixed .hamburger.active span,
      body.sub header.header.is_fixed .hamburger.active span {
        background-color: #fff; }
  body.home #videoWrap,
  body.sub #videoWrap {
    position: relative;
    display: block; }
    @media screen and (max-width: 600px) {
      body.home #videoWrap,
      body.sub #videoWrap {
        height: 360px; } }
    body.home #videoWrap h1.page_title,
    body.sub #videoWrap h1.page_title {
      font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
      font-weight: 300;
      font-size: 2rem;
      text-align: center;
      color: #fff;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      width: 90%;
      z-index: 2;
      margin: 0 auto; }
    body.home #videoWrap #video_player,
    body.sub #videoWrap #video_player {
      position: relative;
      width: 100%;
      height: 95vh;
      object-fit: cover; }
      @media screen and (max-width: 600px) {
        body.home #videoWrap #video_player,
        body.sub #videoWrap #video_player {
          height: 360px; } }
  body.home #ytPlayerWrap,
  body.sub #ytPlayerWrap {
    position: relative;
    height: 95vh;
    width: 100%;
    background: url(../img/index/top_yt.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    overflow: hidden; }
    @media screen and (max-width: 600px) {
      body.home #ytPlayerWrap,
      body.sub #ytPlayerWrap {
        padding-top: 56.25%;
        height: auto; } }
    body.home #ytPlayerWrap #ytplayer,
    body.sub #ytPlayerWrap #ytplayer {
      position: relative;
      width: 100%;
      height: 100%;
      min-height: 100%;
      z-index: -2; }
  body.home .swiper-container,
  body.sub .swiper-container {
    width: 100%;
    height: 95vh; }
    @media screen and (max-width: 1024px) {
      body.home .swiper-container,
      body.sub .swiper-container {
        height: 50vh; } }
    @media screen and (max-width: 600px) {
      body.home .swiper-container,
      body.sub .swiper-container {
        height: 30vh; } }
    body.home .swiper-container .swiper-wrapper .swiper-slide,
    body.sub .swiper-container .swiper-wrapper .swiper-slide {
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center; }
      body.home .swiper-container .swiper-wrapper .swiper-slide.spblock img,
      body.sub .swiper-container .swiper-wrapper .swiper-slide.spblock img {
        aspect-ratio: 1; }
      body.home .swiper-container .swiper-wrapper .swiper-slide img,
      body.sub .swiper-container .swiper-wrapper .swiper-slide img {
        min-height: 100vh;
        width: 100%;
        max-width: 100%;
        object-fit: cover;
        height: 100%; }
        @media screen and (max-width: 1024px) {
          body.home .swiper-container .swiper-wrapper .swiper-slide img,
          body.sub .swiper-container .swiper-wrapper .swiper-slide img {
            min-height: auto; } }
      body.home .swiper-container .swiper-wrapper .swiper-slide .pc video,
      body.sub .swiper-container .swiper-wrapper .swiper-slide .pc video {
        width: 100%;
        vertical-align: bottom; }
      @media screen and (max-width: 1024px) {
        body.home .swiper-container .swiper-wrapper .swiper-slide .pc,
        body.sub .swiper-container .swiper-wrapper .swiper-slide .pc {
          display: none; } }
      body.home .swiper-container .swiper-wrapper .swiper-slide .sp,
      body.sub .swiper-container .swiper-wrapper .swiper-slide .sp {
        display: none; }
        @media screen and (max-width: 1024px) {
          body.home .swiper-container .swiper-wrapper .swiper-slide .sp,
          body.sub .swiper-container .swiper-wrapper .swiper-slide .sp {
            display: block; } }
  body.home footer div.footer_wrap,
  body.sub footer div.footer_wrap {
    background-image: url(../img/bg.jpg);
    font-size: .9em;
    padding-bottom: 50px; }
    @media screen and (max-width: 600px) {
      body.home footer div.footer_wrap,
      body.sub footer div.footer_wrap {
        padding-top: 30px;
        padding-bottom: 60px; } }
    body.home footer div.footer_wrap div.inner,
    body.sub footer div.footer_wrap div.inner {
      display: flex;
      gap: 40px 60px;
      padding-bottom: 0; }
      @media screen and (max-width: 600px) {
        body.home footer div.footer_wrap div.inner,
        body.sub footer div.footer_wrap div.inner {
          display: block; } }
      body.home footer div.footer_wrap div.inner div.left,
      body.home footer div.footer_wrap div.inner div.right,
      body.sub footer div.footer_wrap div.inner div.left,
      body.sub footer div.footer_wrap div.inner div.right {
        width: 50%; }
        @media screen and (max-width: 600px) {
          body.home footer div.footer_wrap div.inner div.left,
          body.home footer div.footer_wrap div.inner div.right,
          body.sub footer div.footer_wrap div.inner div.left,
          body.sub footer div.footer_wrap div.inner div.right {
            width: 100%; } }
      body.home footer div.footer_wrap div.inner div.left p,
      body.sub footer div.footer_wrap div.inner div.left p {
        text-align: center; }
        @media screen and (max-width: 600px) {
          body.home footer div.footer_wrap div.inner div.left p,
          body.sub footer div.footer_wrap div.inner div.left p {
            padding: 0 0 3em; } }
      body.home footer div.footer_wrap div.inner div.right div.title_wrap h3,
      body.sub footer div.footer_wrap div.inner div.right div.title_wrap h3 {
        border-bottom: 1px solid #666;
        padding: .5em 1em;
        margin-bottom: 1.5em; }
        body.home footer div.footer_wrap div.inner div.right div.title_wrap h3 img,
        body.sub footer div.footer_wrap div.inner div.right div.title_wrap h3 img {
          height: 22px; }
          @media screen and (max-width: 600px) {
            body.home footer div.footer_wrap div.inner div.right div.title_wrap h3 img,
            body.sub footer div.footer_wrap div.inner div.right div.title_wrap h3 img {
              height: 18px; } }
      body.home footer div.footer_wrap div.inner div.right ul.contact,
      body.home footer div.footer_wrap div.inner div.right ul.info,
      body.sub footer div.footer_wrap div.inner div.right ul.contact,
      body.sub footer div.footer_wrap div.inner div.right ul.info {
        margin: 1.5em 0; }
      body.home footer div.footer_wrap div.inner div.right ul.contact li,
      body.sub footer div.footer_wrap div.inner div.right ul.contact li {
        padding: 1em; }
        body.home footer div.footer_wrap div.inner div.right ul.contact li span,
        body.sub footer div.footer_wrap div.inner div.right ul.contact li span {
          border: 1px solid #666;
          padding: .5em 1.5em; }
      body.home footer div.footer_wrap div.inner div.right ul.info li,
      body.sub footer div.footer_wrap div.inner div.right ul.info li {
        padding: .8em; }
  body.home section.sns img,
  body.sub section.sns img {
    vertical-align: middle;
    margin-right: auto;
    margin-left: auto; }

/* -------------------------------- 
Main components 
-------------------------------- */
@media screen and (max-width: 1366px) {
  body.home .header ul.btns {
    display: none; } }
body.home div.main {
  /*visual*/
  /*NEWS*/
  /*BRIDAL*/
  /*topics*/
  /*prws*/
  /*JOURNAL*/
  /*Instagram・VOICE*/ }
  body.home div.main h3 img {
    margin-bottom: 1.5em; }
  body.home div.main div.image_mouseover {
    overflow: hidden;
    width: 100%;
    height: 100%; }
    body.home div.main div.image_mouseover img {
      display: block;
      transition: all 0.8s ease-in-out; }
      body.home div.main div.image_mouseover img:hover {
        transform: scale(1.15); }
  body.home div.main section.bnr {
    padding: 0; }
    @media screen and (max-width: 600px) {
      body.home div.main section.bnr {
        padding: 0; } }
    body.home div.main section.bnr div.inner {
      padding: 60px 30px 0; }
      @media screen and (max-width: 600px) {
        body.home div.main section.bnr div.inner {
          padding: 30px 30px 0; } }
      body.home div.main section.bnr div.inner ul {
        display: flex;
        /*justify-content: flex-start;*/
        justify-content: center;
        flex-wrap: wrap;
        gap: 1.5rem; }
        @media screen and (max-width: 600px) {
          body.home div.main section.bnr div.inner ul {
            display: block; } }
        body.home div.main section.bnr div.inner ul li {
          width: calc(33.33% - 1.0rem);
          /*width: calc(33.33% - .5rem);*/ }
          @media screen and (max-width: 1024px) {
            body.home div.main section.bnr div.inner ul li {
              width: calc(46% - 1.0rem); } }
          @media screen and (max-width: 600px) {
            body.home div.main section.bnr div.inner ul li {
              width: 100%;
              /*max-width: 240px;*/
              margin: 0 auto 10px; } }
          body.home div.main section.bnr div.inner ul li a {
            display: block;
            background: #fff; }
            body.home div.main section.bnr div.inner ul li a img {
              width: 100%;
              vertical-align: bottom; }
  body.home div.main div.bnr_top {
    padding-top: 60px;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    /*display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.0rem;*/ }
    @media screen and (max-width: 1024px) {
      body.home div.main div.bnr_top {
        padding: 30px 30px 0;
        gap: 1.5rem; } }
    @media screen and (max-width: 600px) {
      body.home div.main div.bnr_top {
        padding: 30px 30px 10px;
        grid-template-columns: 1fr;
        gap: 0; } }
    body.home div.main div.bnr_top a {
      display: grid;
      justify-items: center;
      align-items: center;
      /*background: #f5e7ad;
      color: #999;
      padding: 1.25rem;*/
      margin: 0 1.0rem;
      font-weight: bold; }
      @media screen and (max-width: 600px) {
        body.home div.main div.bnr_top a {
          font-size: .9rem;
          padding: 1.0rem;
          letter-spacing: 0.03em; }
          body.home div.main div.bnr_top a:first-of-type {
            margin-bottom: .75rem; } }
      body.home div.main div.bnr_top a img {
        width: auto;
        height: 53px; }
  body.home div.main section.donyu p {
    font-size: 1.2em; }
    @media screen and (max-width: 600px) {
      body.home div.main section.donyu p {
        font-size: 1.1em;
        text-align: center; } }
  body.home div.main section.main-visual div.inner div.area1,
  body.home div.main section.main-visual div.inner div.area2 {
    display: flex;
    flex-wrap: wrap;
    position: relative; }
    @media screen and (max-width: 600px) {
      body.home div.main section.main-visual div.inner div.area1,
      body.home div.main section.main-visual div.inner div.area2 {
        display: block; } }
    body.home div.main section.main-visual div.inner div.area1 p,
    body.home div.main section.main-visual div.inner div.area2 p {
      position: absolute;
      top: 20%;
      font-size: 1.2em;
      line-height: 2.4;
      margin-left: 2em; }
      @media screen and (max-width: 600px) {
        body.home div.main section.main-visual div.inner div.area1 p,
        body.home div.main section.main-visual div.inner div.area2 p {
          position: static;
          top: 0;
          margin: 1em 2em 0;
          font-size: 1.0em;
          line-height: 1.8; } }
  body.home div.main section.main-visual div.inner div.area1 {
    padding-bottom: 60px; }
    @media screen and (max-width: 600px) {
      body.home div.main section.main-visual div.inner div.area1 {
        padding-bottom: 40px; } }
    body.home div.main section.main-visual div.inner div.area1 div.left {
      width: 65%; }
      @media screen and (max-width: 600px) {
        body.home div.main section.main-visual div.inner div.area1 div.left {
          width: 100%; } }
    body.home div.main section.main-visual div.inner div.area1 div.right {
      width: 35%; }
      @media screen and (max-width: 600px) {
        body.home div.main section.main-visual div.inner div.area1 div.right {
          width: 100%; } }
      body.home div.main section.main-visual div.inner div.area1 div.right img {
        position: absolute;
        top: 8.125rem;
        left: 41.5625rem; }
        @media screen and (max-width: 600px) {
          body.home div.main section.main-visual div.inner div.area1 div.right img {
            left: 0;
            top: 12.375rem; } }
  body.home div.main section.main-visual div.inner div.area2 {
    padding-top: 60px; }
    @media screen and (max-width: 600px) {
      body.home div.main section.main-visual div.inner div.area2 {
        padding-top: 0;
        padding-bottom: 20px; } }
    body.home div.main section.main-visual div.inner div.area2 div.left {
      width: 35%; }
      @media screen and (max-width: 600px) {
        body.home div.main section.main-visual div.inner div.area2 div.left {
          width: 100%; } }
      body.home div.main section.main-visual div.inner div.area2 div.left img {
        position: absolute;
        top: 8.125rem;
        left: 4.6875rem; }
        @media screen and (max-width: 600px) {
          body.home div.main section.main-visual div.inner div.area2 div.left img {
            left: 0;
            top: 15.0rem;
            width: 91.5%; } }
    body.home div.main section.main-visual div.inner div.area2 div.right {
      width: 65%;
      order: 2; }
      @media screen and (max-width: 600px) {
        body.home div.main section.main-visual div.inner div.area2 div.right {
          width: 100%; } }
  @media screen and (max-width: 600px) {
    body.home div.main section.news {
      /*margin-top: 9.375rem;*/ } }
  body.home div.main section.news div.news_area {
    background: rgba(162, 162, 162, 0.1);
    padding: 60px; }
    @media screen and (max-width: 600px) {
      body.home div.main section.news div.news_area {
        padding: 30px 30px 50px;
        margin-top: .5em; } }
    body.home div.main section.news div.news_area .btn_wrap {
      margin: 50px 0 0; }
  @media screen and (max-width: 600px) {
    body.home div.main section.bridal {
      margin: 30px 0; } }
  body.home div.main section.bridal div.custom,
  body.home div.main section.bridal div.collection,
  body.home div.main section.bridal div.order {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 40px; }
    @media screen and (max-width: 600px) {
      body.home div.main section.bridal div.custom,
      body.home div.main section.bridal div.collection,
      body.home div.main section.bridal div.order {
        display: block; } }
    body.home div.main section.bridal div.custom div.left,
    body.home div.main section.bridal div.collection div.left,
    body.home div.main section.bridal div.order div.left {
      width: 65%;
      display: block;
      position: -webkit-sticky;
      position: sticky;
      top: 0;
      left: 0;
      overflow: hidden; }
      @media screen and (max-width: 600px) {
        body.home div.main section.bridal div.custom div.left,
        body.home div.main section.bridal div.collection div.left,
        body.home div.main section.bridal div.order div.left {
          position: relative;
          width: 100%; } }
      body.home div.main section.bridal div.custom div.left em,
      body.home div.main section.bridal div.collection div.left em,
      body.home div.main section.bridal div.order div.left em {
        color: #fff;
        font-size: 1.85em;
        font-weight: 400;
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); }
        @media screen and (max-width: 600px) {
          body.home div.main section.bridal div.custom div.left em,
          body.home div.main section.bridal div.collection div.left em,
          body.home div.main section.bridal div.order div.left em {
            text-align: center; } }
    body.home div.main section.bridal div.custom div.right,
    body.home div.main section.bridal div.collection div.right,
    body.home div.main section.bridal div.order div.right {
      width: 35%;
      background: rgba(162, 162, 162, 0.1);
      position: -webkit-sticky;
      position: sticky;
      top: 0;
      left: 0; }
      @media screen and (max-width: 600px) {
        body.home div.main section.bridal div.custom div.right,
        body.home div.main section.bridal div.collection div.right,
        body.home div.main section.bridal div.order div.right {
          position: sticky;
          top: 0;
          left: 0;
          display: block;
          width: 100%;
          height: 20em; } }
      body.home div.main section.bridal div.custom div.right div.txt,
      body.home div.main section.bridal div.collection div.right div.txt,
      body.home div.main section.bridal div.order div.right div.txt {
        position: absolute;
        top: 56%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); }
        @media screen and (max-width: 600px) {
          body.home div.main section.bridal div.custom div.right div.txt .btn_wrap,
          body.home div.main section.bridal div.collection div.right div.txt .btn_wrap,
          body.home div.main section.bridal div.order div.right div.txt .btn_wrap {
            margin: 40px 0; } }
        body.home div.main section.bridal div.custom div.right div.txt p,
        body.home div.main section.bridal div.collection div.right div.txt p,
        body.home div.main section.bridal div.order div.right div.txt p {
          font-size: 1.1em;
          line-height: 1.6; }
          @media screen and (max-width: 600px) {
            body.home div.main section.bridal div.custom div.right div.txt p,
            body.home div.main section.bridal div.collection div.right div.txt p,
            body.home div.main section.bridal div.order div.right div.txt p {
              min-height: 5em; } }
        @media screen and (max-width: 600px) {
          body.home div.main section.bridal div.custom div.right div.txt,
          body.home div.main section.bridal div.collection div.right div.txt,
          body.home div.main section.bridal div.order div.right div.txt {
            display: block;
            top: 11.5em; } }
  @media screen and (max-width: 600px) {
    body.home div.main section.bridal div.order {
      padding-bottom: 0; } }
  body.home div.main section.topics div.inner {
    padding: 0 30px; }
  @media screen and (max-width: 600px) {
    body.home div.main section.topics {
      /*margin-top: 20rem;*/ } }
  body.home div.main section.topics div.title_wrap {
    background-image: url(../img/border.png);
    background-repeat: no-repeat;
    background-position: center;
    height: 30px;
    text-align: center; }
    body.home div.main section.topics div.title_wrap h3 {
      display: inline-block;
      padding: 0 16px;
      background: #fff; }
      body.home div.main section.topics div.title_wrap h3::before, body.home div.main section.topics div.title_wrap h3::after {
        content: none; }
  body.home div.main section.topics ul.ul_topics {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 60px 0 20px; }
    @media screen and (max-width: 600px) {
      body.home div.main section.topics ul.ul_topics {
        /*display: block;*/
        margin: 30px 0 20px; } }
    body.home div.main section.topics ul.ul_topics li {
      width: calc(33.3333% - 40px);
      margin-right: 3.75rem;
      margin-bottom: 30px; }
      body.home div.main section.topics ul.ul_topics li:nth-child(3n) {
        margin-right: 0; }
      @media screen and (max-width: 600px) {
        body.home div.main section.topics ul.ul_topics li {
          width: calc(50% - 20px);
          margin-right: 1.75rem;
          margin-bottom: 15px; }
          body.home div.main section.topics ul.ul_topics li:nth-child(2n) {
            margin-right: 0; }
          body.home div.main section.topics ul.ul_topics li:nth-child(3) {
            margin-right: 1.75rem; } }
      body.home div.main section.topics ul.ul_topics li img {
        width: 100%;
        max-width: 100%; }
      body.home div.main section.topics ul.ul_topics li div.img {
        position: sticky;
        top: 0;
        left: 0; }
        body.home div.main section.topics ul.ul_topics li div.img a {
          display: block;
          border: 0; }
          body.home div.main section.topics ul.ul_topics li div.img a img {
            display: block;
            width: 100%;
            vertical-align: bottom; }
      body.home div.main section.topics ul.ul_topics li div.txt {
        padding: .8em;
        text-align: center;
        line-height: 1.5; }
        @media screen and (max-width: 600px) {
          body.home div.main section.topics ul.ul_topics li div.txt {
            padding: .8em 0;
            font-size: .8em; } }
        body.home div.main section.topics ul.ul_topics li div.txt div.title a {
          font-weight: bold;
          line-height: 1.5; }
  body.home div.main section.prws {
    background: #f5e7ad;
    /*div.bnr_wrap {
    	display: flex;
    	justify-content: center;
    	margin: 0 auto;
    	width: 70%;
    	@include mq(sm) {
    		width: 100%;
    	}
    	a {
    		img {
    			width: 100%;
    			height: auto;
    			@include mq(sm) {
    				width: auto;
    			}
    		}
    	}
    }*/ }
    @media screen and (max-width: 600px) {
      body.home div.main section.prws div.inner {
        padding: 30px; } }
    body.home div.main section.prws div.inner div.title_wrap {
      text-align: center; }
      @media screen and (max-width: 600px) {
        body.home div.main section.prws div.inner div.title_wrap {
          margin-bottom: 1.5em; } }
    body.home div.main section.prws div.inner div.bnr_wrap {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 5.0rem; }
      @media screen and (max-width: 1024px) {
        body.home div.main section.prws div.inner div.bnr_wrap {
          gap: 2.5rem; } }
      @media screen and (max-width: 600px) {
        body.home div.main section.prws div.inner div.bnr_wrap {
          grid-template-columns: 1fr;
          gap: 0; } }
      body.home div.main section.prws div.inner div.bnr_wrap div.bnr_box {
        display: grid;
        justify-items: center;
        align-items: center; }
        body.home div.main section.prws div.inner div.bnr_wrap div.bnr_box a img {
          /*width: 500px;
          height: 500px;*/
          width: max(47.41vw, 18.75rem);
          height: auto; }
        body.home div.main section.prws div.inner div.bnr_wrap div.bnr_box p.com {
          margin-top: 1.25rem;
          /*font-size: max(1.00vw, 1.0em);*/
          text-align: center;
          line-height: 1.5; }
          @media screen and (max-width: 600px) {
            body.home div.main section.prws div.inner div.bnr_wrap div.bnr_box p.com {
              margin-top: .75rem; } }
        @media screen and (max-width: 600px) {
          body.home div.main section.prws div.inner div.bnr_wrap div.bnr_box:first-of-type {
            margin-bottom: 2.0rem; } }
  body.home div.main section.journal {
    /*flex*/ }
    @media screen and (max-width: 600px) {
      body.home div.main section.journal .title_wrap {
        margin-bottom: 1.5em; } }
    body.home div.main section.journal ul.ul_flex {
      display: flex;
      flex-wrap: wrap;
      /*@include mq(sm) {
      	display: block;
      }*/ }
      body.home div.main section.journal ul.ul_flex li {
        width: calc(33.3333% - 27px);
        margin-right: 40px;
        /*@include mq(sm) {
        	width: 100%;
        	margin-right: 0;
        }*/ }
        @media screen and (max-width: 600px) {
          body.home div.main section.journal ul.ul_flex li {
            width: calc(33.3333% - 7px);
            margin-right: 10px; } }
        body.home div.main section.journal ul.ul_flex li:nth-child(3n) {
          margin-right: 0; }
        body.home div.main section.journal ul.ul_flex li div.img {
          position: relative;
          top: 0;
          left: 0; }
          body.home div.main section.journal ul.ul_flex li div.img a {
            display: block; }
            body.home div.main section.journal ul.ul_flex li div.img a img {
              display: block;
              width: 100%;
              vertical-align: bottom;
              height: 485px;
              object-fit: cover; }
              @media screen and (max-width: 600px) {
                body.home div.main section.journal ul.ul_flex li div.img a img {
                  height: 148px; } }
            body.home div.main section.journal ul.ul_flex li div.img a span.title {
              position: absolute;
              bottom: 1.5em;
              left: 1.5em;
              color: #fff; }
              @media screen and (max-width: 600px) {
                body.home div.main section.journal ul.ul_flex li div.img a span.title {
                  display: none; } }
        body.home div.main section.journal ul.ul_flex li div.txt {
          margin: .75em 0; }
          @media screen and (max-width: 600px) {
            body.home div.main section.journal ul.ul_flex li div.txt {
              display: none; } }
          body.home div.main section.journal ul.ul_flex li div.txt div.title a {
            font-weight: bold;
            line-height: 1.5; }
          body.home div.main section.journal ul.ul_flex li div.txt div.date {
            padding-top: .75em; }
            body.home div.main section.journal ul.ul_flex li div.txt div.date time {
              font-size: .9em; }
  body.home div.main section.inst-voice div.inner {
    display: flex;
    gap: 40px 60px; }
    @media screen and (max-width: 600px) {
      body.home div.main section.inst-voice div.inner {
        display: block; } }
    body.home div.main section.inst-voice div.inner .title_wrap {
      position: relative; }
      @media screen and (max-width: 600px) {
        body.home div.main section.inst-voice div.inner .title_wrap {
          margin-bottom: 1.5em; } }
      body.home div.main section.inst-voice div.inner .title_wrap h3 img {
        display: inline-block; }
      body.home div.main section.inst-voice div.inner .title_wrap span {
        position: absolute;
        margin-left: 40px;
        display: inline-block; }
        body.home div.main section.inst-voice div.inner .title_wrap span img {
          height: 30px; }
    body.home div.main section.inst-voice div.inner div.left {
      width: 60%; }
      @media screen and (max-width: 600px) {
        body.home div.main section.inst-voice div.inner div.left {
          width: 100%; } }
      body.home div.main section.inst-voice div.inner div.left div.instagram_wrap {
        margin: 0 auto !important; }
        body.home div.main section.inst-voice div.inner div.left div.instagram_wrap div#sb_instagram div#sbi_images {
          padding: 0 !important; }
          body.home div.main section.inst-voice div.inner div.left div.instagram_wrap div#sb_instagram div#sbi_images .sbi_item {
            padding: 0 2em 2.2em 0 !important; }
            @media screen and (max-width: 600px) {
              body.home div.main section.inst-voice div.inner div.left div.instagram_wrap div#sb_instagram div#sbi_images .sbi_item {
                padding: 0 1em 2em !important; } }
        body.home div.main section.inst-voice div.inner div.left div.instagram_wrap div#sb_instagram div#sbi_load .sbi_load_btn {
          margin-top: 1.5em;
          vertical-align: baseline;
          font-size: 15px;
          background: #fff;
          border: 1px solid #222 !important;
          border-radius: 0;
          padding: .8em 2em; }
          body.home div.main section.inst-voice div.inner div.left div.instagram_wrap div#sb_instagram div#sbi_load .sbi_load_btn:hover {
            color: #fff !important;
            background: #222 !important;
            opacity: 1 !important; }
          @media screen and (max-width: 600px) {
            body.home div.main section.inst-voice div.inner div.left div.instagram_wrap div#sb_instagram div#sbi_load .sbi_load_btn {
              padding: 0.6em 1.3em;
              font-size: 13px; } }
    body.home div.main section.inst-voice div.inner div.right {
      width: 40%; }
      @media screen and (max-width: 600px) {
        body.home div.main section.inst-voice div.inner div.right {
          width: 100%;
          margin-top: 80px; } }
      body.home div.main section.inst-voice div.inner div.right div.base {
        display: block;
        position: -webkit-sticky;
        position: sticky;
        overflow: hidden; }
        @media screen and (max-width: 600px) {
          body.home div.main section.inst-voice div.inner div.right div.base {
            height: 90vw; } }
        body.home div.main section.inst-voice div.inner div.right div.base a img {
          width: 100%; }
          @media screen and (max-width: 600px) {
            body.home div.main section.inst-voice div.inner div.right div.base a img {
              object-position: 0 -50px; } }
        body.home div.main section.inst-voice div.inner div.right div.base a:hover {
          opacity: .85;
          color: #222; }
        body.home div.main section.inst-voice div.inner div.right div.base em {
          position: absolute;
          top: 50%;
          left: 50%;
          -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
          text-transform: uppercase; }
          body.home div.main section.inst-voice div.inner div.right div.base em p {
            font-size: 1.25em;
            line-height: 1.8em;
            text-align: center; }
            @media screen and (max-width: 600px) {
              body.home div.main section.inst-voice div.inner div.right div.base em p {
                font-size: 1.1em; } }
          body.home div.main section.inst-voice div.inner div.right div.base em img:hover {
            transform: none; }
        body.home div.main section.inst-voice div.inner div.right div.base img {
          display: block;
          transition: all 0.8s ease-in-out; }
          body.home div.main section.inst-voice div.inner div.right div.base img:hover {
            transform: scale(1.15); }

/* -------------------------------- 
sub components 
--------------------------------- */
@media screen and (max-width: 1200px) {
  body.sub .header ul.btns {
    display: none; } }
body.sub div.main section#slider,
body.sub div.main section#fullscreen {
  width: 100%;
  height: 95vh;
  position: relative;
  background-size: cover;
  background-position: center center;
  overflow: hidden; }
  @media screen and (max-width: 600px) {
    body.sub div.main section#slider,
    body.sub div.main section#fullscreen {
      height: 100vw; } }
  body.sub div.main section#slider h1.page_title,
  body.sub div.main section#fullscreen h1.page_title {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: 300;
    font-size: 2rem;
    text-align: center;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 90%;
    z-index: 2;
    margin: 0 auto; }
  body.sub div.main section#slider img,
  body.sub div.main section#fullscreen img {
    width: 100%; }
    @media screen and (max-width: 1024px) {
      body.sub div.main section#slider img,
      body.sub div.main section#fullscreen img {
        min-height: 100vh; } }
    @media screen and (max-width: 600px) {
      body.sub div.main section#slider img,
      body.sub div.main section#fullscreen img {
        min-height: auto; } }
body.sub div.main h2 img {
  margin: 0 auto; }
body.sub div.main h3 {
  font-size: 1.4em;
  /*font-weight: bold;*/
  text-align: center;
  letter-spacing: .1em; }
body.sub div.main h4 img {
  margin: 0 auto; }
body.sub div.main section.topics div.title_wrap,
body.sub div.main section.staff div.title_wrap {
  background-image: url(../img/border.png);
  background-repeat: no-repeat;
  background-position: center;
  height: 30px;
  text-align: center; }
  body.sub div.main section.topics div.title_wrap h3,
  body.sub div.main section.staff div.title_wrap h3 {
    display: inline-block;
    padding: 0 16px;
    background: #fff; }
    body.sub div.main section.topics div.title_wrap h3::before, body.sub div.main section.topics div.title_wrap h3::after,
    body.sub div.main section.staff div.title_wrap h3::before,
    body.sub div.main section.staff div.title_wrap h3::after {
      content: none; }
body.sub div.main section.topics div.inner {
  padding: 0 30px; }
@media screen and (max-width: 600px) {
  body.sub div.main section.topics {
    /*margin-top: 20rem;*/ } }
body.sub div.main section.cmf div.title_wrap {
  background-image: url(../img/border.png);
  background-repeat: no-repeat;
  background-position: center;
  height: 30px;
  text-align: center; }
  body.sub div.main section.cmf div.title_wrap h2 {
    display: inline-block;
    padding: 0 16px;
    background: #fff; }
body.sub div.main section.topics ul.ul_topics {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 60px 0 20px; }
  @media screen and (max-width: 600px) {
    body.sub div.main section.topics ul.ul_topics {
      /*display: block;*/
      margin: 30px 0 20px; } }
  body.sub div.main section.topics ul.ul_topics li {
    width: calc(33.3333% - 40px);
    margin-right: 3.75rem;
    margin-bottom: 30px; }
    body.sub div.main section.topics ul.ul_topics li:nth-child(3n) {
      margin-right: 0; }
    @media screen and (max-width: 600px) {
      body.sub div.main section.topics ul.ul_topics li {
        width: calc(50% - 20px);
        margin-right: 1.75rem;
        margin-bottom: 15px; }
        body.sub div.main section.topics ul.ul_topics li:nth-child(2n) {
          margin-right: 0; }
        body.sub div.main section.topics ul.ul_topics li:nth-child(3) {
          margin-right: 1.75rem; } }
    body.sub div.main section.topics ul.ul_topics li img {
      width: 100%;
      max-width: 100%; }
    body.sub div.main section.topics ul.ul_topics li div.img {
      position: sticky;
      top: 0;
      left: 0; }
      body.sub div.main section.topics ul.ul_topics li div.img a {
        display: block;
        border: 0; }
        body.sub div.main section.topics ul.ul_topics li div.img a img {
          display: block;
          width: 100%;
          vertical-align: bottom; }
    body.sub div.main section.topics ul.ul_topics li div.txt {
      padding: .8em;
      text-align: center;
      line-height: 1.5; }
      @media screen and (max-width: 600px) {
        body.sub div.main section.topics ul.ul_topics li div.txt {
          padding: .8em 0;
          font-size: .8em; } }
      body.sub div.main section.topics ul.ul_topics li div.txt div.title a {
        font-weight: bold;
        line-height: 1.5; }

/* -------------------------------- 
about components 
--------------------------------- */
@media screen and (max-width: 600px) {
  body.about section.donyu div.inner {
    margin-bottom: 20rem; } }
body.about section.donyu div.inner h2 {
  font-size: 1.4em;
  text-align: center; }
  @media screen and (max-width: 600px) {
    body.about section.donyu div.inner h2 {
      font-size: 1.2em;
      line-height: 1.5;
      padding-top: 1em; } }
body.about section.donyu div.inner p.top {
  margin: 2.5em 0 5em; }
  @media screen and (max-width: 600px) {
    body.about section.donyu div.inner p.top {
      margin-bottom: 4em;
      padding: 0 2em; } }
body.about section.donyu div.inner img.com {
  margin: 60px auto; }
body.about section.donyu div.inner div.donyu_img {
  display: block;
  margin-bottom: 60px;
  position: relative; }
  body.about section.donyu div.inner div.donyu_img p.text {
    position: absolute;
    top: 50%;
    right: 0%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    color: #FFF;
    text-align: left;
    font-size: 1.1em;
    line-height: 2.0; }
    @media screen and (max-width: 1024px) {
      body.about section.donyu div.inner div.donyu_img p.text {
        font-size: 1.0em;
        line-height: 1.8; } }
    @media screen and (max-width: 600px) {
      body.about section.donyu div.inner div.donyu_img p.text {
        position: relative;
        top: 0;
        left: 10%;
        transform: translate(-10%, 0%);
        -webkit-transform: translate(-10%, 0%);
        -ms-transform: translate(-10%, 0%);
        margin-bottom: 0;
        color: #222;
        padding: 1.5em 2em 0; } }
  body.about section.donyu div.inner div.donyu_img img.text {
    position: absolute;
    top: 50%;
    right: 0%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-transform: uppercase; }
body.about section.donyu div.inner div.takaramono {
  display: flex;
  flex-wrap: wrap;
  position: -webkit-sticky;
  position: sticky;
  top: 0%;
  left: 0%;
  margin: 80px 60px; }
  @media screen and (max-width: 600px) {
    body.about section.donyu div.inner div.takaramono {
      display: block;
      margin: 0; } }
  body.about section.donyu div.inner div.takaramono em {
    position: absolute;
    top: 8%;
    right: 0%; }
    @media screen and (max-width: 600px) {
      body.about section.donyu div.inner div.takaramono em h3 {
        margin-top: 1.5em; } }
    @media screen and (max-width: 600px) {
      body.about section.donyu div.inner div.takaramono em {
        position: relative; } }
  body.about section.donyu div.inner div.takaramono div.left {
    width: 65%;
    display: block; }
    @media screen and (max-width: 600px) {
      body.about section.donyu div.inner div.takaramono div.left {
        width: 100%; } }
  body.about section.donyu div.inner div.takaramono div.right {
    width: 35%;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    left: 0; }
    @media screen and (max-width: 600px) {
      body.about section.donyu div.inner div.takaramono div.right {
        width: 100%; } }
    body.about section.donyu div.inner div.takaramono div.right img {
      padding: 30px 0 0 30px; }
      @media screen and (max-width: 600px) {
        body.about section.donyu div.inner div.takaramono div.right img {
          padding: 30px 30px 0; } }
    body.about section.donyu div.inner div.takaramono div.right div.txt {
      position: absolute;
      right: 0%;
      width: 80%; }
      @media screen and (max-width: 600px) {
        body.about section.donyu div.inner div.takaramono div.right div.txt {
          width: 100%; } }
      body.about section.donyu div.inner div.takaramono div.right div.txt p {
        font-size: 1.0em;
        line-height: 1.6;
        text-align: left;
        letter-spacing: .25em;
        margin-top: 30px; }
        @media screen and (max-width: 600px) {
          body.about section.donyu div.inner div.takaramono div.right div.txt p {
            margin-top: 10px; } }
body.about section.staff div.staff_wrap {
  display: flex;
  margin: 60px 0 0;
  line-height: 1.5; }
  @media screen and (max-width: 600px) {
    body.about section.staff div.staff_wrap {
      display: block; } }
  body.about section.staff div.staff_wrap div.staff_ph,
  body.about section.staff div.staff_wrap div.staff_name,
  body.about section.staff div.staff_wrap div.staff_com {
    width: 33.3333%; }
    @media screen and (max-width: 600px) {
      body.about section.staff div.staff_wrap div.staff_ph,
      body.about section.staff div.staff_wrap div.staff_name,
      body.about section.staff div.staff_wrap div.staff_com {
        width: 100%;
        margin-right: 0; } }
  body.about section.staff div.staff_wrap div.staff_ph {
    margin-right: 2rem; }
    @media screen and (max-width: 600px) {
      body.about section.staff div.staff_wrap div.staff_ph img {
        width: 100%; } }
  body.about section.staff div.staff_wrap div.staff_name {
    margin-right: 1.875rem; }
    body.about section.staff div.staff_wrap div.staff_name div.name {
      font-size: 2em;
      padding-bottom: .5em; }
      @media screen and (max-width: 600px) {
        body.about section.staff div.staff_wrap div.staff_name div.name {
          padding-top: .5em; } }
    body.about section.staff div.staff_wrap div.staff_name div.career {
      font-size: .85em;
      padding: 1.5em 0; }
  body.about section.staff div.staff_wrap div.staff_com {
    margin-right: 0;
    font-size: .85em; }
    body.about section.staff div.staff_wrap div.staff_com p {
      border-left: 1px solid #727171;
      padding: 1rem 1rem 1rem 1.875rem;
      margin: 2rem 0;
      letter-spacing: .1em; }
      @media screen and (max-width: 600px) {
        body.about section.staff div.staff_wrap div.staff_com p {
          border-left: 0;
          padding: 0;
          margin-top: 1rem; } }

/*topics,flow,reserve*/
/*header*/
body.topics_01 .header,
body.topics_02 .header,
body.topics_03 .header,
body.topics_04 .header,
body.topics_05 .header,
body.topics_06 .header,
body.flow .header,
body.guide .header,
body.price .header,
body.law .header,
body.page-child .header,
body.archive .header,
body.single .header,
body.thanks .header,
body.reserve .header {
  min-height: 0;
  /*humburger*/ }
  @media screen and (max-width: 600px) {
    body.topics_01 .header,
    body.topics_02 .header,
    body.topics_03 .header,
    body.topics_04 .header,
    body.topics_05 .header,
    body.topics_06 .header,
    body.flow .header,
    body.guide .header,
    body.price .header,
    body.law .header,
    body.page-child .header,
    body.archive .header,
    body.single .header,
    body.thanks .header,
    body.reserve .header {
      /*height: 78px;*/ } }
  body.topics_01 .header h1 img,
  body.topics_02 .header h1 img,
  body.topics_03 .header h1 img,
  body.topics_04 .header h1 img,
  body.topics_05 .header h1 img,
  body.topics_06 .header h1 img,
  body.flow .header h1 img,
  body.guide .header h1 img,
  body.price .header h1 img,
  body.law .header h1 img,
  body.page-child .header h1 img,
  body.archive .header h1 img,
  body.single .header h1 img,
  body.thanks .header h1 img,
  body.reserve .header h1 img {
    filter: brightness(0) invert(0) !important; }
  body.topics_01 .header p,
  body.topics_02 .header p,
  body.topics_03 .header p,
  body.topics_04 .header p,
  body.topics_05 .header p,
  body.topics_06 .header p,
  body.flow .header p,
  body.guide .header p,
  body.price .header p,
  body.law .header p,
  body.page-child .header p,
  body.archive .header p,
  body.single .header p,
  body.thanks .header p,
  body.reserve .header p {
    color: #231815; }
  body.topics_01 .header ul.btns,
  body.topics_02 .header ul.btns,
  body.topics_03 .header ul.btns,
  body.topics_04 .header ul.btns,
  body.topics_05 .header ul.btns,
  body.topics_06 .header ul.btns,
  body.flow .header ul.btns,
  body.guide .header ul.btns,
  body.price .header ul.btns,
  body.law .header ul.btns,
  body.page-child .header ul.btns,
  body.archive .header ul.btns,
  body.single .header ul.btns,
  body.thanks .header ul.btns,
  body.reserve .header ul.btns {
    position: absolute;
    right: 0;
    display: flex;
    justify-content: center;
    margin: 0 35px;
    bottom: 0;
    top: 30px;
    height: 54px; }
    @media screen and (max-width: 1200px) {
      body.topics_01 .header ul.btns,
      body.topics_02 .header ul.btns,
      body.topics_03 .header ul.btns,
      body.topics_04 .header ul.btns,
      body.topics_05 .header ul.btns,
      body.topics_06 .header ul.btns,
      body.flow .header ul.btns,
      body.guide .header ul.btns,
      body.price .header ul.btns,
      body.law .header ul.btns,
      body.page-child .header ul.btns,
      body.archive .header ul.btns,
      body.single .header ul.btns,
      body.thanks .header ul.btns,
      body.reserve .header ul.btns {
        display: none; } }
    body.topics_01 .header ul.btns li,
    body.topics_02 .header ul.btns li,
    body.topics_03 .header ul.btns li,
    body.topics_04 .header ul.btns li,
    body.topics_05 .header ul.btns li,
    body.topics_06 .header ul.btns li,
    body.flow .header ul.btns li,
    body.guide .header ul.btns li,
    body.price .header ul.btns li,
    body.law .header ul.btns li,
    body.page-child .header ul.btns li,
    body.archive .header ul.btns li,
    body.single .header ul.btns li,
    body.thanks .header ul.btns li,
    body.reserve .header ul.btns li {
      margin-left: 10px; }
      body.topics_01 .header ul.btns li:first-child,
      body.topics_02 .header ul.btns li:first-child,
      body.topics_03 .header ul.btns li:first-child,
      body.topics_04 .header ul.btns li:first-child,
      body.topics_05 .header ul.btns li:first-child,
      body.topics_06 .header ul.btns li:first-child,
      body.flow .header ul.btns li:first-child,
      body.guide .header ul.btns li:first-child,
      body.price .header ul.btns li:first-child,
      body.law .header ul.btns li:first-child,
      body.page-child .header ul.btns li:first-child,
      body.archive .header ul.btns li:first-child,
      body.single .header ul.btns li:first-child,
      body.thanks .header ul.btns li:first-child,
      body.reserve .header ul.btns li:first-child {
        margin-left: 0; }
      body.topics_01 .header ul.btns li a,
      body.topics_02 .header ul.btns li a,
      body.topics_03 .header ul.btns li a,
      body.topics_04 .header ul.btns li a,
      body.topics_05 .header ul.btns li a,
      body.topics_06 .header ul.btns li a,
      body.flow .header ul.btns li a,
      body.guide .header ul.btns li a,
      body.price .header ul.btns li a,
      body.law .header ul.btns li a,
      body.page-child .header ul.btns li a,
      body.archive .header ul.btns li a,
      body.single .header ul.btns li a,
      body.thanks .header ul.btns li a,
      body.reserve .header ul.btns li a {
        background: #595959;
        color: #fff;
        display: block;
        font-size: .85em;
        text-align: center;
        padding: 20px; }
        body.topics_01 .header ul.btns li a:hover,
        body.topics_02 .header ul.btns li a:hover,
        body.topics_03 .header ul.btns li a:hover,
        body.topics_04 .header ul.btns li a:hover,
        body.topics_05 .header ul.btns li a:hover,
        body.topics_06 .header ul.btns li a:hover,
        body.flow .header ul.btns li a:hover,
        body.guide .header ul.btns li a:hover,
        body.price .header ul.btns li a:hover,
        body.law .header ul.btns li a:hover,
        body.page-child .header ul.btns li a:hover,
        body.archive .header ul.btns li a:hover,
        body.single .header ul.btns li a:hover,
        body.thanks .header ul.btns li a:hover,
        body.reserve .header ul.btns li a:hover {
          color: #fff;
          background: #595959; }
      body.topics_01 .header ul.btns li a.ti_01,
      body.topics_02 .header ul.btns li a.ti_01,
      body.topics_03 .header ul.btns li a.ti_01,
      body.topics_04 .header ul.btns li a.ti_01,
      body.topics_05 .header ul.btns li a.ti_01,
      body.topics_06 .header ul.btns li a.ti_01,
      body.flow .header ul.btns li a.ti_01,
      body.guide .header ul.btns li a.ti_01,
      body.price .header ul.btns li a.ti_01,
      body.law .header ul.btns li a.ti_01,
      body.page-child .header ul.btns li a.ti_01,
      body.archive .header ul.btns li a.ti_01,
      body.single .header ul.btns li a.ti_01,
      body.thanks .header ul.btns li a.ti_01,
      body.reserve .header ul.btns li a.ti_01 {
        background: #595959;
        color: #fff;
        display: block;
        font-size: .85em;
        text-align: center;
        padding: 20px;
        min-width: 126px;
        max-height: 54px; }
        body.topics_01 .header ul.btns li a.ti_01:hover,
        body.topics_02 .header ul.btns li a.ti_01:hover,
        body.topics_03 .header ul.btns li a.ti_01:hover,
        body.topics_04 .header ul.btns li a.ti_01:hover,
        body.topics_05 .header ul.btns li a.ti_01:hover,
        body.topics_06 .header ul.btns li a.ti_01:hover,
        body.flow .header ul.btns li a.ti_01:hover,
        body.guide .header ul.btns li a.ti_01:hover,
        body.price .header ul.btns li a.ti_01:hover,
        body.law .header ul.btns li a.ti_01:hover,
        body.page-child .header ul.btns li a.ti_01:hover,
        body.archive .header ul.btns li a.ti_01:hover,
        body.single .header ul.btns li a.ti_01:hover,
        body.thanks .header ul.btns li a.ti_01:hover,
        body.reserve .header ul.btns li a.ti_01:hover {
          color: #fff;
          background: #595959; }
      body.topics_01 .header ul.btns li a.ti_02,
      body.topics_02 .header ul.btns li a.ti_02,
      body.topics_03 .header ul.btns li a.ti_02,
      body.topics_04 .header ul.btns li a.ti_02,
      body.topics_05 .header ul.btns li a.ti_02,
      body.topics_06 .header ul.btns li a.ti_02,
      body.flow .header ul.btns li a.ti_02,
      body.guide .header ul.btns li a.ti_02,
      body.price .header ul.btns li a.ti_02,
      body.law .header ul.btns li a.ti_02,
      body.page-child .header ul.btns li a.ti_02,
      body.archive .header ul.btns li a.ti_02,
      body.single .header ul.btns li a.ti_02,
      body.thanks .header ul.btns li a.ti_02,
      body.reserve .header ul.btns li a.ti_02 {
        background: #595959;
        color: #fff;
        display: block;
        font-size: .75em;
        text-align: center;
        padding: 14px 8px;
        min-width: 126px;
        min-height: 54px; }
        body.topics_01 .header ul.btns li a.ti_02:hover,
        body.topics_02 .header ul.btns li a.ti_02:hover,
        body.topics_03 .header ul.btns li a.ti_02:hover,
        body.topics_04 .header ul.btns li a.ti_02:hover,
        body.topics_05 .header ul.btns li a.ti_02:hover,
        body.topics_06 .header ul.btns li a.ti_02:hover,
        body.flow .header ul.btns li a.ti_02:hover,
        body.guide .header ul.btns li a.ti_02:hover,
        body.price .header ul.btns li a.ti_02:hover,
        body.law .header ul.btns li a.ti_02:hover,
        body.page-child .header ul.btns li a.ti_02:hover,
        body.archive .header ul.btns li a.ti_02:hover,
        body.single .header ul.btns li a.ti_02:hover,
        body.thanks .header ul.btns li a.ti_02:hover,
        body.reserve .header ul.btns li a.ti_02:hover {
          color: #fff;
          background: #595959; }
  body.topics_01 .header .hamburger span,
  body.topics_02 .header .hamburger span,
  body.topics_03 .header .hamburger span,
  body.topics_04 .header .hamburger span,
  body.topics_05 .header .hamburger span,
  body.topics_06 .header .hamburger span,
  body.flow .header .hamburger span,
  body.guide .header .hamburger span,
  body.price .header .hamburger span,
  body.law .header .hamburger span,
  body.page-child .header .hamburger span,
  body.archive .header .hamburger span,
  body.single .header .hamburger span,
  body.thanks .header .hamburger span,
  body.reserve .header .hamburger span {
    background-color: #595959; }

/*main*/
body.guide div.main,
body.price div.main,
body.law div.main,
body.page-child div.main,
body.archive div.main,
body.single div.main {
  margin-top: 220px; }
  @media screen and (max-width: 600px) {
    body.guide div.main,
    body.price div.main,
    body.law div.main,
    body.page-child div.main,
    body.archive div.main,
    body.single div.main {
      margin-top: 110px; } }

body.thanks div.main {
  margin-top: 100px; }

/*main*/
body.topics_01 div.main,
body.topics_02 div.main,
body.topics_03 div.main,
body.topics_04 div.main,
body.topics_05 div.main,
body.topics_06 div.main,
body.flow div.main,
body.reserve div.main {
  margin-top: 220px; }
  @media screen and (max-width: 600px) {
    body.topics_01 div.main,
    body.topics_02 div.main,
    body.topics_03 div.main,
    body.topics_04 div.main,
    body.topics_05 div.main,
    body.topics_06 div.main,
    body.flow div.main,
    body.reserve div.main {
      margin-top: 110px; } }
  body.topics_01 div.main h2.page_title,
  body.topics_02 div.main h2.page_title,
  body.topics_03 div.main h2.page_title,
  body.topics_04 div.main h2.page_title,
  body.topics_05 div.main h2.page_title,
  body.topics_06 div.main h2.page_title,
  body.flow div.main h2.page_title,
  body.reserve div.main h2.page_title {
    font-size: 1.4em;
    /*font-weight: bold;*/
    text-align: center;
    letter-spacing: .1em;
    line-height: 1.5; }
    @media screen and (max-width: 600px) {
      body.topics_01 div.main h2.page_title,
      body.topics_02 div.main h2.page_title,
      body.topics_03 div.main h2.page_title,
      body.topics_04 div.main h2.page_title,
      body.topics_05 div.main h2.page_title,
      body.topics_06 div.main h2.page_title,
      body.flow div.main h2.page_title,
      body.reserve div.main h2.page_title {
        font-size: 1.2em; } }
  body.topics_01 div.main h3,
  body.topics_02 div.main h3,
  body.topics_03 div.main h3,
  body.topics_04 div.main h3,
  body.topics_05 div.main h3,
  body.topics_06 div.main h3,
  body.flow div.main h3,
  body.reserve div.main h3 {
    font-size: 1.15em;
    /*font-weight: bold;*/
    text-align: center;
    margin: 0; }
    body.topics_01 div.main h3::before,
    body.topics_02 div.main h3::before,
    body.topics_03 div.main h3::before,
    body.topics_04 div.main h3::before,
    body.topics_05 div.main h3::before,
    body.topics_06 div.main h3::before,
    body.flow div.main h3::before,
    body.reserve div.main h3::before {
      content: '“'; }
    body.topics_01 div.main h3::after,
    body.topics_02 div.main h3::after,
    body.topics_03 div.main h3::after,
    body.topics_04 div.main h3::after,
    body.topics_05 div.main h3::after,
    body.topics_06 div.main h3::after,
    body.flow div.main h3::after,
    body.reserve div.main h3::after {
      content: '”'; }

body.flow div.main h2.page_title {
  font-size: 1.4em; }
  body.flow div.main h2.page_title::before, body.flow div.main h2.page_title::after {
    content: none; }
body.flow div.main h3::before {
  content: none; }
body.flow div.main h3::after {
  content: none; }

body.topics_03 div.main h3,
body.topics_04 div.main h3 {
  margin: 2em 0 2.5em;
  line-height: 1.8; }
  @media screen and (max-width: 600px) {
    body.topics_03 div.main h3,
    body.topics_04 div.main h3 {
      margin: 2em 0 2em; } }
body.topics_03 div.main p,
body.topics_04 div.main p {
  margin-bottom: 5em; }
  @media screen and (max-width: 600px) {
    body.topics_03 div.main p,
    body.topics_04 div.main p {
      margin-bottom: 3em; } }
body.topics_03 div.main section.topics h3,
body.topics_04 div.main section.topics h3 {
  margin: 0; }

body.topics_05 div.main h3 {
  font-size: 1.15em;
  /*font-weight: bold;*/
  text-align: center;
  margin: 2.5em 0 1em; }
body.topics_05 div.main p {
  margin-bottom: 5em; }
  @media screen and (max-width: 600px) {
    body.topics_05 div.main p {
      margin-bottom: 3em; } }
body.topics_05 div.main div.flex {
  margin: 1em auto !important; }
body.topics_05 div.main img.kokuin_ph {
  margin: 2em auto 1em !important; }
body.topics_05 div.main p.kokuin_txt {
  margin-bottom: 0; }
body.topics_05 div.main section.topics h3 {
  margin: 0; }

body.topics_06 div.main h3 {
  margin: 5em 0 1em; }
  @media screen and (max-width: 600px) {
    body.topics_06 div.main h3 {
      margin: 3em 0 1em; } }
body.topics_06 div.main section.topics h3 {
  margin: 0; }

/*topics*/
@media screen and (max-width: 600px) {
  body.topics_01 div.main section.topics,
  body.topics_02 div.main section.topics,
  body.topics_03 div.main section.topics,
  body.topics_04 div.main section.topics,
  body.topics_05 div.main section.topics,
  body.topics_06 div.main section.topics {
    margin-top: 0; } }
body.topics_01 div.main section.topics_wrap,
body.topics_02 div.main section.topics_wrap,
body.topics_03 div.main section.topics_wrap,
body.topics_04 div.main section.topics_wrap,
body.topics_05 div.main section.topics_wrap,
body.topics_06 div.main section.topics_wrap {
  margin: 0 auto 3em; }
  body.topics_01 div.main section.topics_wrap div.inner,
  body.topics_02 div.main section.topics_wrap div.inner,
  body.topics_03 div.main section.topics_wrap div.inner,
  body.topics_04 div.main section.topics_wrap div.inner,
  body.topics_05 div.main section.topics_wrap div.inner,
  body.topics_06 div.main section.topics_wrap div.inner {
    /*選べる素材*/
    /*アフターサービス*/ }
    body.topics_01 div.main section.topics_wrap div.inner img,
    body.topics_02 div.main section.topics_wrap div.inner img,
    body.topics_03 div.main section.topics_wrap div.inner img,
    body.topics_04 div.main section.topics_wrap div.inner img,
    body.topics_05 div.main section.topics_wrap div.inner img,
    body.topics_06 div.main section.topics_wrap div.inner img {
      margin: 4em auto 1em; }
    body.topics_01 div.main section.topics_wrap div.inner img.ph-top,
    body.topics_02 div.main section.topics_wrap div.inner img.ph-top,
    body.topics_03 div.main section.topics_wrap div.inner img.ph-top,
    body.topics_04 div.main section.topics_wrap div.inner img.ph-top,
    body.topics_05 div.main section.topics_wrap div.inner img.ph-top,
    body.topics_06 div.main section.topics_wrap div.inner img.ph-top {
      width: 490px;
      max-width: 490px;
      height: auto;
      margin: 0 auto 1em; }
      @media screen and (max-width: 600px) {
        body.topics_01 div.main section.topics_wrap div.inner img.ph-top,
        body.topics_02 div.main section.topics_wrap div.inner img.ph-top,
        body.topics_03 div.main section.topics_wrap div.inner img.ph-top,
        body.topics_04 div.main section.topics_wrap div.inner img.ph-top,
        body.topics_05 div.main section.topics_wrap div.inner img.ph-top,
        body.topics_06 div.main section.topics_wrap div.inner img.ph-top {
          width: 100%;
          max-width: 100%; } }
    body.topics_01 div.main section.topics_wrap div.inner p,
    body.topics_02 div.main section.topics_wrap div.inner p,
    body.topics_03 div.main section.topics_wrap div.inner p,
    body.topics_04 div.main section.topics_wrap div.inner p,
    body.topics_05 div.main section.topics_wrap div.inner p,
    body.topics_06 div.main section.topics_wrap div.inner p {
      text-align: center;
      line-height: 2.0;
      padding: 1em 0; }
      @media screen and (max-width: 600px) {
        body.topics_01 div.main section.topics_wrap div.inner p,
        body.topics_02 div.main section.topics_wrap div.inner p,
        body.topics_03 div.main section.topics_wrap div.inner p,
        body.topics_04 div.main section.topics_wrap div.inner p,
        body.topics_05 div.main section.topics_wrap div.inner p,
        body.topics_06 div.main section.topics_wrap div.inner p {
          text-align: left;
          padding: 1em 2em; } }
    body.topics_01 div.main section.topics_wrap div.inner div.flex,
    body.topics_02 div.main section.topics_wrap div.inner div.flex,
    body.topics_03 div.main section.topics_wrap div.inner div.flex,
    body.topics_04 div.main section.topics_wrap div.inner div.flex,
    body.topics_05 div.main section.topics_wrap div.inner div.flex,
    body.topics_06 div.main section.topics_wrap div.inner div.flex {
      display: flex;
      gap: 40px 60px;
      margin: 3.5em auto; }
      @media screen and (max-width: 600px) {
        body.topics_01 div.main section.topics_wrap div.inner div.flex,
        body.topics_02 div.main section.topics_wrap div.inner div.flex,
        body.topics_03 div.main section.topics_wrap div.inner div.flex,
        body.topics_04 div.main section.topics_wrap div.inner div.flex,
        body.topics_05 div.main section.topics_wrap div.inner div.flex,
        body.topics_06 div.main section.topics_wrap div.inner div.flex {
          display: block;
          margin: 2.5em auto; } }
      body.topics_01 div.main section.topics_wrap div.inner div.flex div,
      body.topics_02 div.main section.topics_wrap div.inner div.flex div,
      body.topics_03 div.main section.topics_wrap div.inner div.flex div,
      body.topics_04 div.main section.topics_wrap div.inner div.flex div,
      body.topics_05 div.main section.topics_wrap div.inner div.flex div,
      body.topics_06 div.main section.topics_wrap div.inner div.flex div {
        width: 50%; }
        @media screen and (max-width: 600px) {
          body.topics_01 div.main section.topics_wrap div.inner div.flex div,
          body.topics_02 div.main section.topics_wrap div.inner div.flex div,
          body.topics_03 div.main section.topics_wrap div.inner div.flex div,
          body.topics_04 div.main section.topics_wrap div.inner div.flex div,
          body.topics_05 div.main section.topics_wrap div.inner div.flex div,
          body.topics_06 div.main section.topics_wrap div.inner div.flex div {
            width: 100%; } }
        body.topics_01 div.main section.topics_wrap div.inner div.flex div img,
        body.topics_02 div.main section.topics_wrap div.inner div.flex div img,
        body.topics_03 div.main section.topics_wrap div.inner div.flex div img,
        body.topics_04 div.main section.topics_wrap div.inner div.flex div img,
        body.topics_05 div.main section.topics_wrap div.inner div.flex div img,
        body.topics_06 div.main section.topics_wrap div.inner div.flex div img {
          margin: 1em auto; }
    body.topics_01 div.main section.topics_wrap div.inner div.flex-3,
    body.topics_02 div.main section.topics_wrap div.inner div.flex-3,
    body.topics_03 div.main section.topics_wrap div.inner div.flex-3,
    body.topics_04 div.main section.topics_wrap div.inner div.flex-3,
    body.topics_05 div.main section.topics_wrap div.inner div.flex-3,
    body.topics_06 div.main section.topics_wrap div.inner div.flex-3 {
      display: flex;
      gap: 40px 60px;
      margin: 2em auto;
      justify-content: center;
      align-items: center; }
      @media screen and (max-width: 600px) {
        body.topics_01 div.main section.topics_wrap div.inner div.flex-3,
        body.topics_02 div.main section.topics_wrap div.inner div.flex-3,
        body.topics_03 div.main section.topics_wrap div.inner div.flex-3,
        body.topics_04 div.main section.topics_wrap div.inner div.flex-3,
        body.topics_05 div.main section.topics_wrap div.inner div.flex-3,
        body.topics_06 div.main section.topics_wrap div.inner div.flex-3 {
          display: block; } }
      body.topics_01 div.main section.topics_wrap div.inner div.flex-3 div.left,
      body.topics_01 div.main section.topics_wrap div.inner div.flex-3 div.right,
      body.topics_02 div.main section.topics_wrap div.inner div.flex-3 div.left,
      body.topics_02 div.main section.topics_wrap div.inner div.flex-3 div.right,
      body.topics_03 div.main section.topics_wrap div.inner div.flex-3 div.left,
      body.topics_03 div.main section.topics_wrap div.inner div.flex-3 div.right,
      body.topics_04 div.main section.topics_wrap div.inner div.flex-3 div.left,
      body.topics_04 div.main section.topics_wrap div.inner div.flex-3 div.right,
      body.topics_05 div.main section.topics_wrap div.inner div.flex-3 div.left,
      body.topics_05 div.main section.topics_wrap div.inner div.flex-3 div.right,
      body.topics_06 div.main section.topics_wrap div.inner div.flex-3 div.left,
      body.topics_06 div.main section.topics_wrap div.inner div.flex-3 div.right {
        width: 25%; }
        body.topics_01 div.main section.topics_wrap div.inner div.flex-3 div.left p,
        body.topics_01 div.main section.topics_wrap div.inner div.flex-3 div.right p,
        body.topics_02 div.main section.topics_wrap div.inner div.flex-3 div.left p,
        body.topics_02 div.main section.topics_wrap div.inner div.flex-3 div.right p,
        body.topics_03 div.main section.topics_wrap div.inner div.flex-3 div.left p,
        body.topics_03 div.main section.topics_wrap div.inner div.flex-3 div.right p,
        body.topics_04 div.main section.topics_wrap div.inner div.flex-3 div.left p,
        body.topics_04 div.main section.topics_wrap div.inner div.flex-3 div.right p,
        body.topics_05 div.main section.topics_wrap div.inner div.flex-3 div.left p,
        body.topics_05 div.main section.topics_wrap div.inner div.flex-3 div.right p,
        body.topics_06 div.main section.topics_wrap div.inner div.flex-3 div.left p,
        body.topics_06 div.main section.topics_wrap div.inner div.flex-3 div.right p {
          text-align: left;
          margin-bottom: 0; }
        @media screen and (max-width: 600px) {
          body.topics_01 div.main section.topics_wrap div.inner div.flex-3 div.left,
          body.topics_01 div.main section.topics_wrap div.inner div.flex-3 div.right,
          body.topics_02 div.main section.topics_wrap div.inner div.flex-3 div.left,
          body.topics_02 div.main section.topics_wrap div.inner div.flex-3 div.right,
          body.topics_03 div.main section.topics_wrap div.inner div.flex-3 div.left,
          body.topics_03 div.main section.topics_wrap div.inner div.flex-3 div.right,
          body.topics_04 div.main section.topics_wrap div.inner div.flex-3 div.left,
          body.topics_04 div.main section.topics_wrap div.inner div.flex-3 div.right,
          body.topics_05 div.main section.topics_wrap div.inner div.flex-3 div.left,
          body.topics_05 div.main section.topics_wrap div.inner div.flex-3 div.right,
          body.topics_06 div.main section.topics_wrap div.inner div.flex-3 div.left,
          body.topics_06 div.main section.topics_wrap div.inner div.flex-3 div.right {
            width: 100%; } }
      body.topics_01 div.main section.topics_wrap div.inner div.flex-3 div.center,
      body.topics_02 div.main section.topics_wrap div.inner div.flex-3 div.center,
      body.topics_03 div.main section.topics_wrap div.inner div.flex-3 div.center,
      body.topics_04 div.main section.topics_wrap div.inner div.flex-3 div.center,
      body.topics_05 div.main section.topics_wrap div.inner div.flex-3 div.center,
      body.topics_06 div.main section.topics_wrap div.inner div.flex-3 div.center {
        width: 50%; }
        @media screen and (max-width: 600px) {
          body.topics_01 div.main section.topics_wrap div.inner div.flex-3 div.center,
          body.topics_02 div.main section.topics_wrap div.inner div.flex-3 div.center,
          body.topics_03 div.main section.topics_wrap div.inner div.flex-3 div.center,
          body.topics_04 div.main section.topics_wrap div.inner div.flex-3 div.center,
          body.topics_05 div.main section.topics_wrap div.inner div.flex-3 div.center,
          body.topics_06 div.main section.topics_wrap div.inner div.flex-3 div.center {
            width: 100%; } }
        body.topics_01 div.main section.topics_wrap div.inner div.flex-3 div.center img,
        body.topics_02 div.main section.topics_wrap div.inner div.flex-3 div.center img,
        body.topics_03 div.main section.topics_wrap div.inner div.flex-3 div.center img,
        body.topics_04 div.main section.topics_wrap div.inner div.flex-3 div.center img,
        body.topics_05 div.main section.topics_wrap div.inner div.flex-3 div.center img,
        body.topics_06 div.main section.topics_wrap div.inner div.flex-3 div.center img {
          margin: 0 auto; }
    body.topics_01 div.main section.topics_wrap div.inner div.video,
    body.topics_01 div.main section.topics_wrap div.inner div.icon_area,
    body.topics_02 div.main section.topics_wrap div.inner div.video,
    body.topics_02 div.main section.topics_wrap div.inner div.icon_area,
    body.topics_03 div.main section.topics_wrap div.inner div.video,
    body.topics_03 div.main section.topics_wrap div.inner div.icon_area,
    body.topics_04 div.main section.topics_wrap div.inner div.video,
    body.topics_04 div.main section.topics_wrap div.inner div.icon_area,
    body.topics_05 div.main section.topics_wrap div.inner div.video,
    body.topics_05 div.main section.topics_wrap div.inner div.icon_area,
    body.topics_06 div.main section.topics_wrap div.inner div.video,
    body.topics_06 div.main section.topics_wrap div.inner div.icon_area {
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 5rem auto; }
      @media screen and (max-width: 600px) {
        body.topics_01 div.main section.topics_wrap div.inner div.video,
        body.topics_01 div.main section.topics_wrap div.inner div.icon_area,
        body.topics_02 div.main section.topics_wrap div.inner div.video,
        body.topics_02 div.main section.topics_wrap div.inner div.icon_area,
        body.topics_03 div.main section.topics_wrap div.inner div.video,
        body.topics_03 div.main section.topics_wrap div.inner div.icon_area,
        body.topics_04 div.main section.topics_wrap div.inner div.video,
        body.topics_04 div.main section.topics_wrap div.inner div.icon_area,
        body.topics_05 div.main section.topics_wrap div.inner div.video,
        body.topics_05 div.main section.topics_wrap div.inner div.icon_area,
        body.topics_06 div.main section.topics_wrap div.inner div.video,
        body.topics_06 div.main section.topics_wrap div.inner div.icon_area {
          margin: 3rem auto; } }
    body.topics_01 div.main section.topics_wrap div.inner ul.ic-data,
    body.topics_02 div.main section.topics_wrap div.inner ul.ic-data,
    body.topics_03 div.main section.topics_wrap div.inner ul.ic-data,
    body.topics_04 div.main section.topics_wrap div.inner ul.ic-data,
    body.topics_05 div.main section.topics_wrap div.inner ul.ic-data,
    body.topics_06 div.main section.topics_wrap div.inner ul.ic-data {
      display: flex;
      flex-wrap: wrap;
      margin: 0 auto;
      width: 540px; }
      body.topics_01 div.main section.topics_wrap div.inner ul.ic-data li,
      body.topics_02 div.main section.topics_wrap div.inner ul.ic-data li,
      body.topics_03 div.main section.topics_wrap div.inner ul.ic-data li,
      body.topics_04 div.main section.topics_wrap div.inner ul.ic-data li,
      body.topics_05 div.main section.topics_wrap div.inner ul.ic-data li,
      body.topics_06 div.main section.topics_wrap div.inner ul.ic-data li {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin: 0 0 8px;
        font-size: .95em;
        letter-spacing: .05em;
        margin-right: 2em; }
        body.topics_01 div.main section.topics_wrap div.inner ul.ic-data li img,
        body.topics_02 div.main section.topics_wrap div.inner ul.ic-data li img,
        body.topics_03 div.main section.topics_wrap div.inner ul.ic-data li img,
        body.topics_04 div.main section.topics_wrap div.inner ul.ic-data li img,
        body.topics_05 div.main section.topics_wrap div.inner ul.ic-data li img,
        body.topics_06 div.main section.topics_wrap div.inner ul.ic-data li img {
          width: 30px;
          margin: 0 .5em 0 0; }
        body.topics_01 div.main section.topics_wrap div.inner ul.ic-data li:last-child,
        body.topics_02 div.main section.topics_wrap div.inner ul.ic-data li:last-child,
        body.topics_03 div.main section.topics_wrap div.inner ul.ic-data li:last-child,
        body.topics_04 div.main section.topics_wrap div.inner ul.ic-data li:last-child,
        body.topics_05 div.main section.topics_wrap div.inner ul.ic-data li:last-child,
        body.topics_06 div.main section.topics_wrap div.inner ul.ic-data li:last-child {
          margin-right: 0; }
      body.topics_01 div.main section.topics_wrap div.inner ul.ic-data div.spacer,
      body.topics_02 div.main section.topics_wrap div.inner ul.ic-data div.spacer,
      body.topics_03 div.main section.topics_wrap div.inner ul.ic-data div.spacer,
      body.topics_04 div.main section.topics_wrap div.inner ul.ic-data div.spacer,
      body.topics_05 div.main section.topics_wrap div.inner ul.ic-data div.spacer,
      body.topics_06 div.main section.topics_wrap div.inner ul.ic-data div.spacer {
        width: 100%; }
    body.topics_01 div.main section.topics_wrap div.inner ul.ul_flex,
    body.topics_02 div.main section.topics_wrap div.inner ul.ul_flex,
    body.topics_03 div.main section.topics_wrap div.inner ul.ul_flex,
    body.topics_04 div.main section.topics_wrap div.inner ul.ul_flex,
    body.topics_05 div.main section.topics_wrap div.inner ul.ul_flex,
    body.topics_06 div.main section.topics_wrap div.inner ul.ul_flex {
      display: flex;
      flex-wrap: wrap; }
      @media screen and (max-width: 600px) {
        body.topics_01 div.main section.topics_wrap div.inner ul.ul_flex,
        body.topics_02 div.main section.topics_wrap div.inner ul.ul_flex,
        body.topics_03 div.main section.topics_wrap div.inner ul.ul_flex,
        body.topics_04 div.main section.topics_wrap div.inner ul.ul_flex,
        body.topics_05 div.main section.topics_wrap div.inner ul.ul_flex,
        body.topics_06 div.main section.topics_wrap div.inner ul.ul_flex {
          display: block; } }
      body.topics_01 div.main section.topics_wrap div.inner ul.ul_flex li,
      body.topics_02 div.main section.topics_wrap div.inner ul.ul_flex li,
      body.topics_03 div.main section.topics_wrap div.inner ul.ul_flex li,
      body.topics_04 div.main section.topics_wrap div.inner ul.ul_flex li,
      body.topics_05 div.main section.topics_wrap div.inner ul.ul_flex li,
      body.topics_06 div.main section.topics_wrap div.inner ul.ul_flex li {
        width: calc(33.3333% - 40px);
        margin-right: 60px;
        margin-bottom: 20px; }
        body.topics_01 div.main section.topics_wrap div.inner ul.ul_flex li:nth-child(3n),
        body.topics_02 div.main section.topics_wrap div.inner ul.ul_flex li:nth-child(3n),
        body.topics_03 div.main section.topics_wrap div.inner ul.ul_flex li:nth-child(3n),
        body.topics_04 div.main section.topics_wrap div.inner ul.ul_flex li:nth-child(3n),
        body.topics_05 div.main section.topics_wrap div.inner ul.ul_flex li:nth-child(3n),
        body.topics_06 div.main section.topics_wrap div.inner ul.ul_flex li:nth-child(3n) {
          margin-right: 0; }
        @media screen and (max-width: 600px) {
          body.topics_01 div.main section.topics_wrap div.inner ul.ul_flex li,
          body.topics_02 div.main section.topics_wrap div.inner ul.ul_flex li,
          body.topics_03 div.main section.topics_wrap div.inner ul.ul_flex li,
          body.topics_04 div.main section.topics_wrap div.inner ul.ul_flex li,
          body.topics_05 div.main section.topics_wrap div.inner ul.ul_flex li,
          body.topics_06 div.main section.topics_wrap div.inner ul.ul_flex li {
            width: 100%; } }
        body.topics_01 div.main section.topics_wrap div.inner ul.ul_flex li img,
        body.topics_02 div.main section.topics_wrap div.inner ul.ul_flex li img,
        body.topics_03 div.main section.topics_wrap div.inner ul.ul_flex li img,
        body.topics_04 div.main section.topics_wrap div.inner ul.ul_flex li img,
        body.topics_05 div.main section.topics_wrap div.inner ul.ul_flex li img,
        body.topics_06 div.main section.topics_wrap div.inner ul.ul_flex li img {
          margin: 2em auto 1em; }
        body.topics_01 div.main section.topics_wrap div.inner ul.ul_flex li p,
        body.topics_02 div.main section.topics_wrap div.inner ul.ul_flex li p,
        body.topics_03 div.main section.topics_wrap div.inner ul.ul_flex li p,
        body.topics_04 div.main section.topics_wrap div.inner ul.ul_flex li p,
        body.topics_05 div.main section.topics_wrap div.inner ul.ul_flex li p,
        body.topics_06 div.main section.topics_wrap div.inner ul.ul_flex li p {
          font-size: .85em;
          text-align: left;
          padding: 0 1em;
          margin-bottom: 0; }
          @media screen and (max-width: 600px) {
            body.topics_01 div.main section.topics_wrap div.inner ul.ul_flex li p,
            body.topics_02 div.main section.topics_wrap div.inner ul.ul_flex li p,
            body.topics_03 div.main section.topics_wrap div.inner ul.ul_flex li p,
            body.topics_04 div.main section.topics_wrap div.inner ul.ul_flex li p,
            body.topics_05 div.main section.topics_wrap div.inner ul.ul_flex li p,
            body.topics_06 div.main section.topics_wrap div.inner ul.ul_flex li p {
              padding: 0 2em; } }
    body.topics_01 div.main section.topics_wrap div.inner ul.ul_as,
    body.topics_02 div.main section.topics_wrap div.inner ul.ul_as,
    body.topics_03 div.main section.topics_wrap div.inner ul.ul_as,
    body.topics_04 div.main section.topics_wrap div.inner ul.ul_as,
    body.topics_05 div.main section.topics_wrap div.inner ul.ul_as,
    body.topics_06 div.main section.topics_wrap div.inner ul.ul_as {
      width: 100%;
      max-width: 680px;
      margin: 1.75em auto 0; }
      @media screen and (max-width: 600px) {
        body.topics_01 div.main section.topics_wrap div.inner ul.ul_as,
        body.topics_02 div.main section.topics_wrap div.inner ul.ul_as,
        body.topics_03 div.main section.topics_wrap div.inner ul.ul_as,
        body.topics_04 div.main section.topics_wrap div.inner ul.ul_as,
        body.topics_05 div.main section.topics_wrap div.inner ul.ul_as,
        body.topics_06 div.main section.topics_wrap div.inner ul.ul_as {
          max-width: 80%; } }
      body.topics_01 div.main section.topics_wrap div.inner ul.ul_as li,
      body.topics_02 div.main section.topics_wrap div.inner ul.ul_as li,
      body.topics_03 div.main section.topics_wrap div.inner ul.ul_as li,
      body.topics_04 div.main section.topics_wrap div.inner ul.ul_as li,
      body.topics_05 div.main section.topics_wrap div.inner ul.ul_as li,
      body.topics_06 div.main section.topics_wrap div.inner ul.ul_as li {
        line-height: 1.5;
        padding: 0.5em 0;
        list-style: disc; }

/* -------------------------------- 
flow components 
--------------------------------- */
body.flow div.main section.flow_wrap h3 {
  text-align: left;
  padding: .8em 0 1.25em;
  margin: 0;
  font-size: 1.3em; }
body.flow div.main section.flow_wrap div.flex {
  display: flex;
  gap: 60px;
  margin: 60px 0;
  /*margin: 1em auto;*/ }
  body.flow div.main section.flow_wrap div.flex:first-child {
    margin: 10px 0; }
  @media screen and (max-width: 600px) {
    body.flow div.main section.flow_wrap div.flex {
      display: block;
      gap: 40px;
      margin: 40px 0; } }
  body.flow div.main section.flow_wrap div.flex div.txt {
    width: 50%;
    margin: 30px; }
    @media screen and (max-width: 600px) {
      body.flow div.main section.flow_wrap div.flex div.txt {
        width: auto; } }
    body.flow div.main section.flow_wrap div.flex div.txt span {
      font-size: 1.2em;
      /*font-weight: bold;*/ }
      @media screen and (max-width: 600px) {
        body.flow div.main section.flow_wrap div.flex div.txt span {
          font-size: 1.1em; } }
    body.flow div.main section.flow_wrap div.flex div.txt ul {
      margin-bottom: 30px; }
      body.flow div.main section.flow_wrap div.flex div.txt ul li {
        line-height: 1.5;
        padding: .25em 0 0 1em;
        position: relative; }
        body.flow div.main section.flow_wrap div.flex div.txt ul li:before {
          content: "";
          position: absolute;
          top: .8em;
          left: 0;
          width: 3px;
          height: 3px;
          background-color: #333;
          border-radius: 50%; }
    body.flow div.main section.flow_wrap div.flex div.txt div.btn_wrap_flow {
      text-align: left;
      margin: 50px 0 0; }
      body.flow div.main section.flow_wrap div.flex div.txt div.btn_wrap_flow a {
        background: #333;
        color: #fff;
        position: relative;
        display: inline-block;
        width: 300px; }
        @media screen and (max-width: 600px) {
          body.flow div.main section.flow_wrap div.flex div.txt div.btn_wrap_flow a {
            width: 100%; } }
        body.flow div.main section.flow_wrap div.flex div.txt div.btn_wrap_flow a::after {
          position: absolute;
          top: 0;
          bottom: 0;
          right: 1em;
          margin: auto;
          content: "";
          vertical-align: middle;
          width: 0.5em;
          height: 0.5em;
          border-top: 1px solid #fff;
          border-right: 1px solid #fff;
          -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }
    body.flow div.main section.flow_wrap div.flex div.txt div.btn_wrap {
      margin-top: 20px;
      text-align: left; }
  body.flow div.main section.flow_wrap div.flex div.ph {
    width: 50%; }
    @media screen and (max-width: 600px) {
      body.flow div.main section.flow_wrap div.flex div.ph {
        width: 100%; } }
body.flow div.main section.flow_wrap div.nagare {
  display: block;
  position: relative;
  height: 200px; }
  @media screen and (max-width: 600px) {
    body.flow div.main section.flow_wrap div.nagare {
      height: 170px; } }
  body.flow div.main section.flow_wrap div.nagare img.nagare-01,
  body.flow div.main section.flow_wrap div.nagare img.nagare-02 {
    position: absolute;
    top: 0;
    height: 130px; }
    @media screen and (max-width: 600px) {
      body.flow div.main section.flow_wrap div.nagare img.nagare-01,
      body.flow div.main section.flow_wrap div.nagare img.nagare-02 {
        height: 100px; } }
  body.flow div.main section.flow_wrap div.nagare img.nagare-01 {
    left: 47.8%; }
    @media screen and (max-width: 600px) {
      body.flow div.main section.flow_wrap div.nagare img.nagare-01 {
        left: 10%; } }
  body.flow div.main section.flow_wrap div.nagare img.nagare-02 {
    left: 50%;
    transform: translate(-50%, 0); }
body.flow div.main section.flow_wrap p.shiage {
  padding: 30px 0 100px;
  text-align: center; }
  @media screen and (max-width: 600px) {
    body.flow div.main section.flow_wrap p.shiage {
      padding: 30px 0 80px; } }
body.flow div.main section.flow_wrap p.kome {
  font-size: .85em;
  padding: .25em 0; }
body.flow div.main section.btn_wrap_btm p {
  text-align: center; }
body.flow div.main section.btn_wrap_btm div.btn_wrap {
  margin: 30px 0 60px;
  text-align: center; }
  body.flow div.main section.btn_wrap_btm div.btn_wrap img {
    display: block;
    margin: 0 auto; }
    @media screen and (max-width: 600px) {
      body.flow div.main section.btn_wrap_btm div.btn_wrap img {
        width: 250px; } }

/* -------------------------------- 
custommade components 
--------------------------------- */
@media screen and (max-width: 600px) {
  body.custommade section.donyu div.inner {
    /*margin-bottom: 20px;*/ } }
body.custommade section.cmf img {
  margin: 2em auto 1em; }
body.custommade section.cmf h2 img {
  margin: 0 auto; }
body.custommade section.cmf h3 {
  margin: 80px 0 30px; }
  @media screen and (max-width: 600px) {
    body.custommade section.cmf h3 {
      margin: 50px 0 20px; } }
body.custommade section.cmf h4 {
  margin: 60px 0 30px; }
body.custommade section.cmf .tit_mt {
  margin: 15em 0 0; }
  @media screen and (max-width: 600px) {
    body.custommade section.cmf .tit_mt {
      margin: 30em 0 0; } }
body.custommade section.cmf p {
  text-align: center;
  margin: 2em 0;
  line-height: 2.2; }
  @media screen and (max-width: 600px) {
    body.custommade section.cmf p {
      text-align: left;
      margin: 2em; } }
@media screen and (max-width: 600px) {
  body.custommade section.cmf p.texture,
  body.custommade section.cmf p.sozai {
    text-align: left;
    line-height: 1.6; } }
body.custommade section.cmf div.texture_wrap {
  position: relative;
  margin-top: 8.5em; }
  @media screen and (max-width: 600px) {
    body.custommade section.cmf div.texture_wrap {
      margin-top: 20em;
      margin-left: 2em;
      margin-right: 2em; } }
  body.custommade section.cmf div.texture_wrap ul {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-right: -50%;
    transform: translate(-50%, -50%); }
    body.custommade section.cmf div.texture_wrap ul li {
      padding: .25em 0; }
      @media screen and (max-width: 600px) {
        body.custommade section.cmf div.texture_wrap ul li {
          line-height: 1.6; } }
body.custommade section.cmf ul.flex {
  display: flex;
  justify-content: center; }
  @media screen and (max-width: 600px) {
    body.custommade section.cmf ul.flex {
      flex-wrap: wrap; } }
  body.custommade section.cmf ul.flex li {
    margin-right: 30px; }
    @media screen and (max-width: 600px) {
      body.custommade section.cmf ul.flex li {
        width: calc(50% - 20px);
        margin-right: 1.75rem; }
        body.custommade section.cmf ul.flex li:nth-child(2n) {
          margin-right: 0; } }
    body.custommade section.cmf ul.flex li:last-child {
      margin-right: 0; }
    @media screen and (max-width: 600px) {
      body.custommade section.cmf ul.flex li img:nth-child(n + 3) {
        margin: 1em auto 1em; } }
    body.custommade section.cmf ul.flex li p {
      margin: 1em 0; }
      @media screen and (max-width: 600px) {
        body.custommade section.cmf ul.flex li p {
          text-align: center; } }
    @media screen and (max-width: 600px) {
      body.custommade section.cmf ul.flex li:nth-child(n + 3) img {
        margin: 1em auto 1em; } }
body.custommade section.cmf ul.kakuin {
  flex-wrap: nowrap; }
  body.custommade section.cmf ul.kakuin li {
    margin-right: 100px; }
    @media screen and (max-width: 600px) {
      body.custommade section.cmf ul.kakuin li {
        margin-right: 10px; } }
    body.custommade section.cmf ul.kakuin li:last-child {
      margin-right: 0; }
    @media screen and (max-width: 600px) {
      body.custommade section.cmf ul.kakuin li:nth-child(2) {
        margin-right: 10px; } }
    @media screen and (max-width: 600px) {
      body.custommade section.cmf ul.kakuin li:nth-child(3) img {
        margin: 2em auto 1em; } }
body.custommade section.cmf div.nagare {
  display: block;
  position: relative;
  height: 200px; }
  body.custommade section.cmf div.nagare img.nagare-01 {
    position: absolute;
    top: 0;
    left: 50%;
    height: 130px; }
  body.custommade section.cmf div.nagare img.nagare-02 {
    height: 130px; }
body.custommade section.cmf div.video {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 80px auto 120px; }
  @media screen and (max-width: 600px) {
    body.custommade section.cmf div.video {
      margin: 60px auto 80px; } }
body.custommade section.cmf div.title_wrap,
body.custommade section.cmf div.title_wrap_2 {
  background-image: url(../img/border.png);
  background-repeat: no-repeat;
  background-position: center;
  height: 30px;
  text-align: center; }
body.custommade section.cmf div.title_wrap {
  margin: 0 2em; }
  @media screen and (max-width: 600px) {
    body.custommade section.cmf div.title_wrap {
      margin: 0; } }
body.custommade section.cmf div.title_wrap_2 {
  margin: 0 8.5em; }
  @media screen and (max-width: 600px) {
    body.custommade section.cmf div.title_wrap_2 {
      margin: 0; } }
  body.custommade section.cmf div.title_wrap_2 h4.kakuin {
    display: inline-block;
    padding: 0 16px;
    background: #fff;
    margin-top: .4em;
    font-size: 1.1em; }
    @media screen and (max-width: 600px) {
      body.custommade section.cmf div.title_wrap_2 h4.kakuin {
        padding: 0 20px; } }
body.custommade section.cmf .em {
  font-size: 1.25em;
  /*font-weight: bold;*/
  margin-top: 80px; }
  @media screen and (max-width: 600px) {
    body.custommade section.cmf .em {
      text-align: center; } }
body.custommade section.cmf .em_font {
  font-size: 1.25em;
  /*font-weight: bold;*/
  margin-top: 2em; }
  @media screen and (max-width: 600px) {
    body.custommade section.cmf .em_font {
      margin-bottom: 1em; } }
body.custommade section.cmf .txt_font {
  margin-top: 1em;
  margin-bottom: 80px; }
  @media screen and (max-width: 600px) {
    body.custommade section.cmf .txt_font {
      margin-bottom: 40px; } }
body.custommade section.btn_wrap_btm div.btn_wrap {
  margin: 30px 0 60px;
  text-align: center; }
  body.custommade section.btn_wrap_btm div.btn_wrap img {
    display: block;
    margin: 0 auto; }

/* -------------------------------- 
journal components 
--------------------------------- */
body.post-type-archive-journal div.main section.contents {
  display: block;
  /*flex*/ }
  body.post-type-archive-journal div.main section.contents ul.ul_flex {
    display: flex;
    flex-wrap: wrap;
    /*@include mq(sm) {
    	display: block;
    }*/ }
    body.post-type-archive-journal div.main section.contents ul.ul_flex li {
      width: calc(33.3333% - 27px);
      margin-right: 40px;
      margin-bottom: 30px; }
      @media screen and (max-width: 600px) {
        body.post-type-archive-journal div.main section.contents ul.ul_flex li {
          /*width: 100%;
          margin-right: 0;*/
          width: calc(33.3333% - 10px);
          margin-right: 15px;
          margin-bottom: 20px; } }
      body.post-type-archive-journal div.main section.contents ul.ul_flex li:nth-child(3n) {
        margin-right: 0; }
  body.post-type-archive-journal div.main section.contents ul.ul_flex_4 {
    display: flex;
    flex-wrap: wrap;
    margin-top: 2em; }
    body.post-type-archive-journal div.main section.contents ul.ul_flex_4 li {
      width: calc(25% - 30px);
      margin-right: 40px;
      margin-bottom: 30px; }
      @media screen and (max-width: 600px) {
        body.post-type-archive-journal div.main section.contents ul.ul_flex_4 li {
          width: calc(50% - 10px);
          margin-right: 20px; } }
      body.post-type-archive-journal div.main section.contents ul.ul_flex_4 li:nth-child(4n) {
        margin-right: 0; }
      @media screen and (max-width: 600px) {
        body.post-type-archive-journal div.main section.contents ul.ul_flex_4 li:nth-child(2n) {
          margin-right: 0; } }
      body.post-type-archive-journal div.main section.contents ul.ul_flex_4 li div.txt {
        margin-top: 1em;
        font-size: .9em; }
  body.post-type-archive-journal div.main section.contents ul.ul_flex li div.img,
  body.post-type-archive-journal div.main section.contents ul.ul_flex_4 li div.img {
    position: relative;
    top: 0;
    left: 0; }
    body.post-type-archive-journal div.main section.contents ul.ul_flex li div.img a,
    body.post-type-archive-journal div.main section.contents ul.ul_flex_4 li div.img a {
      display: block; }
      body.post-type-archive-journal div.main section.contents ul.ul_flex li div.img a img,
      body.post-type-archive-journal div.main section.contents ul.ul_flex_4 li div.img a img {
        display: block;
        width: 100%;
        height: 485px;
        object-fit: cover;
        vertical-align: bottom; }
        @media screen and (max-width: 600px) {
          body.post-type-archive-journal div.main section.contents ul.ul_flex li div.img a img,
          body.post-type-archive-journal div.main section.contents ul.ul_flex_4 li div.img a img {
            height: 148px; } }
      body.post-type-archive-journal div.main section.contents ul.ul_flex li div.img a span.title,
      body.post-type-archive-journal div.main section.contents ul.ul_flex_4 li div.img a span.title {
        position: absolute;
        bottom: 1.5em;
        left: 1.5em;
        color: #fff; }
  body.post-type-archive-journal div.main section.contents ul.ul_flex li div.txt,
  body.post-type-archive-journal div.main section.contents ul.ul_flex_4 li div.txt {
    margin: .75em 0; }
    body.post-type-archive-journal div.main section.contents ul.ul_flex li div.txt div.title a,
    body.post-type-archive-journal div.main section.contents ul.ul_flex_4 li div.txt div.title a {
      font-weight: bold;
      line-height: 1.5; }
    body.post-type-archive-journal div.main section.contents ul.ul_flex li div.txt div.date,
    body.post-type-archive-journal div.main section.contents ul.ul_flex_4 li div.txt div.date {
      padding-top: .75em; }
      body.post-type-archive-journal div.main section.contents ul.ul_flex li div.txt div.date time,
      body.post-type-archive-journal div.main section.contents ul.ul_flex_4 li div.txt div.date time {
        font-size: .9em; }

body.single-journal div.main section.contents div.single_left img {
  display: block;
  margin: 2em auto 0; }
body.single-journal div.main section.contents div.single_left div.single_content {
  padding-top: 1em; }

/* -------------------------------- 
contact components 
--------------------------------- */
body.contact div.main {
  /*slider*/ }
  body.contact div.main section#slider {
    height: auto !important; }
  @media screen and (max-width: 1024px) {
    body.contact div.main .swiper-container .swiper-wrapper .swiper-slide img {
      /*							min-height: 100vh !important;*/ } }
  body.contact div.main h4 {
    padding: 0 1em; }
  body.contact div.main h2 {
    font-size: 1.4em;
    text-align: center;
    margin: 30px 0 30px; }
  body.contact div.main .contact-anchor {
    position: relative;
    top: -90px;
    visibility: hidden; }

/* -------------------------------- 
reserve components 
--------------------------------- */
body.reserve div.main {
  /*slider*/ }
  body.reserve div.main .swiper-container .swiper-wrapper .swiper-slide {
    position: relative; }
    @media screen and (max-width: 1024px) {
      body.reserve div.main .swiper-container .swiper-wrapper .swiper-slide img {
        min-height: auto !important; } }
    body.reserve div.main .swiper-container .swiper-wrapper .swiper-slide::after {
      content: " ";
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background-color: rgba(0, 0, 0, 0.26); }
  body.reserve div.main h4 {
    padding: 0 1em; }
    @media screen and (max-width: 600px) {
      body.reserve div.main h4 {
        padding: 0 1.5em;
        margin: 1rem 0 .5rem;
        font-size: 1.2em; } }
  body.reserve div.main h2 {
    font-size: 1.4em;
    text-align: center;
    margin: 60px 0 30px; }
  body.reserve div.main div.bs_wrap .wpcf7 p.p {
    text-align: center;
    font-size: 1.3em;
    margin-top: 0; }
    @media screen and (max-width: 600px) {
      body.reserve div.main div.bs_wrap .wpcf7 p.p {
        text-align: left;
        font-size: 1.0em; } }
  body.reserve div.main span.wpcf7-list-item {
    display: block; }
  body.reserve div.main div.bs_wrap p.com {
    margin-top: 1.5rem;
    text-align: center; }
    @media screen and (max-width: 600px) {
      body.reserve div.main div.bs_wrap p.com {
        text-align: left; } }

/* -------------------------------- 
sub components 
--------------------------------- */
@media screen and (max-width: 600px) {
  body.sub section.donyu div.inner p {
    padding: 1em 2em; } }

/*full-order*/
body.full-order a.link_btn {
  position: relative;
  display: inline;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 70%, rgba(0, 157, 191, 0.15) 15%);
  color: #009DBF;
  font-weight: bold;
  transition: 0.3s; }
  body.full-order a.link_btn:hover {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 50%, rgba(0, 157, 191, 0.15) 15%); }
body.full-order section.flow_wrap div.flex div.txt div.text {
  line-height: 1.6; }
  body.full-order section.flow_wrap div.flex div.txt div.text span {
    display: block;
    margin-top: 1em;
    font-size: .85em; }
  body.full-order section.flow_wrap div.flex div.txt div.text ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 25px 0 0 0; }
    @media screen and (max-width: 600px) {
      body.full-order section.flow_wrap div.flex div.txt div.text ul {
        display: block; } }
    body.full-order section.flow_wrap div.flex div.txt div.text ul li {
      width: calc(50% - 5px);
      display: flex;
      align-items: center;
      margin: 0 0 8px;
      font-size: .95em;
      letter-spacing: .05em; }
      @media screen and (max-width: 600px) {
        body.full-order section.flow_wrap div.flex div.txt div.text ul li {
          display: block;
          width: 100%; } }
      body.full-order section.flow_wrap div.flex div.txt div.text ul li img {
        width: 28px;
        height: 28px;
        margin-right: 8px; }
body.full-order section.flow_wrap div.center {
  text-align: center; }
  body.full-order section.flow_wrap div.center img {
    margin: 0 auto 40px; }
  body.full-order section.flow_wrap div.center dl {
    overflow: hidden;
    display: inline-block;
    text-align: left;
    margin: 0 0 1.5em; }
    body.full-order section.flow_wrap div.center dl dt {
      width: 9em;
      float: left;
      margin-bottom: 8px;
      background: url("../img/kiona_btn_bg.jpg");
      background-size: cover;
      color: #fff;
      font-weight: bold;
      padding: 1em;
      border-radius: 27px;
      text-align: center;
      position: relative;
      letter-spacing: 0.05em; }
      @media screen and (max-width: 600px) {
        body.full-order section.flow_wrap div.center dl dt {
          margin-left: auto;
          margin-right: auto;
          float: none; } }
      body.full-order section.flow_wrap div.center dl dt::before {
        content: '';
        width: calc(100% - 10px);
        height: calc(100% - 10px);
        position: absolute;
        top: 5px;
        left: 5px;
        display: block;
        border: 1px dashed #fff;
        border-radius: 22px; }
    body.full-order section.flow_wrap div.center dl dd {
      width: calc(100% - 9em);
      margin-left: 9em;
      margin-bottom: 8px;
      padding: 1em; }
      @media screen and (max-width: 600px) {
        body.full-order section.flow_wrap div.center dl dd {
          width: 100%;
          margin-left: auto;
          margin-right: auto;
          padding-top: 0;
          margin-bottom: 20px;
          line-height: 1.6; } }
  body.full-order section.flow_wrap div.center p {
    text-align: center; }

body.cross-ring a.link_btn {
  position: relative;
  display: inline;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 70%, rgba(0, 157, 191, 0.15) 15%);
  color: #009DBF;
  font-weight: bold;
  transition: 0.3s; }
  body.cross-ring a.link_btn:hover {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 50%, rgba(0, 157, 191, 0.15) 15%); }
body.cross-ring .border_wrap {
  background-image: url(../img/border.png);
  background-repeat: no-repeat;
  background-position: top;
  height: 86px;
  text-align: center; }
  @media screen and (max-width: 600px) {
    body.cross-ring .border_wrap {
      height: 46px; } }
body.cross-ring .flex {
  display: flex;
  justify-content: space-between;
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
  padding: 0 0 100px; }
  @media screen and (max-width: 600px) {
    body.cross-ring .flex {
      display: block; } }
  body.cross-ring .flex .txt {
    line-height: 1.6;
    width: calc(45% - 20px); }
    @media screen and (max-width: 600px) {
      body.cross-ring .flex .txt {
        width: 100%; } }
  body.cross-ring .flex .img {
    width: calc(55% - 20px);
    background: #dedede; }
    @media screen and (max-width: 600px) {
      body.cross-ring .flex .img {
        width: 100%;
        margin-bottom: 30px; } }
  body.cross-ring .flex.step_img {
    align-items: center; }
    body.cross-ring .flex.step_img .img {
      min-height: 400px; }
      @media screen and (max-width: 600px) {
        body.cross-ring .flex.step_img .img {
          min-height: 0; } }
body.cross-ring .koukan_wrap {
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
  padding: 0 0 100px; }
  body.cross-ring .koukan_wrap ul {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 600px) {
      body.cross-ring .koukan_wrap ul {
        display: block; } }
    body.cross-ring .koukan_wrap ul li {
      flex: 0 0 30%; }
      @media screen and (max-width: 600px) {
        body.cross-ring .koukan_wrap ul li {
          width: 80%;
          margin: 0 auto 30px; } }
      body.cross-ring .koukan_wrap ul li img {
        border: 2px solid #efefef; }
      body.cross-ring .koukan_wrap ul li p {
        text-align: center;
        line-height: 1.8;
        padding: 10px 0 0 0; }
  body.cross-ring .koukan_wrap .kome {
    margin: 40px 0 0 0;
    text-indent: -1.1em;
    padding-left: 1.1em;
    line-height: 1.6; }
body.cross-ring .center {
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
  text-align: center; }
  body.cross-ring .center p {
    line-height: 1.6;
    padding: 15px 0 15px 0; }
  body.cross-ring .center .photo {
    max-width: 650px;
    width: 100%;
    height: auto;
    max-width: 100%;
    background: #efefef;
    margin: 50px auto; }
    body.cross-ring .center .photo:first-child {
      margin-top: 0; }

div.main section.ul_order ul {
  max-width: 750px; }
  div.main section.ul_order ul li.crossring_btn {
    position: relative;
    margin-right: 25px;
    margin-bottom: 25px;
    margin-top: 50px;
    overflow: hidden;
    width: 725px;
    height: 305px; }
    div.main section.ul_order ul li.crossring_btn a img {
      height: 27px;
      display: none; }
    div.main section.ul_order ul li.crossring_btn .background-image {
      background: url(../img/index/btn_crossring.png) no-repeat; }
    @media screen and (max-width: 600px) {
      div.main section.ul_order ul li.crossring_btn {
        margin-right: auto;
        width: 320px;
        height: 135px; }
        div.main section.ul_order ul li.crossring_btn .background-image {
          background-size: 100% auto; } }

body.home ul.ul_news.ul_voice li .name,
body.post-type-archive-voice ul.ul_news.ul_voice li .name {
  flex: 0 0 230px;
  width: 230px; }
  body.home ul.ul_news.ul_voice li .name p,
  body.post-type-archive-voice ul.ul_news.ul_voice li .name p {
    display: inline-block;
    position: relative;
    word-break: break-all;
    padding-right: 45px; }
    body.home ul.ul_news.ul_voice li .name p::after,
    body.post-type-archive-voice ul.ul_news.ul_voice li .name p::after {
      content: '';
      background: url("../img/hukidashi_p.png") 0 0 no-repeat;
      background-size: 25px auto;
      width: 25px;
      height: 25px;
      display: block;
      position: absolute;
      right: 10px;
      top: 0;
      bottom: 0;
      margin: auto; }
    body.home ul.ul_news.ul_voice li .name p span,
    body.post-type-archive-voice ul.ul_news.ul_voice li .name p span {
      display: inline-block;
      padding-left: .4em; }
  @media screen and (max-width: 820px) {
    body.home ul.ul_news.ul_voice li .name,
    body.post-type-archive-voice ul.ul_news.ul_voice li .name {
      flex: 0 0 210px;
      width: 210px; } }
body.home ul.ul_news.ul_voice li .honbun,
body.post-type-archive-voice ul.ul_news.ul_voice li .honbun {
  flex: 0 0 calc(100% - 230px);
  width: calc(100% - 230px); }
  @media screen and (max-width: 820px) {
    body.home ul.ul_news.ul_voice li .honbun,
    body.post-type-archive-voice ul.ul_news.ul_voice li .honbun {
      flex: 0 0 calc(100% - 210px);
      width: calc(100% - 210px); } }
  body.home ul.ul_news.ul_voice li .honbun p,
  body.post-type-archive-voice ul.ul_news.ul_voice li .honbun p {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }
  body.home ul.ul_news.ul_voice li .honbun:hover,
  body.post-type-archive-voice ul.ul_news.ul_voice li .honbun:hover {
    color: #FF9CA7; }
body.home section.contents div.ul_wrap,
body.post-type-archive-voice section.contents div.ul_wrap {
  flex: 0 0 78%;
  width: 78%; }
  @media screen and (max-width: 600px) {
    body.home section.contents div.ul_wrap,
    body.post-type-archive-voice section.contents div.ul_wrap {
      flex: auto;
      width: 100%; } }

body.single-voice section.contents div.single_left h2.single_title {
  border-bottom: 1px solid;
  padding-bottom: 30px; }
body.single-voice .addtoany_content {
  margin-top: 50px; }

body.single-voice div.side .widget_area div#recent-posts-3 ul li a,
body.post-type-archive-voice div.side .widget_area div#recent-posts-3 ul li a {
  display: inline-block;
  position: relative;
  word-break: break-all; }
  body.single-voice div.side .widget_area div#recent-posts-3 ul li a::after,
  body.post-type-archive-voice div.side .widget_area div#recent-posts-3 ul li a::after {
    content: 'さん'; }
body.single-voice div.side .widget_area div#categories-3,
body.post-type-archive-voice div.side .widget_area div#categories-3 {
  display: none; }

div.main div.title_wrap.pink_border {
  background-image: url(../img/border_pink.png); }

/* -------------------------------- 
reCAPTCHA
--------------------------------- */
div.grecaptcha-badge {
  visibility: hidden; }

p.recaptcha_policy {
  margin-bottom: 3.75em !important;
  text-align: center; }
  @media screen and (max-width: 600px) {
    p.recaptcha_policy {
      text-align: left; } }

/* -------------------------------- 
reserve
--------------------------------- */
body.reserve div.wpcf7 input[type="radio"] {
  accent-color: #0075ff; }

body.reserve div.wpcf7 input[type="checkbox"] {
  position: relative;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #fff;
  vertical-align: baseline;
  border: 1px solid gray;
  appearance: none;
  -webkit-appearance: none;
  outline: none;
  cursor: pointer; }

body.reserve div.wpcf7 input[type="checkbox"]:disabled {
  background: transparent; }

body.reserve div.wpcf7 input[type="checkbox"]:checked {
  border: 1px solid #0075ff; }

body.reserve div.wpcf7 input[type="checkbox"]:checked:disabled {
  border: 1px solid gray; }

body.reserve div.wpcf7 input[type="checkbox"]:checked:disabled:before {
  background-color: transparent !important; }

body.reserve div.wpcf7 input[type="checkbox"]:checked:before {
  position: absolute;
  background-color: #0075ff;
  height: 8px;
  width: 8px;
  content: " ";
  left: 2px;
  top: 2px;
  border-radius: 50%; }

@-moz-document url-prefix() {
  body.reserve div.wpcf7 input[type="checkbox"] {
    position: relative;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #fff;
    vertical-align: baseline;
    border: 2px solid #90909e;
    appearance: none;
    -webkit-appearance: none;
    outline: none;
    cursor: pointer; }

  body.reserve div.wpcf7 input[type="checkbox"]:checked {
    border: 2px solid #0075ff; }

  body.reserve div.wpcf7 input[type="checkbox"]:checked:disabled {
    border: 2px solid #90909e; }

  body.reserve div.wpcf7 input[type="checkbox"]:checked:before {
    position: absolute;
    background-color: #0075ff;
    height: 6px;
    width: 6px;
    content: " ";
    left: 2px;
    top: 2px;
    border-radius: 50%; } }
/* 必須 */
body div.form-group span.red {
  color: crimson;
  padding-left: .25rem;
  font-size: .85rem; }

/* -------------------------------- 
recruit
--------------------------------- */
body.recruit .header h1 img {
  filter: drop-shadow(0px 0px 25px rgba(102, 102, 102, 0.65)) !important; }
body.recruit .header p {
  text-shadow: 0px 0px 8px rgba(102, 102, 102, 0.9); }
body.recruit header.header.is_fixed p {
  text-shadow: 0 0 0; }
body.recruit div.main section#slider h1.page_title span {
  display: block;
  text-align: center;
  font-size: 0.6em;
  padding-top: 0.2em; }
@media screen and (max-width: 600px) {
  body.recruit div.main section.donyu {
    margin-bottom: 40px; } }
body.recruit div.main section.donyu h2 {
  font-size: 1.4em;
  letter-spacing: 0.1em;
  text-align: center;
  margin: 0 0 30px; }
  @media screen and (max-width: 600px) {
    body.recruit div.main section.donyu h2 {
      margin: 20px 0 20px; } }
body.recruit div.main section.donyu h2.recruit_no, body.recruit div.main section.donyu h2.recruit {
  font-size: 1.4em;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-align: center;
  margin: 0 0 30px;
  position: relative;
  display: inline-block;
  padding: 0 55px;
  left: 50%;
  transform: translate(-50%, -50%); }
  body.recruit div.main section.donyu h2.recruit_no::before, body.recruit div.main section.donyu h2.recruit_no::after, body.recruit div.main section.donyu h2.recruit::before, body.recruit div.main section.donyu h2.recruit::after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 40px;
    height: 1px;
    background-color: black; }
  body.recruit div.main section.donyu h2.recruit_no::before, body.recruit div.main section.donyu h2.recruit::before {
    left: 0; }
  body.recruit div.main section.donyu h2.recruit_no::after, body.recruit div.main section.donyu h2.recruit::after {
    right: 0; }
  @media screen and (max-width: 600px) {
    body.recruit div.main section.donyu h2.recruit_no, body.recruit div.main section.donyu h2.recruit {
      margin: 20px 0 0;
      padding: 0 20px; }
      body.recruit div.main section.donyu h2.recruit_no::before, body.recruit div.main section.donyu h2.recruit_no::after, body.recruit div.main section.donyu h2.recruit::before, body.recruit div.main section.donyu h2.recruit::after {
        width: 15px; } }
@media screen and (max-width: 600px) {
  body.recruit div.main section.donyu h2.recruit {
    font-size: 1.5em;
    line-height: 1.3;
    margin: 40px 0 0;
    padding: 0 30px; }
    body.recruit div.main section.donyu h2.recruit::before, body.recruit div.main section.donyu h2.recruit::after {
      width: 20px; } }
body.recruit div.main section.donyu p {
  margin-bottom: 2em; }
  @media screen and (max-width: 600px) {
    body.recruit div.main section.donyu p {
      margin-bottom: 0em;
      padding-left: 1em;
      padding-right: 1em; } }
body.recruit div.main section.detail div.title_wrap {
  background-image: url(../img/border.png);
  background-repeat: no-repeat;
  background-position: center;
  height: 30px;
  text-align: center;
  margin: 0 0 110px; }
  @media screen and (max-width: 600px) {
    body.recruit div.main section.detail div.title_wrap {
      margin: 0 0 55px; } }
  body.recruit div.main section.detail div.title_wrap h2 {
    display: inline-block;
    padding: 0 16px;
    background: #fff; }
    body.recruit div.main section.detail div.title_wrap h2::before, body.recruit div.main section.detail div.title_wrap h2::after {
      content: none; }
body.recruit div.main section.detail h3 {
  margin-bottom: 30px; }
body.recruit div.main section.detail p {
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 2.2; }
  @media screen and (max-width: 820px) {
    body.recruit div.main section.detail p {
      font-size: 0.9em; } }
  @media screen and (max-width: 600px) {
    body.recruit div.main section.detail p {
      font-size: 1em;
      padding-left: 1em;
      padding-right: 1em; } }
body.recruit div.main section.detail dl {
  display: flex;
  flex-wrap: wrap;
  line-height: 1.6;
  margin: 50px auto;
  width: 750px;
  max-width: 100%; }
  @media screen and (max-width: 820px) {
    body.recruit div.main section.detail dl {
      max-width: 85%; } }
  @media screen and (max-width: 600px) {
    body.recruit div.main section.detail dl {
      max-width: 100%;
      padding-left: 1em;
      padding-right: 1em; } }
  body.recruit div.main section.detail dl dt {
    border-top: 2px solid #666;
    width: 160px;
    padding: 1.15em 1em;
    border-bottom: none;
    position: relative; }
    @media screen and (max-width: 600px) {
      body.recruit div.main section.detail dl dt {
        width: 6em;
        padding: 0.85em 0.7em; } }
    body.recruit div.main section.detail dl dt::after {
      content: '';
      width: 0;
      height: calc(100% - 1.6em);
      border-right: 1px solid #666;
      position: absolute;
      top: 0.8em;
      right: 0; }
    body.recruit div.main section.detail dl dt:nth-last-child(2) {
      border-bottom: 2px solid #666; }
  body.recruit div.main section.detail dl dd {
    border-top: 2px solid #666;
    width: calc(100% - 160px);
    padding: 1.15em; }
    @media screen and (max-width: 600px) {
      body.recruit div.main section.detail dl dd {
        width: calc(100% - 6em);
        padding: 0.85em; } }
    body.recruit div.main section.detail dl dd:last-child {
      border-bottom: 2px solid #666; }
body.recruit div.main section.detail div.ul_center {
  width: 750px;
  max-width: 100%;
  font-size: 0.9em;
  margin: 80px auto; }
  @media screen and (max-width: 820px) {
    body.recruit div.main section.detail div.ul_center {
      max-width: 85%; } }
  @media screen and (max-width: 600px) {
    body.recruit div.main section.detail div.ul_center {
      max-width: 100%;
      padding-left: 1em;
      padding-right: 1em; } }
  body.recruit div.main section.detail div.ul_center h4 {
    width: 100%;
    font-size: 1.6em;
    text-align: center;
    border-bottom: 2px solid #666;
    padding: 0 0 0.6em;
    margin: 0 0 0.5em; }
  body.recruit div.main section.detail div.ul_center ul {
    width: 100%; }
    body.recruit div.main section.detail div.ul_center ul li {
      position: relative;
      border-bottom: 1px dashed #666;
      font-size: 1.25em;
      padding: 10px 10px 10px 1.9em;
      margin: 0 0 0.25em; }
      body.recruit div.main section.detail div.ul_center ul li::after {
        font-family: "Font Awesome 5 Free";
        content: '\f044';
        font-weight: bold;
        width: 1em;
        height: 1em;
        position: absolute;
        left: 10px;
        top: calc(10px + 0.2em);
        font-size: 0.8em;
        color: #666; }
body.recruit div.main section.detail .recruit_bottom {
  background: rgba(102, 102, 102, 0.1);
  padding: 2.5em;
  text-align: center; }
  @media screen and (max-width: 600px) {
    body.recruit div.main section.detail .recruit_bottom {
      padding: 1.9em 1.5em;
      margin: 0 1em; } }
  body.recruit div.main section.detail .recruit_bottom .recruit_address {
    background: #fff;
    display: inline-block;
    border: 1px solid rgba(102, 102, 102, 0.3);
    padding: 1.5em 3.5em;
    margin: 1.5em 0;
    line-height: 1.8; }
    @media screen and (max-width: 600px) {
      body.recruit div.main section.detail .recruit_bottom .recruit_address {
        padding: 1.15em 1.4em; } }
