@charset "UTF-8";
/*----------------------------------------

	index CSS

	- common

-----------------------------------------*/

html.lenis,
html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

@media screen and (min-width:768px) {
  a[href *="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

/*----------------------------------------
	common
-----------------------------------------*/

a.link {
  text-decoration: underline;
  transition: 0.3s;
}

a.link:hover {
  text-decoration: none;
  opacity: 0.7;
}

.ind01 {
  text-indent: -1em;
  padding-left: 1em;
}

.ind02 {
  padding-left: 2em;
  text-indent: -2em;
}

.indent-clear {
  text-indent: inherit;
  padding-left: 1em;
}

.list-attention {
  font-size: 14px;
  line-height: 1.6;
}

@media screen and (min-width: 768px) {
  .list-attention {
    font-size: 18px;
  }
}

.mw1920 {
  max-width: 1920px;
  margin: 0 auto;
}

.mw1480 {
  max-width: 1480px;
  margin: 0 auto;
}

.mw1400 {
  max-width: 1400px;
  margin: 0 auto;
}

.mw1320 {
  max-width: 1320px;
  margin: 0 auto;
}

.mw1240 {
  max-width: 1240px;
  margin: 0 auto;
}

.mw1140 {
  max-width: 1140px;
  margin: 0 auto;
}

.mw1176 {
  max-width: 1176px;
  margin: 0 auto;
}

.mw1096 {
  max-width: 1096px;
  margin: 0 auto;
}

.mw1040 {
  max-width: 1040px;
  margin: 0 auto;
}

.mw960 {
  max-width: 960px;
  margin: 0 auto;
}

.mw880 {
  max-width: 880px;
  margin: 0 auto;
}

.mw800 {
  max-width: 800px;
  margin: 0 auto;
}

.mw720 {
  max-width: 720px;
  margin: 0 auto;
}

.ttl-lv2 span:nth-of-type(1) {
  font-size: 32px;
  display: inline-block;
  line-height: 1;
}

.ttl-lv2 span:nth-of-type(2) {
  font-size: 18px;
  line-height: 1.4;
  display: inline-block;
}

.ttl-lv3 {
  font-size: 24px;
}

.ttl-lv4 {
  font-size: 20px;
}

@media screen and (min-width: 768px) {
  .ttl-lv2 span:nth-of-type(1) {
    font-size: 60px;
  }

  .ttl-lv2 span:nth-of-type(2) {
    font-size: 20px;
  }

  .ttl-lv3 {
    font-size: 48px;
  }

  .ttl-lv4 {
    font-size: 40px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {}

.fc-white {
  color: #ffffff;
}


.btn-linkWrapper {
  line-height: 1;
}

/*btn-link*/
.btn-link {
  position: relative;
  width: 18px;
  height: 18px;
  line-height: inherit;
  display: inline-block;
  background: #00A6C4;
}

.btn-link--icon {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  bottom: 0;
  width: 12px;
  height: 12px;
  overflow: hidden;
}

.btn-link--icon:before,
.btn-link--icon:after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 7px;
  border-color: transparent transparent transparent #00A6C4;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}

.btn-link--icon:after {
  transform: translate(-100%, 0);
}

@media (min-width: 768px) {

  /*btn-link*/
  .btn-link {
    width: 42px;
    height: 42px;
    transition: 0.3s;
  }

  .btn-link--icon {
    right: 0.2em;
    width: 22px;
    height: 22px;
  }

  .btn-link--icon:before,
  .btn-link--icon:after {
    border-width: 10px 0 10px 16px;
  }

  .btn-link--icon:after {
    transition-delay: 0s;
    -webkit-transition-delay: 0s;
  }

  /*btn-link hover*/
  .btn-link:hover .btn-link--icon:before {
    transition-duration: 0.6s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -ms-transition-duration: 0.6s;
    -ms-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transition-duration: 0.6s;
    -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -moz-transition-duration: 0.6s;
    -moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translate(138%, 0);
  }

  .btn-link:hover .btn-link--icon:after {
    transform: translate(0, 0);
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -ms-transition-duration: 1s;
    -ms-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transition-duration: 1s;
    -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -moz-transition-duration: 1s;
    -moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transition-delay: 0.3s;
    -webkit-transition-delay: 0.3s;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {

  /*btn-link*/
  .btn-link {
    width: 24px;
    height: 24px;
  }

  .btn-link--icon {
    right: 0.3em;
    width: 12px;
    height: 12px;
  }

  .btn-link--icon:before,
  .btn-link--icon:after {
    border-width: 7px 0 7px 12px;
  }
}





/*----------------------------------------
	cmn-header
-----------------------------------------*/

.cmn-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  transition: all 0.2s cubic-bezier(0.37, 0, 0.63, 1);
  background: rgba(255, 255, 255, 0.9);
  height: 50px;
  background: #22409A;
  z-index: 1000;
}

.lv2 .cmn-header {
  background: rgba(255, 255, 255, 1);
}

.cmn-header__logoIcon {
  width: auto;
  height: 28px;
  z-index: 100;
}

.cmn-header__logoTtl,
.cmn-header__logoTtl02 {
  width: auto;
  height: 24px;
}

.cmn-header__ttl-txt {
  display: none;
}

/*cmn-header__other-nav*/
.cmn-header__other-nav ul li a {
  position: relative;
  display: block;
  background: rgba(12, 169, 225, 1);
  width: 88px;
  height: 88px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: 0.3s;
}

.cmn-header__other-nav ul li:nth-of-type(2) a {
  background: rgba(0, 0, 0, 1);
}

/*fixed*/
.cmn-header.fixed {
  background: none;
  height: 30px;
}

.cmn-header.fixed .cmn-header__logoIcon {
  height: 16px;
}

.cmn-header.fixed .cmn-header__logoTtl,
.cmn-header.fixed .cmn-header__logoTtl02 {
  height: 16px;
}

.cmn-header.fixed .cmn-header__other-nav ul li a {
  width: 70px;
  height: 70px;
}

@media screen and (min-width: 1399px) {
  .cmn-header {
    height: 80px;
    background: none;
  }

  .cmn-header__logoImg {
    height: 32px;
  }

  .cmn-header__ttl {
    text-align: center;
  }

  .cmn-header__ttl-txt {
    font-size: 14px;
    display: block;
  }

  .cmn-header__ttl a {
    transition: 0.3s;
  }

  .cmn-header__ttl a:hover {
    opacity: 0.6;
  }

  .cmn-header__logoIcon {
    height: 32px;
  }

  .cmn-header__logoTtl,
  .cmn-header__logoTtl02 {
    height: 24px;
  }

  /*fixed*/
  .cmn-header.fixed {
    //padding-top: 1.2em;

  }

  .gnav__inner:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100vw;
    height: 80px;
    background: rgba(34, 64, 154, 1);
    z-index: -1;
    transition: 0.3s;
  }

  .cmn-header.fixed .gnav__inner:before {
    width: 100%;
    height: 40px;
  }

  .cmn-header.fixed .cmn-header__logoIcon {
    height: 24px;
  }

  .cmn-header.fixed .cmn-header__logoTtl,
  .cmn-header.fixed .cmn-header__logoTtl02 {
    height: 20px;
  }

  .cmn-header.fixed .cmn-header__ttl-txt {
    display: none;
  }

  .cmn-header__other-nav ul li:nth-of-type(1) a:hover {
    background: rgba(12, 169, 225, 0.75);
  }

  .cmn-header__other-nav ul li:nth-of-type(2) a:hover {
    background: rgba(0, 0, 0, 0.75);
  }
}

@media screen and (min-width: 1199px) {
  .cmn-header__logoIcon {
    height: 36px;
  }

  .cmn-header__logoTtl,
  .cmn-header__logoTtl02 {
    height: 28px;
  }
}

@media screen and (min-width: 1399px) {
  .cmn-header__logoIcon {
    height: 40px;
  }

  .cmn-header__logoTtl,
  .cmn-header__logoTtl02 {
    height: 32px;
  }
}


@media only screen and (min-width: 768px) and (max-width: 1399px) {
  .cmn-header__logoImg {
    //height: 60px !important;
    padding-top: 0.4em;
  }

  .cmn-header__ttl-txt {
    font-size: 1vw;
  }
}

@media screen and (max-width: 1399px) {
  .cmn-header__logo {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 3000;
    //margin: 0 0 0 2%;
  }

  .cmn-header.fixed .cmn-header__logo {
    margin-top: 0;
  }
}

@media screen and (max-width: 1399px) {
  .cmn-header__logo {
    //margin: 0 0 0 2%;
  }
}

/*----------------------------------------
	gnav
-----------------------------------------*/

@media screen and (max-width: 1399px) {
  #gnav {
    display: none;
  }

  #gnav.is-active {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2000;
  }

  .gnav__inner {
    position: relative;
    height: 100%;
  }

  #gnav .cmn-gmenu-link__inner {
    position: relative;
    height: 100%;
    overflow-y: auto;
    -ms-overflow-style: none;
    /* IE, Edge 対応 */
    scrollbar-width: none;
    -webkit-overflow-scrolling: auto;
  }

  #gnav .cmn-gmenu-link__inner::-webkit-scrollbar {
    /* Chrome, Safari 対応 */
    display: none;
  }

  .gnav__logo {
    display: block;
    margin-top: 1.5rem;
    margin-left: 1rem;
  }

  .gnav__logo a {
    display: inline-block;
  }

  .gnav__logo a img {
    height: 20px;
    width: auto;
  }

  .gnav__logo a:hover {
    opacity: 0.6;
  }

  .gnav_bg {
    position: fixed;
    top: 0;
    left: 0;
    background: #ffffff;
    width: 100%;
    height: 100%;
    z-index: 3;
  }

  .gnav__box {
    padding: 3% 0 5%;
  }

  .gnav__box ul li a {
    position: relative;
  }

  .gnav__box ul li a {
    width: 100%;
    display: block;
    font-size: 18px;
    border-bottom: 1px dotted #444444;
    font-weight: bold;
    padding: 5% 0 5% 7%;
  }

  .gnav__box ul li a:before {
    content: "";
    width: 8px;
    height: 8px;
    border-top: solid 1px #014e39;
    border-right: solid 1px #014e39;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
    margin-top: -0.2%;
  }

  .cmn-header ul li a span.copy {
    display: none;
  }

  #gnavBtn {
    position: fixed;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    z-index: 3000;
    transition: 0.3s;
    background: #22409A;
    cursor: pointer;
  }

  #gnavBtn.is-active {
    background: #22409A;
  }

  #gnavBtn>div {
    display: flex;
    width: 50px;
    height: 50px;
    justify-content: center;
    align-items: center;
    margin-top: 0.3em;
  }

  #gnavBtn>div>div {
    position: relative;
    width: 24px;
    height: 24px;
  }

  #gnavBtn span {
    position: absolute;
    top: 6px;
    left: 0;
    display: block;
    text-decoration: none;
    width: 24px;
    height: 1px;
    background-color: #ffffff;
  }

  #gnavBtn.is-active span {
    background-color: #ffffff;
  }

  #gnavBtn span:first-child {
    left: 0;
    width: 24px;
    transform: translateY(-6px);
  }

  #gnavBtn span:nth-child(2) {
    left: 0;
    width: 24px;
  }

  #gnavBtn span:nth-child(3) {
    left: 0;
    width: 24px;
    transform: translateY(6px);
  }

  #gnavBtn.is-close span:first-child {
    transform: translateY(-6px);

    animation-name: menuBarOut;
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  }

  #gnavBtn.is-close span:first-child,
  #gnavBtn.is-close span:nth-child(2) {
    left: 0;
    width: 24px;
    animation-duration: 0.5s;
    animation-delay: 0s;
  }

  #gnavBtn.is-close span:nth-child(2) {
    animation-name: menuBar2Out;
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  }

  #gnavBtn.is-close span:nth-child(3) {
    transform: translateY(6px);
    animation-name: menuBar3Out;
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  }

  #gnavBtn.is-close span:nth-child(3),
  #gnavBtn.is-active span:first-child {
    left: 0;
    width: 24px;
    animation-duration: 0.5s;
    animation-delay: 0s;
  }

  #gnavBtn.is-active span:first-child {
    transform: translateY(0) rotate(45deg);
    animation-name: menuBar;
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  }

  #gnavBtn.is-active span:nth-child(2) {
    left: 12px;
    width: 0;
    animation-duration: 0.5s;
    animation-delay: 0s;
    animation-name: menuBar2;
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  }

  #gnavBtn.is-active span:nth-child(3) {
    left: 0;
    width: 24px;
    transform: translateY(0) rotate(-45deg);
    animation-duration: 0.5s;
    animation-delay: 0s;
    animation-name: menuBar3;
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  }

  .cmn-header__gnav {
    padding: 4em 1.5em;
  }

  .cmn-header__gnav li a {
    position: relative;
    font-weight: bold;
    padding: 1em 2em 1em 0;
    display: inline-block;
    width: 100%;
    font-size: 15px;
    line-height: 1.4;
    color: #ffffff;
  }

  .cmn-header__gnav>ul>li a:before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 0 4px 6px;
    border-color: transparent transparent transparent #ffffff;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin-top: 1.4em;
  }

  .cmn-header__gnav li {
    border-top: 1px dotted #ccc;
    transform: translateY(-10px);
    opacity: 0;
    transition: 1.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  /*cmn-header__other-nav*/
  #gnav.is-active .cmn-header__other-nav {
    position: fixed;
    top: 0;
    right: 50px;
  }

  #gnav.is-active .cmn-header__other-nav ul li a {
    width: 50px;
    height: 50px;
    transition: none;
  }

  #gnav.is-active .cmn-header__other-nav--icon-map {
    width: 18px;
    height: 24px;
  }

  #gnav.is-active .cmn-header__other-nav--icon-mail {
    width: 18px;
    height: 24px;
  }

  #gnav.is-active .cmn-header__gnav li {
    transform: translateY(0);
    opacity: 1;
  }

  #gnav.is-active .cmn-header__gnav li:nth-of-type(1) {
    transition-delay: 0.3s;
  }

  #gnav.is-active .cmn-header__gnav li:nth-of-type(2) {
    transition-delay: 0.4s;
  }

  #gnav.is-active .cmn-header__gnav li:nth-of-type(3) {
    transition-delay: 0.5s;
  }

  #gnav.is-active .cmn-header__gnav li:nth-of-type(4) {
    transition-delay: 0.6s;
  }

  #gnav.is-active .cmn-header__gnav li:nth-of-type(5) {
    transition-delay: 0.7s;
  }

  #gnav.is-active .cmn-header__gnav li:nth-of-type(6) {
    transition-delay: 0.8s;
  }

  #gnav.is-active .cmn-header__gnav li:nth-of-type(7) {
    transition-delay: 0.9s;
  }

  #gnav.is-active .cmn-header__gnav li:nth-of-type(8) {
    transition-delay: 1s;
  }

  .l-drawer__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    z-index: -1;
  }

  .l-drawer__bg span {
    overflow: hidden;
    position: relative;
    display: block;
    width: 25%;
    height: 100%;
  }

  #gnav.is-active .l-drawer__bg span::before {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
    -webkit-transition: opacity 0.6s cubic-bezier(0.5, 0, 0, 1),
      -webkit-transform 0.6s cubic-bezier(0.5, 0, 0, 1);
    transition: opacity 0.6s cubic-bezier(0.5, 0, 0, 1),
      -webkit-transform 0.6s cubic-bezier(0.5, 0, 0, 1);
    transition: transform 0.6s cubic-bezier(0.5, 0, 0, 1),
      opacity 0.6s cubic-bezier(0.5, 0, 0, 1);
    transition: transform 0.6s cubic-bezier(0.5, 0, 0, 1),
      opacity 0.6s cubic-bezier(0.5, 0, 0, 1),
      -webkit-transform 0.6s cubic-bezier(0.5, 0, 0, 1);
  }

  .l-drawer__bg span::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #22409A;
    opacity: 0;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-transition: opacity 0.6s cubic-bezier(0.5, 0, 0, 1),
      -webkit-transform 0s cubic-bezier(0.5, 0, 0, 1) 0.5s;
    transition: opacity 0.6s cubic-bezier(0.5, 0, 0, 1),
      -webkit-transform 0s cubic-bezier(0.5, 0, 0, 1) 0.5s;
    transition: transform 0s cubic-bezier(0.5, 0, 0, 1) 0.5s,
      opacity 0.6s cubic-bezier(0.5, 0, 0, 1);
    transition: transform 0s cubic-bezier(0.5, 0, 0, 1) 0.5s,
      opacity 0.6s cubic-bezier(0.5, 0, 0, 1),
      -webkit-transform 0s cubic-bezier(0.5, 0, 0, 1) 0.5s;
  }
}

@media screen and (min-width: 1399px) {
  .cmn-gmenu-link-col-wrapper {
    position: relative;
    width: 100%;
  }

  .cmn-header__gnav {
    background-color: rgba(255, 255, 255, 0);
  }

  /*fixed*/
  .cmn-header.fixed #gnav {
    position: fixed;
    right: 0;
    top: 0;
  }

  .cmn-gmenu-link__inner {
    //background-color: rgba(34, 64, 154, 0);
    padding-left: 1.2em;
  }

  .cmn-header.fixed .cmn-gmenu-link__inner {
    padding-top: 1%;
  }

  .cmn-header__gnav>ul>li {
    position: relative;
    overflow: hidden;
    line-height: 1.6;
  }

  .cmn-header__gnav>ul li a {
    position: relative;
    display: block;
    text-decoration: none;
    transform: translateY(0);
    color: #ffffff;
    font-weight: 500;
    font-size: 1vw;
  }

  .cmn-header__gnav>ul>li:nth-of-type(n + 2) {
    margin-left: 0.6em;
  }

  .cmn-header ul li a span {
    display: block;
  }

  .cmn-header__gnav>ul>li a span.copy {
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(100%);
    transition: transform 0;
  }

  .cmn-header__gnav>ul>li:not(:hover) a {
    transform: translateY(0);
  }

  .cmn-header__gnav>ul>li:hover a {
    transform: translateY(-100%);
    transition: transform 0.5s;
  }

  .cmn-header__gnav>ul>li:hover a span.copy {
    top: 50%;
    left: 0%;
    transform: translateY(50%);
    z-index: 100;
    transition: transform 0.2s;
  }

}

@media screen and (min-width: 1499px) {
  .cmn-header__gnav>ul li a {
    font-size: 15px;
  }
}

@media only screen and (min-width: 993px) and (max-width: 1399px) {

  .cmn-header__gnav>ul>li {
    font-size: 1.2vw;
  }

  .cmn-header__gnav>ul>li:nth-of-type(n + 2) {}

  /*fixed*/
  .cmn-header.fixed .contact-btn {
    width: 80px;
    height: 80px;
  }

}

@media only screen and (min-width: 993px) and (max-width: 1199px) {}

/*----------------------------------------
	kv
-----------------------------------------*/

.kv {
  position: relative;
  overflow: hidden;
}

.kv__inner {
  position: relative;
}

.kv__txt,
.kv__txt02 {
  position: absolute;
  font-size: 15.2vw;
  line-height: 1.7;
  color: #ffffff;
  letter-spacing: 0.01em;
  line-height: 1.4;
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.8);
  z-index: 100;
}

.kv__txt {
  top: 13%;
  left: 82%;
}

.kv__txt02 {
  top: 13%;
  left: -4%;
}

.kv__pic {
  aspect-ratio: 800 / 850;
}

/*kv__pic01*/
.kv__pic .kv__pic01 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  filter: blur(10px);
  mask-image: url(../../images/top/mask.png);
  mask-position: 100% center;
  mask-size: 300% 100%;
  transition: mask-position 1.5s cubic-bezier(.42, 0, .58, 1) .1s, transform 3s cubic-bezier(.42, 0, .58, 1), filter 2.5s cubic-bezier(.42, 0, .58, 1);
  transform: scale(1.1);
  margin-top: 30px;
}

.kv.on .kv__pic .kv__pic01 {
  filter: blur(0);
  mask-position: 0% center;
  transform: scale(1);
}

.kv.on .kv__pic .kv__pic01 img {
  object-fit: cover;
  object-position: 0 0;
}

.fade_slide_kv_txt {
  filter: blur(5px);
  opacity: 0;
  transition: 1.6s cubic-bezier(0.32, 0.95, 0.6, 1);
  transform: scale(1.2);
  display: inline-block;
}

.fade_slide_kv_txt.on {
  filter: blur(0);
  opacity: 1;
  transform: scale(1);
}


@media screen and (min-width: 768px) {
  .kv {}

  .kv__pic {
    aspect-ratio: 1400 / 800;
  }

  .kv__txt,
  .kv__txt02 {
    font-size: 5vw;
    letter-spacing: 0.01em;
    line-height: 1.4;
    text-shadow: none;
  }

  .kv__txt {
    top: 15%;
    right: 5%;
    left: inherit;
  }

  .kv__txt02 {
    top: 20%;
    left: 5%;
  }

  .kv__pic .kv__pic01 {
    margin-top: 0;
  }

  .kv__txt__inner span:nth-of-type(2) {
    margin-top: 1.3em;
  }
}

@media screen and (min-width: 1199px) {
  .kv {
    //height: 100vh;
  }

  .kv__txt,
  .kv__txt02 {
    font-size: 120px;
    line-height: 1.1;
  }

  .kv .f160 {
    font-size: 160px;
  }
}


@media only screen and (min-width: 768px) and (max-width: 1199px) {

  .kv__txt,
  .kv__txt02 {
    font-size: 9vw;
    line-height: 1.1;
  }

  .kv .f160 {
    font-size: 12vw;
  }
}

@media only screen and (min-width: 1199px) and (max-width: 1399px) {}


/*----------------------------------------
	kv-lv2
-----------------------------------------*/

.kv-lv2 {
  position: relative;
  overflow: hidden;
  transition: 1.2s cubic-bezier(0.5, 0, 0, 1);
  background: #DDF6FF;
  margin-top: 50px;
  text-align: center;
  padding: 5% 0;
}

.kv-lv2__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.kv-lv2__ttl {
  font-size: 24px;
  color: #22409A;
}

@media screen and (min-width: 768px) {
  .kv-lv2 {}

  .kv-lv2__inner {}

  .kv-lv2__ttl {
    font-size: 48px;
  }

}


/*----------------------------------------
	sec-photo-wide
-----------------------------------------*/

.sec-photo-wide {
  position: relative;
}

.sec-photo-wide__pic {
  position: relative;
  box-sizing: border-box;
}

.sec-photo-wide__text {
  margin-top: 6%;
  box-sizing: border-box;
  padding: 0 4%;
}

.sec-photo-wide__title {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.3;
}

/*sec-photo-wide__l,sec-photo-wide__r*/
.sec-photo-wide__l,
.sec-photo-wide__r {
  margin-bottom: 10%;
}

@media screen and (min-width:993px) {
  .sec-photo-wide__pic {
    position: relative;
    width: 52%;
    padding-right: 0;
  }

  .sec-photo-wide__text {
    width: 48%;
    padding-left: 3%;
    padding-right: 3%;
    margin-top: 0;
    box-sizing: border-box;
  }

  .sec-photo-wide__title {
    font-size: 45px;
  }

  /*sec-photo-wide__l,sec-photo-wide__r*/
  .sec-photo-wide__l {
    margin-bottom: 5%;
  }

  .sec-photo-wide__r {
    margin-bottom: 5%;
  }

  .sec-photo-wide__l:before,
  .sec-photo-wide__l:after,
  .sec-photo-wide__r:before,
  .sec-photo-wide__r:after {
    content: "";
    clear: both;
    display: block;
  }

  /*sec-photo-wide__l*/
  .sec-photo-wide__l {
    max-width: calc(100% - (50% - (1560px / 2)));
    width: calc(100% - 0);
    margin-left: 0;
    margin-right: auto;
    //padding-right: calc(50% - (1560px / 2) - 2rem);
  }

  .sec-photo-wide__l .sec-photo-wide__pic {
    padding-right: 0;
  }

  /*sec-photo-wide__r*/
  .sec-photo-wide__r {
    max-width: calc(100% - (50% - (1560px / 2)));
    width: calc(100% - 0);
    margin-right: 0;
    margin-left: auto;
    //padding-left: calc(50% - (1560px / 2) - 2rem);
  }

  .sec-photo-wide__r .sec-photo-wide__pic {
    padding-left: 0;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .sec-photo-wide__title {
    font-size: 36px;
  }
}


/*----------------------------------------
	top-sec-intro
-----------------------------------------*/

.top-sec-intro {
  position: relative;
  padding: 8% 0 9%;
}

.top-sec-intro:before {
  content: '';
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: #DDF6FF;
  top: 50%;
  right: 0%;
  transform: translateY(-50%);
}

.top-sec-intro__ttl {
  color: #22409A;
  font-size: 8vw;
  line-height: 1.3;
}

.top-sec-intro__bg {
  position: absolute;
  bottom: 50%;
  right: 0%;
  width: 100%;
  z-index: -1;
}

@media only screen and (min-width: 768px) {
  .top-sec-intro {
    padding: 6% 0 9%;
    display: flex;
    position: relative;
  }

  .top-sec-intro__inner {
    position: relative;
    display: flex;
    align-self: flex-start;
    flex-direction: row-reverse;
  }

  .top-sec-intro__ttl {
    font-size: 5vw;
    letter-spacing: -0.02em;
    line-height: 1.3;
    position: sticky;
    top: 10%;
    align-self: flex-start;
    writing-mode: vertical-rl;
  }

  .top-sec-intro__txtWrapper {
    font-size: 1.8vw;
    margin-right: auto;
  }

  .top-sec-intro__bg {
    bottom: inherit;
    top: 20%;
    width: 90%;
    margin-top: -5%;
  }
}

/*----------------------------------------
	top-sec-menu
-----------------------------------------*/

.top-sec-menu {
  padding-top: 10%;
}

.top-sec-news {
  position: relative;
  background: #F0F5F7;
  padding: 4%;
  width: 100%;
  overflow-y: auto;
  height: 250px;
}

.top-sec-news__inner {
  width: 100%;
  height: auto;
}

.top-sec-news a {
  color: #22409A;
}

.top-sec-menu__inner {
  display: flex;
  flex-wrap: wrap;
}

.top-sec-news-ttl {
  font-size: 32px;
  color: #22409A;
}

.top-sec-news .date {
  font-size: 14px;
  line-height: 1;
}

.top-sec-news .txt {
  font-size: 16px;
  display: block;
  line-height: 1.3;
}

.top-sec-news__col:nth-of-type(n+2) {
  border-top: 1px dotted #02A6C3;
  padding-top: 5%;
  margin-top: 4%;
}

.top-sec-menu__col {
  width: 49%;
  margin-top: 2%;
}

.top-sec-menu__col:nth-child(even) {
  margin-right: 2%;
}

.top-sec-menu__col a {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.top-sec-menu__col a:before {
  content: '';
  position: absolute;
  background: linear-gradient(to bottom right, #00A6C4 0%, #00A6C4 51%, #00d8ff 100%);
  background-size: 200% auto;
  width: 150%;
  height: 150%;
  padding-top: 50%;
  z-index: -2;
  transition: 0.3s;
}

.top-sec-menu__col__inner {
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-sec-menu__col__ttl {
  color: #ffffff;
  font-size: 4vw;
  line-height: 1.2;
}

.top-sec-menu__col .btn-link {
  background: #ffffff;
}

.top-sec-menu__col__icon {
  position: relative;
  width: 45%;
  height: 45%;
}


/*新来島サノヤス造船の事業*/
.c-wave {
  width: 50%;
  height: 100%;
  position: absolute;
  top: 76%;
  overflow: hidden;
}

.c-wave svg {
  width: 110%;
  height: 100px;
  position: absolute;
  top: 0;
  left: 0;
  margin-left: -10%;
}

.feel-the-wave {
  stroke-width: 5;
  stroke-linecap: round;
}


.top-sec-menu__col__icon.menu01 .s02 {
  position: absolute;
  padding-top: 5%;
  left: 6%;
  width: 120%;
  height: 30px;
}

/*新来島サノヤス造船の事業*/
.top-sec-menu__col__icon.menu02 .s01 {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
}

.top-sec-menu__col__icon.menu02 .s02 {
  position: absolute;
  bottom: 1%;
  width: 25%;
  right: 0;
  margin-right: 10%;
}

.top-sec-menu__col__icon.menu02 .s03 {
  position: absolute;
  top: 40%;
  width: 13%;
  right: 0;
  margin-right: 16%;
}

.top-sec-menu__col__icon.menu02 .s04 {
  content: '';
  position: absolute;
  top: 25%;
  width: 5%;
  height: 20%;
  right: 0;
  margin-right: 20%;
  background: #ffffff;
}

/*数字で見る新来島サノヤス造船の特徴*/
.top-sec-menu__col__icon.menu03 .menu_icon03_01 {
  position: absolute;
  top: 0;
  left: -15%;
  width: 36%;
}

.top-sec-menu__col__icon.menu03 .menu_icon03_02 {
  position: absolute;
  top: 15%;
  left: 30%;
  width: 36%;
}

.top-sec-menu__col__icon.menu03 .menu_icon03_03 {
  position: absolute;
  top: 0;
  left: 75%;
  width: 45%;
}

/*先輩インタビュー*/
.top-sec-menu__col__icon.menu04 .menu_icon04_01 {
  position: absolute;
  top: 0;
  left: 10%;
  width: 90%;
}

.top-sec-menu__col__icon.menu04 .menu_icon04_02 {
  position: absolute;
  top: 0;
  left: 10%;
  width: 90%;
}

.top-sec-menu__col__icon.menu04 .menu_icon04_03 {
  position: absolute;
  top: -10%;
  left: -50%;
  width: 22%;
  opacity: 0;
  filter: brightness(0) invert(1);
}

.top-sec-menu__col__icon.menu04 .menu_icon04_04 {
  position: absolute;
  top: 0;
  left: -30%;
  width: 22%;
  opacity: 0;
  filter: brightness(0) invert(1);
}

.top-sec-menu__col__icon.menu04 .menu_icon04_05 {
  position: absolute;
  top: 10%;
  left: -10%;
  width: 22%;
  opacity: 0;
  filter: brightness(0) invert(1);
}

/*勤務地の暮らし*/
.top-sec-menu__col__icon.menu05 .menu_icon05_02 {
  position: absolute;
  bottom: 20%;
  left: 22%;
  width: 20%;
  height: 20%;
  transform: skewY(24deg);
  transform-origin: left top;
}

/*充実の福利厚生*/
.top-sec-menu__col__icon.menu06 .menu_icon06_01 {
  position: absolute;
  bottom: -10%;
  left: 0;
  width: 90%;
}

.top-sec-menu__col__icon.menu06 .menu_icon06_02 {
  position: absolute;
  bottom: 45%;
  left: 20%;
  width: 50%;
}

/*募集要項*/
.top-sec-menu__col__icon.menu07 .menu_icon07_01 {
  position: absolute;
  bottom: 5%;
  left: 10%;
  width: 70%;
}

.top-sec-menu__col__icon.menu07 .menu_icon07_02 {
  position: absolute;
  bottom: 62%;
  left: 20%;
  width: 24%;
  height: 3px;
  z-index: 1;
  border-radius: 9999px;
  background: #ffffff;
}

.top-sec-menu__col__icon.menu07 .menu_icon07_03 {
  position: absolute;
  bottom: 20%;
  right: 30%;
  width: 24%;
  height: 3px;
  z-index: 1;
  border-radius: 9999px;
  background: #ffffff;
}

@media (min-width: 768px) {
  .top-sec-menu {
    padding-top: 6%;
  }

  .top-sec-news {
    padding: 4%;
    width: calc((776 / 1176)*100%);
    max-width: 776px;
    margin-right: calc((24 / 1176)*100%);
    height: auto;
  }

  .top-sec-news-ttl {
    font-size: 72px;
  }

  .top-sec-news .date {
    font-size: 24px;
  }

  .top-sec-news .txt {
    font-size: 32px;
  }

  .top-sec-news__col:nth-of-type(n+2) {
    padding-top: 4%;
    margin-top: 3%;
  }

  .top-sec-menu__col {
    width: calc((376 / 1176)*100%);
    margin-top: 0;
  }

  .top-sec-menu__col:nth-child(even) {
    margin-right: 0;
  }

  .top-sec-menu__col:not(:nth-of-type(2)) {
    margin-top: calc((24 / 1176)*100%);
  }

  .top-sec-menu__col:not(:nth-of-type(2)):not(:nth-of-type(5)):not(:nth-of-type(8)) {
    margin-right: calc((24 / 1176)*100%);
  }

  /*hover*/
  .top-sec-menu__col a:hover:before {
    background-position: right center;
  }

  .top-sec-menu__col__ttl {
    font-size: 32px;
  }

  .top-sec-menu__col__icon {
    width: 150px;
    height: 150px;
  }

  /*新来島サノヤス造船の事業*/
  .c-wave {
    top: 82%;
  }

  .feel-the-wave {
    stroke-width: 5;
  }

  /*充実の福利厚生*/

  /*募集要項*/
  .top-sec-menu__col__icon.menu07 .menu_icon07_02 {
    height: 5px;
  }

  .top-sec-menu__col__icon.menu07 .menu_icon07_03 {
    height: 5px;
  }

  /*btn-link hover*/
  .top-sec-menu__col a:hover .btn-link--icon:before {
    transition-duration: 0.6s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -ms-transition-duration: 0.6s;
    -ms-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transition-duration: 0.6s;
    -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -moz-transition-duration: 0.6s;
    -moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translate(138%, 0);
  }

  .top-sec-menu__col a:hover .btn-link--icon:after {
    transform: translate(0, 0);
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -ms-transition-duration: 1s;
    -ms-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transition-duration: 1s;
    -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -moz-transition-duration: 1s;
    -moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transition-delay: 0.3s;
    -webkit-transition-delay: 0.3s;
  }

  @keyframes moveS01 {
    0% {
      transform: translateX(0) rotate(0deg);
    }

    25% {
      transform: translateX(-5px) rotate(-5deg);
    }

    50% {
      transform: translateX(5px) rotate(5deg);
    }

    75% {
      transform: translateX(-5px) rotate(-5deg);
    }

    100% {
      transform: translateX(0) rotate(0deg);
    }
  }

  @keyframes moveS02 {
    0% {
      bottom: 1%;
    }

    100% {
      bottom: 30%;
    }
  }

  @keyframes moveS03 {
    0% {
      top: 40%;
    }

    40% {
      top: 60%;
    }

    60% {
      top: 60%;
    }

    100% {
      top: 40%;
    }
  }

  @keyframes moveS04 {
    0% {
      height: 20%;
    }

    40% {
      height: 40%;
    }

    60% {
      height: 40%;
    }

    100% {
      height: 20%;
    }
  }


  @keyframes moveS02_2 {
    0% {
      bottom: 30%;
    }

    100% {
      bottom: 1%;
    }
  }

  @keyframes moveS03_2 {
    0% {
      top: 40%;
    }

    40% {
      top: 60%;
    }

    60% {
      top: 60%;
    }

    100% {
      top: 40%;
    }
  }

  @keyframes moveS04_2 {
    0% {
      height: 20%;
    }

    40% {
      height: 40%;
    }

    60% {
      height: 40%;
    }

    100% {
      height: 20%;
    }
  }

  /*造船業界とは？*/
  .top-sec-menu__col a:hover .s01 {
    animation: moveS01 0.6s ease-in-out infinite;
  }

  /*新来島サノヤス造船の事業*/
  .top-sec-menu__col a:hover .top-sec-menu__col__icon.menu02 .s02 {
    animation: moveS02 0.4s ease 0.18s forwards;
  }

  .top-sec-menu__col a:hover .top-sec-menu__col__icon.menu02 .s03 {
    animation: moveS03 0.4s ease forwards;
  }

  .top-sec-menu__col a:hover .top-sec-menu__col__icon.menu02 .s04 {
    animation: moveS04 0.4s ease forwards;
  }

  .top-sec-menu__col a:not(:hover) .top-sec-menu__col__icon.menu02 .s02 {
    animation: moveS02_2 0.4s ease forwards;
  }

  .top-sec-menu__col a:not(:hover) .top-sec-menu__col__icon.menu02 .s03 {
    animation: moveS03_2 0.4s ease forwards;
  }

  .top-sec-menu__col a:not(:hover) .top-sec-menu__col__icon.menu02 .s04 {
    animation: moveS04_2 0.4s ease forwards;
  }



  @keyframes moveS05 {
    0% {
      transform: translateX(0) rotate(0deg);
    }

    50% {
      transform: translateX(15px) rotate(25deg);
    }

    100% {
      transform: translateX(0) rotate(0deg);
    }
  }

  /*数字で見る新来島サノヤス造船の特徴*/
  .top-sec-menu__col a:hover .top-sec-menu__col__icon.menu03 .menu_icon03_01 {
    animation: moveS05 0.6s ease-in-out infinite;
  }

  .top-sec-menu__col a:hover .top-sec-menu__col__icon.menu03 .menu_icon03_02 {
    animation: moveS05 0.6s ease-in-out 0.05s infinite;
  }

  .top-sec-menu__col a:hover .top-sec-menu__col__icon.menu03 .menu_icon03_03 {
    animation: moveS05 0.6s ease-in-out 0.1s infinite;
  }

  @keyframes moveS06 {
    0% {
      transform: translateX(0) rotate(0deg);
    }

    50% {
      transform: translateX(0) rotate(-20deg);
    }

    100% {
      transform: translateX(0) rotate(0deg);
    }
  }

  @keyframes moveS07 {
    0% {
      transform: translateX(0) rotate(0deg);
      opacity: 1;
    }

    50% {
      transform: translateX(-50%) translateY(-5%) rotate(-5deg);
      opacity: 1;
    }

    100% {
      transform: translateX(-100%) translateY(-10%) rotate(0deg);
      opacity: 1;
    }
  }


  /*先輩インタビュー*/
  .top-sec-menu__col a:hover .top-sec-menu__col__icon.menu04 .menu_icon04_01 {
    animation: moveS06 0.6s ease-in-out 0.1s infinite;
  }

  .top-sec-menu__col a:hover .top-sec-menu__col__icon.menu04 .menu_icon04_03 {
    animation: moveS07 0.6s ease-in-out 0.1s infinite;
  }

  .top-sec-menu__col a:hover .top-sec-menu__col__icon.menu04 .menu_icon04_04 {
    animation: moveS07 0.6s ease-in-out 0.1s infinite;
  }

  .top-sec-menu__col a:hover .top-sec-menu__col__icon.menu04 .menu_icon04_05 {
    animation: moveS07 0.6s ease-in-out 0.1s infinite;
  }

  @keyframes moveS12 {
    0% {
      transform: rotateY(25deg) skewY(24deg);
    }

    50% {
      transform: rotateY(180deg) skewY(24deg);
    }

    100% {
      transform: rotateY(25deg) skewY(24deg);
    }
  }

  /*勤務地の暮らし*/
  .top-sec-menu__col a:hover .top-sec-menu__col__icon.menu05 .menu_icon05_02 {
    animation: moveS12 0.6s ease-in-out 0.1s infinite;
  }


  @keyframes moveS08 {
    0% {
      transform: rotate(0deg);
      opacity: 1;
    }

    50% {
      transform: rotate(5deg);
      opacity: 1;
    }

    100% {
      transform: rotate(0deg);
      opacity: 1;
    }
  }

  @keyframes moveS09 {
    0% {
      transform: translateY(10%) rotate(0deg);
      opacity: 1;
    }

    50% {
      transform: translateY(-20%) rotate(-5deg);
      opacity: 1;
    }

    100% {
      transform: translateY(-30%) rotate(0deg);
      opacity: 1;
    }
  }

  /*充実の福利厚生*/
  .top-sec-menu__col a:hover .top-sec-menu__col__icon.menu06 .menu_icon06_01 {
    animation: moveS08 0.6s ease-in-out 0.1s infinite;
  }

  .top-sec-menu__col a:hover .top-sec-menu__col__icon.menu06 .menu_icon06_02 {
    animation: moveS09 0.6s ease-in-out 0.1s infinite;
  }

  @keyframes moveS10 {
    0% {
      width: 0;
      opacity: 1;
    }

    100% {
      width: 24%;
      opacity: 1;
    }
  }

  @keyframes moveS11 {
    0% {
      width: 0;
      opacity: 1;
    }

    100% {
      width: 24%;
      opacity: 1;
    }
  }

  /*募集要項*/
  .top-sec-menu__col a:hover .top-sec-menu__col__icon.menu07 .menu_icon07_02 {
    animation: moveS10 0.6s ease-in-out forwards;
  }

  .top-sec-menu__col a:hover .top-sec-menu__col__icon.menu07 .menu_icon07_03 {
    animation: moveS11 0.6s ease-in-out forwards;
  }
}


@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .top-sec-news-ttl {
    font-size: 48px;
  }

  .top-sec-news .date {
    font-size: 18px;
  }

  .top-sec-news .txt {
    font-size: 24px;
  }

  .top-sec-news__col:nth-of-type(n+2) {
    padding-top: 4%;
    margin-top: 3%;
  }

  .top-sec-menu__col {
    width: calc((376 / 1176)*100%);
    margin-top: 0;
  }

  .top-sec-menu__col:nth-child(even) {
    margin-right: 0;
  }

  .top-sec-menu__col:not(:nth-of-type(2)) {
    margin-top: calc((24 / 1176)*100%);
  }

  .top-sec-menu__col:not(:nth-of-type(2)):not(:nth-of-type(5)):not(:nth-of-type(8)) {
    margin-right: calc((24 / 1176)*100%);
  }

  /*hover*/
  .top-sec-menu__col a:hover:before {
    background-position: right center;
  }

  .top-sec-menu__col__ttl {
    font-size: 24px;
  }

  .top-sec-menu__col__icon {
    width: 38%;
    height: 38%;
  }

  /*新来島サノヤス造船の事業*/
  .c-wave {
    top: 80%;
  }

  .feel-the-wave {
    stroke-width: 5;
  }

  /*充実の福利厚生*/
  .top-sec-menu__col__icon.menu06 .menu_icon06_02 {
    opacity: 0;
  }

  /*募集要項*/
  .top-sec-menu__col__icon.menu07 .menu_icon07_02 {
    height: 5px;
  }

  .top-sec-menu__col__icon.menu07 .menu_icon07_03 {
    height: 5px;
  }
}


@media (min-width: 768px) {

  /*menu05_3*/
  .top-sec-menu__col__icon.menu05_3 {
    position: relative;
    scale: 0.8;
    margin-left: 1em;
  }

  .grand-parent {
    perspective: 500px;
  }

  .grand-parent .parent {
    width: 110px;
    height: 70px;
    position: relative;
    transform-style: preserve-3d;
    transform-origin: center center 0px;
    transform: rotateX(-15deg) rotateY(-35deg);
  }

  @keyframes rotate-forward {
    to {
      transform: rotate3d(0, 1, 0, -20deg);
    }
  }

  .top-sec-menu__col a:hover .parent {
    animation: rotate-forward 0.6s ease forwards;
  }

  .grand-parent .cube {
    position: absolute;
    top: 0;
    left: 0;
    width: 105%;
    height: 100%;
  }

  .grand-parent .right {
    background: #ffffff;
    transform: skew(35deg) rotateY(90deg) translateZ(15px);
    outline: 1px solid transparent;
  }

  .grand-parent .left {
    border-right: 24px solid #ffffff;
    transform: skew(-35deg) rotateY(-90deg) translateZ(15px);
    left: -20px;
    outline: 1px solid transparent;
  }

  .grand-parent2 {
    perspective: 500px;
    margin: -10px 0 0 5px;
  }

  .grand-parent2 .parent {
    width: 90px;
    height: 60px;
    position: relative;
    transform-style: preserve-3d;
    transform-origin: center center 0px;
    transform: rotateX(-18deg) rotateY(-35deg) skew(5deg);
  }

  .grand-parent2 .cube {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    font-size: 30px;
    line-height: 100px;
    text-align: center;
  }

  .grand-parent2 .front {
    border: 9px solid #ffffff;
    border-top: none;
    transform: translateZ(45px);
    outline: 1px solid transparent;
  }

  .grand-parent2 .right {
    border: 9px solid #ffffff;
    border-right: 12px solid #ffffff;
    border-left: none;
    border-top: none;
    transform: rotateY(90deg) translateZ(45px);
    outline: 1px solid transparent;
  }

  .door {
    position: absolute;
    left: 1em;
    width: 16%;
    height: 30%;
    top: inherit;
    bottom: inherit;
    margin-top: -16%;
    transform: skewY(22deg) skewX(6deg);
    transform-origin: right bottom;
    background: #ffffff;
    outline: 1px solid transparent;
  }

  .top-sec-menu__col a:hover .door {
    transform: skewY(0) skewX(0);
    left: 24%;
    margin-top: -28%;
    transition: 0.6s ease;
  }
}

@media (min-width: 1199px) {
  .top-sec-menu__col__icon.menu05_3 {
    scale: 1;
    margin-left: 2em;
  }

  .grand-parent {
    perspective: 500px;
  }

  .grand-parent .parent {
    width: 110px;
    height: 70px;
    position: relative;
    transform-style: preserve-3d;
    transform-origin: center center 0px;
    transform: rotateX(-15deg) rotateY(-35deg);
  }

  @keyframes rotate-forward {
    to {
      transform: rotate3d(0, 1, 0, -20deg);
    }
  }

  .top-sec-menu__col a:hover .parent {
    animation: rotate-forward 0.6s ease forwards;
  }

  .grand-parent .cube {
    position: absolute;
    top: 0;
    left: 0;
    width: 105%;
    height: 100%;
  }

  .grand-parent .right {
    background: #ffffff;
    transform: skew(35deg) rotateY(90deg) translateZ(15px);
  }

  .grand-parent .left {
    border-right: 24px solid #ffffff;
    transform: skew(-35deg) rotateY(-90deg) translateZ(15px);
    left: -20px;
  }

  .grand-parent2 {
    perspective: 500px;
    margin: -10px 0 0 5px;
  }

  .grand-parent2 .parent {
    width: 90px;
    height: 60px;
    position: relative;
    transform-style: preserve-3d;
    transform-origin: center center 0px;
    transform: rotateX(-18deg) rotateY(-35deg) skew(5deg);
  }

  .grand-parent2 .cube {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    font-size: 30px;
    line-height: 100px;
    text-align: center;
  }

  .grand-parent2 .front {
    border: 9px solid #ffffff;
    border-top: none;
    transform: translateZ(45px);
  }

  .grand-parent2 .right {
    border: 9px solid #ffffff;
    border-left: none;
    border-top: none;
    transform: rotateY(90deg) translateZ(45px);
  }

  .door {
    position: absolute;
    bottom: 13%;
    left: 8%;
    width: 14%;
    height: 21%;
    transform: skewY(22deg) skewX(6deg);
    transform-origin: right bottom;
    background: #ffffff;
  }

  .top-sec-menu__col a:hover .door {
    transform: skewY(0) skewX(0);
    left: 14.5%;
    bottom: 22%;
    height: 21%;
    transition: 0.4s ease;
  }
}

/*----------------------------------------
	sec-interview-list
-----------------------------------------*/

.sec-interview-list {
  padding: 5% 0 0;
}

.sec-interview-list-col {
  border: 1px solid #02A6C5;
}

.sec-interview-list-col:nth-of-type(n+2) {
  margin-top: 5%;
}

.sec-interview-list-col__inner {
  padding: 5% 5% 10%;
}

.sec-interview-list-col a {
  transition: 0.3s;
}

.sec-interview-list-col__ttl {
  font-size: 20px;
  line-height: 1.4;
}

.sec-interview-list-col__year {
  font-size: 16px;
}

.sec-interview-list .btn-link--icon:before,
.sec-interview-list .btn-link--icon:after {
  border-color: transparent transparent transparent #ffffff;
}

.sec-interview-list-col .btn-link:hover .btn-link--icon:before {
  transform: inherit;
}

@media (min-width: 768px) {
  .sec-interview-list-col {
    width: 49%;
    border: 1px solid #02A6C5;
  }

  .sec-interview-list-col:nth-of-type(n+2) {
    margin-top: 0;
  }

  .sec-interview-list-col:nth-of-type(n+3) {
    margin-top: 2.5%;
  }

  .sec-interview-list-col__inner {
    padding: 5% 5% 10%;
  }

  .sec-interview-list-col:nth-child(odd) {
    margin-right: 2%;
  }

  .sec-interview-list-col a {
    transition: 0.3s;
  }

  .sec-interview-list-col a:hover {
    opacity: 0.7;
  }

  .sec-interview-list-col__ttl {
    font-size: 40px;
    line-height: 1.4;
  }

  .sec-interview-list-col__year {
    font-size: 24px;
  }

  .sec-interview-list .btn-link--icon:before,
  .sec-interview-list .btn-link--icon:after {
    border-color: transparent transparent transparent #ffffff;
  }

  .sec-interview-list-col a:hover .btn-link--icon:before {
    transition-duration: 0.6s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -ms-transition-duration: 0.6s;
    -ms-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transition-duration: 0.6s;
    -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -moz-transition-duration: 0.6s;
    -moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translate(138%, 0) !important;
  }

  .sec-interview-list-col a:hover .btn-link--icon:after {
    transform: translate(0, 0);
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -ms-transition-duration: 1s;
    -ms-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transition-duration: 1s;
    -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -moz-transition-duration: 1s;
    -moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transition-delay: 0.3s;
    -webkit-transition-delay: 0.3s;
  }
}

/*----------------------------------------
	sec-interview-detail
-----------------------------------------*/

.sec-interview-detail {
  padding: 5% 0 0;
  font-size: 16px;
  font-weight: normal;
}

.sec-interview-detail__qanda {
  display: flex;
  flex-wrap: wrap;
}

.sec-interview-detail__q {
  width: 100%;
  display: flex;
  align-items: center;
  font-size: 20px;
  line-height: 1.4;
}

.sec-interview-detail__a {
  width: 100%;
  margin-top: 3%;
}

.sec-interview-detail__q>span {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #00A6C4;
  color: #ffffff;
  border-radius: 50%;
  line-height: 1;
  min-width: 50px;
  min-height: 50px;
  margin-right: 3%;
}

.sec-interview-detail__q>span:before {
  content: '';
  position: absolute;
  right: -0.2em;
  bottom: 0;
  width: 20px;
  height: 20px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../../images/interview/icon_triangle.svg);
}

.sec-interview-detail__q>span>span {
  margin-top: -10%;
  display: inline-block;
}

.sec-interview-detail__schedule {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #00A6C4;
  border-bottom: 1px solid #00A6C4;
  overflow: hidden;
}

.sec-interview-detail__schedule dt {
  width: 10%;
  text-align: right;
  font-weight: normal;
  padding: 1% 0;
}

.sec-interview-detail__schedule dt.line,
.sec-interview-detail__schedule dd.line {
  border-top: 1px dotted #999999;
}

.sec-interview-detail__schedule dd {
  position: relative;
  width: 90%;
  padding: 1% 0 1% 5%;
}

@media (min-width: 768px) {
  .sec-interview-detail {
    padding: 5% 0 0;
    font-size: 24px;
  }

  .sec-interview-detail__q {
    font-size: 32px;
  }

  .sec-interview-detail__q>span {
    min-width: 80px;
    min-height: 80px;
  }

  .sec-interview-detail__q>span:before {
    right: -0.01em;
  }

  .sec-interview-detail__q>span>span {
    margin-top: -10%;
    display: inline-block;
  }
}

/*----------------------------------------------------
  ▼youtube エリア
----------------------------------------------------*/
.videoWrap {
  padding-top: 56.25%;
  width: 100%;
  position: relative;
}

.videoWrap video {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
}

/*----------------------------------------------------
	sec-strengths
----------------------------------------------------*/

.sec-strengths__col {
  position: relative;
  width: 48%;
  border: 1px solid #02A6C5;
  padding: 2% 1%;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  transition: 0.3s;
  margin-right: 2%;
}

.sec-strengths__col:nth-of-type(2n) {
  margin-right: 0;
}

.sec-strengths__col:nth-of-type(n+3) {
  margin-top: 2%;
}

.sec-strengths__col__ttl {
  font-size: 4vw;
  font-weight: bold;
  padding-bottom: 6%;
  line-height: 1.4;
}

.sec-strengths__col__txt {
  font-size: 4.5vw;
  font-weight: bold;
  line-height: 1;
  padding-top: 6%;
}

.sec-strengths__col__txt span {
  font-size: 6vw;
}

.sec-strengths__col__inner .sec-strengths__col__txt2 {
  font-size: 3.5vw;
}

.sec-strengths__col__inner .sec-strengths__col__txt3 {
  font-size: 5vw;
}

.sec-strengths__col__pic {
  width: 50%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.sec-strengths__col:nth-of-type(2) .sec-strengths__col__pic {
  width: 35%;
}

.sec-strengths__col:nth-of-type(4) .sec-strengths__col__pic {
  width: 40%;
}

.sec-strengths__col:nth-of-type(5) .sec-strengths__col__pic {
  width: 40%;
}

.sec-strengths__col:nth-of-type(6) .sec-strengths__col__pic {
  width: 60%;
}

.sec-strengths__col:nth-of-type(7) .sec-strengths__col__pic {
  width: 35%;
}

.sec-strengths__col:nth-of-type(9) .sec-strengths__col__pic {
  width: 40%;
}

@media (min-width: 768px) {
  .sec-strengths__col {
    width: 32%;
  }

  .sec-strengths__col__ttl {
    font-size: 2vw;
    font-weight: bold;
    padding-bottom: 6%;
  }

  .sec-strengths__col__txt {
    font-size: 2vw;
  }

  .sec-strengths__col__txt span.sec-strengths__col__txt span {
    font-size: 3vw;
  }

  .sec-strengths__col__inner .sec-strengths__col__txt2 {
    font-size: 2vw;
  }

  .sec-strengths__col__inner .sec-strengths__col__txt3 {
    font-size: 2.5vw;
  }

  .sec-strengths__col:nth-of-type(2n),
  .sec-strengths__col:nth-of-type(3n) {
    margin-right: 0;
  }

  .sec-strengths__col:nth-of-type(2),
  .sec-strengths__col:nth-of-type(4),
  .sec-strengths__col:nth-of-type(8) {
    margin-right: 2%;
  }

  .sec-strengths__col:nth-of-type(n+3) {
    margin-top: 0;
  }

  .sec-strengths__col:nth-of-type(n+4) {
    margin-top: 2%;
  }
}


@media (min-width: 1199px) {
  .sec-strengths__col__ttl {
    font-size: 28px;
  }

  .sec-strengths__col__txt {
    font-size: 40px;
  }

  .sec-strengths__col__txt span {
    font-size: 48px;
  }

  .sec-strengths__col__inner .sec-strengths__col__txt2 {
    font-size: 24px;
  }

  .sec-strengths__col__inner .sec-strengths__col__txt3 {
    font-size: 40px;
  }
}






.animated-text {
  overflow: hidden;
  display: flex;
  align-items: baseline;
  justify-content: center;
}

.animated-text span {
  translate: 0 110%;
  display: inline-block;
  vertical-align: text-bottom;
  line-height: 1;
}

.animated-text.is-active span {
  animation: animated-text .25s ease-out forwards
}

@keyframes animated-text {
  0% {
    translate: 0 110%;
    opacity: 0
  }

  to {
    translate: 0 0;
    opacity: 1
  }
}



/*----------------------------------------------------
	sec-shipbuilding
----------------------------------------------------*/

.sec-shipbuilding__intro__ttl-wrapper {
  position: relative;
  background: #fff;
  padding: 7% 7% 10%;
  margin-top: -16%;
}

.sec-shipbuilding__intro {
  position: relative;
  overflow: hidden;
}

.sec-shipbuilding__intro__bg__inner {
  aspect-ratio: 1400 / 720;
}

.sec-shipbuilding__sec01__inner {
  overflow: hidden;
}

.sec-shipbuilding__intro__pic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.sec-shipbuilding__intro__pic img {
  width: 100%;
  object-fit: cover;
  object-position: 0 0;
  transform: scale(1.15);
  max-height: 720px;
}

.sec-shipbuilding__sec01 {
  padding: 8% 0;
  background: #EFFBFF;
}

.sec-shipbuilding__graph-col:nth-of-type(n+2) {
  padding-top: 10%;
}

.sec-shipbuilding__graph-col__ttl {
  font-size: 18px;
  color: #ffffff;
  background: #00A6C4;
  text-align: center;
  padding: 1% 5%;
}

.sec-shipbuilding__graph-col__graph {
  position: relative;
  width: 70%;
  margin: 0 auto;
}

.sec-shipbuilding__graph-col__ex01 {
  position: absolute;
  bottom: 0;
  color: #ffffff;
  z-index: 1;
  margin: 0 auto 20%;
  font-size: 4vw;
  line-height: 1.1;
  text-align: center;
  width: 100%;
  display: inline-block;
}

.sec-shipbuilding__graph-col__ex02 {
  position: absolute;
  top: 0;
  color: #ffffff;
  z-index: 1;
  margin: 13% auto 0 -20%;
  font-size: 3.5vw;
  line-height: 1;
  width: 100%;
  text-align: center;
  display: inline-block;
}

.sec-shipbuilding__graph-col__ex03 {
  position: absolute;
  bottom: 0;
  right: 0;
  color: #ffffff;
  z-index: 1;
  margin: 0 18% 40% 0;
  font-size: 4vw;
  line-height: 1.1;
  text-align: right;
  display: inline-block;
}

.sec-shipbuilding__graph-col__ex04 {
  position: absolute;
  top: 0;
  left: 0;
  color: #ffffff;
  z-index: 1;
  margin: 40% 0 0 7%;
  font-size: 3.5vw;
  line-height: 1;
  display: inline-block;
}

.sec-shipbuilding__graph-col__ex05 {
  position: absolute;
  top: 0;
  left: 0;
  color: #ffffff;
  z-index: 1;
  margin: 12% 0 0 25%;
  font-size: 3.5vw;
  line-height: 1;
  display: inline-block;
}

.sec-shipbuilding__graph-col__ex01 span,
.sec-shipbuilding__graph-col__ex02 span,
.sec-shipbuilding__graph-col__ex03 span,
.sec-shipbuilding__graph-col__ex04 span,
.sec-shipbuilding__graph-col__ex05 span {
  display: inline-block;
}

.sec-shipbuilding__graph-col__ex01 span:nth-of-type(2),
.sec-shipbuilding__graph-col__ex03 span:nth-of-type(2) {
  font-size: 9vw;
}

.sec-shipbuilding__graph-col__ex01 span:nth-of-type(3),
.sec-shipbuilding__graph-col__ex03 span:nth-of-type(3) {
  font-size: 5vw;
}

.sec-shipbuilding__graph-col__ex02 span:nth-of-type(2),
.sec-shipbuilding__graph-col__ex04 span:nth-of-type(2),
.sec-shipbuilding__graph-col__ex05 span:nth-of-type(2) {
  font-size: 7vw;
}

.sec-shipbuilding__graph-col__ex02 span:nth-of-type(3),
.sec-shipbuilding__graph-col__ex04 span:nth-of-type(3),
.sec-shipbuilding__graph-col__ex05 span:nth-of-type(3) {
  font-size: 3.5vw;
}

.sec-shipbuilding__graph-col__ex-arrow02 {
  position: absolute;
  top: 0;
  width: 8%;
  left: 41%;
  margin-top: 7%;
  text-align: center;
  display: inline-block;
  z-index: 2;
}

.sec-shipbuilding__graph-col__ex-arrow03 {
  position: absolute;
  bottom: 0;
  width: 18%;
  left: 60%;
  margin-bottom: -15%;
  text-align: center;
  display: inline-block;
  z-index: 2;
  rotate: -90deg;
}

.sec-shipbuilding__graph-col__txt02 {
  line-height: 1.4;
  padding-bottom: 2%;
  text-align: right;
}

.sec-shipbuilding__graph-col__txtWrapper {
  position: relative;
}

#myChart,
#myChart2 {
  pointer-events: none;
}

@media (min-width: 768px) {
  .sec-shipbuilding__sec01 {
    padding: 5% 0;
  }

  .sec-shipbuilding__graph-col {
    display: flex;
    flex-direction: row-reverse;
  }

  .sec-shipbuilding__graph-col__ttl {
    font-size: 24px;
    padding: 1% 5%;
  }

  .sec-shipbuilding__graph-col__txtWrapper {
    width: 60%;
    padding-left: 4%;
    display: flex;
    flex-direction: column;
  }

  .sec-shipbuilding__graph-col__graph {
    width: 40%;
  }

  .sec-shipbuilding__graph-col__ex01 {
    margin: 0 auto 20%;
    font-size: 2vw;
    line-height: 1.1;
  }

  .sec-shipbuilding__graph-col__ex01 span:nth-of-type(2),
  .sec-shipbuilding__graph-col__ex03 span:nth-of-type(2) {
    font-size: 5vw;
  }

  .sec-shipbuilding__graph-col__ex01 span:nth-of-type(3),
  .sec-shipbuilding__graph-col__ex03 span:nth-of-type(3) {
    font-size: 3vw;
  }

  .sec-shipbuilding__graph-col__ex02 {
    margin: 16% auto 0 -20%;
    font-size: 1.5vw;
    line-height: 1;
  }

  .sec-shipbuilding__graph-col__ex03 {
    margin: 0 18% 40% 0;
    font-size: 2vw;
    line-height: 1.1;
    text-align: center;
  }

  .sec-shipbuilding__graph-col__ex04 {
    margin: 40% 0 0 7%;
    font-size: 1.5vw;
    line-height: 1;
  }

  .sec-shipbuilding__graph-col__ex05 {
    margin: 12% 0 0 25%;
    font-size: 1.5vw;
    line-height: 1;
  }

  .sec-shipbuilding__graph-col__ex02 span:nth-of-type(2),
  .sec-shipbuilding__graph-col__ex04 span:nth-of-type(2),
  .sec-shipbuilding__graph-col__ex05 span:nth-of-type(2) {
    font-size: 3vw;
  }

  .sec-shipbuilding__graph-col__ex02 span:nth-of-type(3),
  .sec-shipbuilding__graph-col__ex04 span:nth-of-type(3),
  .sec-shipbuilding__graph-col__ex05 span:nth-of-type(3) {
    font-size: 1.5vw;
  }

  .sec-shipbuilding__graph-col__ex-arrow01 {
    position: absolute;
    display: inline-block;
    right: 0;
    bottom: 0;
    width: 70%;
    margin-right: 45%;
    z-index: 1;
  }

  .sec-shipbuilding__graph-col__ex-arrow02 {
    top: 0;
    width: 8%;
    left: 41%;
    margin-top: 7%;
  }

  .sec-shipbuilding__graph-col__txt02 {
    line-height: 1.4;
    padding-bottom: 2%;
    text-align: left;
  }
}

@media (min-width: 1199px) {
  .sec-shipbuilding__graph-col__ttl {
    font-size: 40px;
    padding: 1% 5%;
  }

  .sec-shipbuilding__graph-col__ex01 {
    font-size: 28px;
  }

  .sec-shipbuilding__graph-col__ex01 span:nth-of-type(2),
  .sec-shipbuilding__graph-col__ex03 span:nth-of-type(2) {
    font-size: 80px;
  }

  .sec-shipbuilding__graph-col__ex01 span:nth-of-type(3),
  .sec-shipbuilding__graph-col__ex03 span:nth-of-type(3) {
    font-size: 64px;
  }

  .sec-shipbuilding__graph-col__ex02 {
    margin: 16% auto 0 -20%;
    font-size: 24px;
    line-height: 1;
  }

  .sec-shipbuilding__graph-col__ex03 {
    margin: 0 10% 40% 0;
    font-size: 24px;
    line-height: 1.1;
    text-align: center;
  }

  .sec-shipbuilding__graph-col__ex04 {
    margin: 40% 0 0 7%;
    font-size: 24px;
    line-height: 1;
  }

  .sec-shipbuilding__graph-col__ex05 {
    margin: 12% 0 0 25%;
    font-size: 24px;
    line-height: 1;
  }

  .sec-shipbuilding__graph-col__ex02 span:nth-of-type(2),
  .sec-shipbuilding__graph-col__ex04 span:nth-of-type(2),
  .sec-shipbuilding__graph-col__ex05 span:nth-of-type(2) {
    font-size: 48px;
  }

  .sec-shipbuilding__graph-col__ex02 span:nth-of-type(3),
  .sec-shipbuilding__graph-col__ex04 span:nth-of-type(3),
  .sec-shipbuilding__graph-col__ex05 span:nth-of-type(3) {
    font-size: 24px;
  }
}





/*sec-shipbuilding__map*/
.sec-shipbuilding__map {}

.sec-shipbuilding__map__inner {
  position: relative;
}

.sec-shipbuilding__map-country {
  background: #22409A;
  color: #ffffff;
  width: 15%;
  border-radius: 50%;
  font-weight: bold;
  z-index: 1;
}

.sec-shipbuilding__map-country__inner {
  position: relative;
  padding-top: 100%;
  height: 0;
}

.sec-shipbuilding__map-country__inner>p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  line-height: 1;
  text-align: center;
  width: 100%;
}

.sec-shipbuilding__map-country__inner>p span {
  display: block;
}

.sec-shipbuilding__map-country span:nth-of-type(1) {
  font-size: 2.1vw;
  letter-spacing: -0.1em;
}

.sec-shipbuilding__map-country span:nth-of-type(2) {
  font-size: 3.5vw;
  padding-top: 0.1em;
}

.sec-shipbuilding__map-country span:nth-of-type(3) {
  font-size: 2.2vw;
  padding-top: 0.1em;
}

.sec-shipbuilding__map-country.england {
  position: absolute;
  top: 0;
  left: 0;
  margin: -5% 0 0 0;
}

.sec-shipbuilding__map-country.norway {
  position: absolute;
  top: 0;
  left: 0;
  margin: -5% 0 0 16%;
}

.sec-shipbuilding__map-country.russia {
  position: absolute;
  top: 0;
  left: 0;
  margin: -5% 0 0 40%;
}

.sec-shipbuilding__map-country.greece {
  position: absolute;
  top: 0;
  left: 0;
  margin: 22% 0 0 5.5%;
}

.sec-shipbuilding__map-country.germany {
  position: absolute;
  top: 0;
  left: 0;
  margin: 11% 0 0 16%;
}

.sec-shipbuilding__map-country.china {
  position: absolute;
  top: 0;
  left: 0;
  margin: 15% 0 0 31%;
}

.sec-shipbuilding__map-country.korea {
  position: absolute;
  top: 0;
  left: 0;
  margin: 10% 0 0 46%;
}

.sec-shipbuilding__map-country.singapore {
  position: absolute;
  top: 0;
  left: 0;
  margin: 28% 0 0 20%;
}

.sec-shipbuilding__map-country.indonesia {
  position: absolute;
  bottom: 0;
  left: 0;
  margin: 0 0 0 28%;
}

.sec-shipbuilding__map-country.usa {
  position: absolute;
  top: 0;
  right: 0;
  margin: 10% 15% 0 0;
}

.sec-shipbuilding__map-country.japan {
  position: absolute;
  bottom: 0;
  right: 0;
  margin: 0 34% 10% 0;
  background: #00A6C4;
  width: 18%;
}

.sec-shipbuilding__map-country.japan span:nth-of-type(1) {
  font-size: 2.8vw;
}

.sec-shipbuilding__map-country.japan span:nth-of-type(2) {
  font-size: 5vw;
}

.sec-shipbuilding__map-country.japan span:nth-of-type(3) {
  font-size: 2.8vw;
}

.sec-shipbuilding__map__info {
  position: absolute;
  right: 0;
  bottom: 0;
  margin-bottom: -9%;
  font-size: 2.4vw;
}

.sec-shipbuilding__map-country.japan .sec-shipbuilding__map-country__inner {
  position: relative;
}

/*.sec-shipbuilding__map-country.japan .sec-shipbuilding__map-country__inner::before,*/
.sec-shipbuilding__map-country.japan .sec-shipbuilding__map-country__inner::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  border: 1px solid #00A6C4;
  border-radius: 50%;
  box-sizing: border-box;
  pointer-events: none;
  animation: pulsate 2s linear 1.5s infinite;
}

.sec-shipbuilding__map-country.japan .sec-shipbuilding__map-country__inner::after {
  animation-delay: 1.5s;
}

@keyframes pulsate {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  100% {
    transform: scale(1.7);
    opacity: 0;
  }
}


@media (min-width: 768px) {
  .sec-shipbuilding__map {
    display: flex;
    flex-direction: column-reverse;
  }

  .sec-shipbuilding__map__inner {
    padding-right: 25%;
  }

  .sec-shipbuilding__map__ttlWrapper {
    position: relative;
    width: 53%;
    margin: -10% 0 0 auto;
    z-index: 1;
  }

  .sec-shipbuilding__map-country {
    width: 10%;
    font-weight: bold;
  }

  .sec-shipbuilding__map-country span:nth-of-type(1) {
    font-size: 1vw;
  }

  .sec-shipbuilding__map-country span:nth-of-type(2) {
    font-size: 2vw;
    padding-top: 0.1em;
  }

  .sec-shipbuilding__map-country span:nth-of-type(3) {
    font-size: 0.9vw;
    padding-top: 0.1em;
  }

  .sec-shipbuilding__map-country.england {
    top: 0;
    left: 0;
    margin: -1% 0 0 0;
  }

  .sec-shipbuilding__map-country.norway {
    top: 0;
    left: 0;
    margin: -1% 0 0 11.5%;
  }

  .sec-shipbuilding__map-country.russia {
    top: 0;
    left: 0;
    margin: -1% 0 0 30%;
  }

  .sec-shipbuilding__map-country.greece {
    top: 0;
    left: 0;
    margin: 15% 0 0 4%;
  }

  .sec-shipbuilding__map-country.germany {
    top: 0;
    left: 0;
    margin: 9.5% 0 0 12.9%;
  }

  .sec-shipbuilding__map-country.china {
    top: 0;
    left: 0;
    margin: 15% 0 0 22%;
  }

  .sec-shipbuilding__map-country.korea {
    top: 0;
    left: 0;
    margin: 10% 0 0 31%;
  }

  .sec-shipbuilding__map-country.singapore {
    top: 0;
    left: 0;
    margin: 25% 0 0 18%;
  }

  .sec-shipbuilding__map-country.indonesia {
    bottom: 0;
    left: 0;
    margin: 0 0 -1.8% 22.5%;
  }

  .sec-shipbuilding__map-country.usa {
    top: 0;
    right: 0;
    margin: 6% 38% 0 0;
  }

  .sec-shipbuilding__map-country.japan {
    position: absolute;
    bottom: 0;
    right: 0;
    margin: 0 54% 7% 0;
    background: #00A6C4;
    width: 12%;
  }

  .sec-shipbuilding__map-country.japan span:nth-of-type(1) {
    font-size: 1.3vw;
  }

  .sec-shipbuilding__map-country.japan span:nth-of-type(2) {
    font-size: 2.3vw;
  }

  .sec-shipbuilding__map-country.japan span:nth-of-type(3) {
    font-size: 1.1vw;
  }

  .sec-shipbuilding__map__info {
    top: 0;
    right: 0;
    bottom: inherit;
    margin: 5% 0 0 0;
    font-size: 1.8vw;
  }
}


@media (min-width: 1199px) {
  .sec-shipbuilding__map-country {
    width: 117px;
    font-weight: bold;
  }

  .sec-shipbuilding__map-country span:nth-of-type(1) {
    font-size: 15px;
  }

  .sec-shipbuilding__map-country span:nth-of-type(2) {
    font-size: 33px;
    padding-top: 0.2em;
  }

  .sec-shipbuilding__map-country span:nth-of-type(3) {
    font-size: 16px;
    padding-top: 0.2em;
  }

  .sec-shipbuilding__map-country.japan {
    width: 155px;
  }

  .sec-shipbuilding__map-country.japan span:nth-of-type(1) {
    font-size: 20px;
  }

  .sec-shipbuilding__map-country.japan span:nth-of-type(2) {
    font-size: 44px;
    padding-top: 0.1em;
  }

  .sec-shipbuilding__map-country.japan span:nth-of-type(3) {
    font-size: 22px;
  }

  .sec-shipbuilding__map__info {
    top: 0;
    right: 0;
    bottom: inherit;
    margin: 5% 0 0 0;
    font-size: 24px;
  }
}


/*sec-shipbuilding__chart*/
.sec-shipbuilding__chart__fig-txt {
  line-height: 1.4;
}

@media (min-width: 768px) {
  .sec-shipbuilding__chart {
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap;
  }

  .sec-shipbuilding__chart__ttlWrapper {
    width: 45%
  }

  .sec-shipbuilding__chart__figWrapper {
    width: 55%
  }
}


/*sec-shipbuilding__sec02*/
.sec-shipbuilding__sec02 {
  padding: 8% 0 0;
}

@media (min-width: 992px) {
  .sec-shipbuilding__sec02 {
    padding: 5% 0 0;
  }

  .sec-photo-wide__pic {
    width: 65%;
  }

  .sec-photo-wide__text {
    width: 35%;
  }

  /*sec-photo-wide__l*/
  .sec-shipbuilding__shiplist .sec-photo-wide__l {
    max-width: calc(100% - (50% - (1176px / 2)));
  }

  /*sec-photo-wide__r*/
  .sec-shipbuilding__shiplist .sec-photo-wide__r {
    max-width: calc(100% - (50% - (1176px / 2)));
  }
}


/*----------------------------------------
	sec-jobs
-----------------------------------------*/

.sec-jobs .sec-photo-wide__pic {
  overflow: hidden;
  aspect-ratio: 240 / 100;
}

.sec-jobs .sec-photo-wide__pic img {
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  object-position: center;
  height: 100%;
  z-index: -2;
}

@media (min-width: 992px) {
  .sec-jobs .sec-photo-wide__pic {
    width: 49%;
    aspect-ratio: 720 / 744;
  }

  .sec-jobs .sec-photo-wide__text {
    width: 51%;
  }

  /*sec-photo-wide__l*/
  .sec-jobs .sec-shipbuilding__shiplist .sec-photo-wide__l {
    max-width: calc(100% - (50% - (1320px / 2)));
  }

  /*sec-photo-wide__r*/
  .sec-jobs .sec-shipbuilding__shiplist .sec-photo-wide__r {
    max-width: calc(100% - (50% - (1320px / 2)));
  }
}

/*----------------------------------------
	sec-life
-----------------------------------------*/

/*sec-life__sec01*/
.sec-life__sec01__col {
  border: 1px solid #02A6C5;
  padding: 4%;
}

.sec-life__sec01__col__picWrapper {
  width: 25%;
  margin: 0 auto;
}

.sec-life__sec01__col__pic {
  background: #00A6C4;
  border-radius: 50%;
  display: block;
  width: 20%;
}

.sec-life__sec01__col__pic img {
  width: 100%;
  padding: 22%;
}

.sec-life__sec01__col__textWrapper {
  width: 100%;
}

.sec-life__sec01__col__ttl {
  font-size: 20px;
}



@media only screen and (min-width: 768px) {
  .sec-life__sec01__col__ttl {
    font-size: 40px;
  }

  .sec-life__sec01__col__picWrapper {
    width: 15%;
  }

  .sec-life__sec01__col__pic {
    width: 100%;
  }

  .sec-life__sec01__col__textWrapper {
    width: 85%;
  }

  .sec-lnav {
    max-width: 1176px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
  }
}

.sec-lnav2 {
  display: none;
}


@media only screen and (min-width: 1355px) {
  .sec-lnav2 {
    opacity: 0;
    transition: 0.3s;
  }

  /*fixed*/
  .sec-lnav2 {
    display: block;
    position: fixed;
    top: 7%;
    left: 1%;
    max-width: inherit;
    z-index: -9999;
    opacity: 0;
    transition: 0.3s;
  }

  .sec-lnav2.fixed {
    z-index: 100;
    opacity: 1;
    transition: 0.3s;
  }

  .sec-lnav2 .sec-lnav-col {
    width: 100%;
    font-size: 16px;
  }

  .sec-life .sec-lnav2 .sec-lnav-col+.sec-lnav-col {
    margin-top: 16%;
  }

  .sec-lnav2 .sec-lnav-col:nth-of-type(n+2) {
    margin-left: 0;
  }

  .sec-lnav2 .lnav>li>a {
    font-size: 14px;
    font-weight: bold;
    background: #00A6C4;
    padding: 0.5em;
    color: #ffffff;
    display: flex;
    align-items: center;
  }

  .sec-lnav2 .lnav>li:nth-of-type(n+2) {
    margin-top: 2%;
  }

  .sec-lnav2 .lnav .btn-link {
    background: #ffffff;
    width: 16px;
    height: 16px;
    rotate: 90deg;
  }

  .sec-lnav2 .btn-link--icon {
    width: 12px;
    height: 12px;
    right: 0;
  }

  .sec-lnav2 .btn-link--icon:before,
  .sec-lnav2 .btn-link--icon:after {
    border-width: 6px 0 6px 10px;
  }
}

/*sec-life__sec02*/
.sec-life__sec02__col__Wrapper {
  border: 1px solid #02A6C5;
  padding: 6% 4%;
  width: 100%;
}

.sec-life__sec02__col:nth-of-type(n+2) {
  padding-top: 5%;
}

.sec-life__sec02__ttl {
  font-size: 24px;
  min-width: 216px;
}

.sec-life__sec02__ex__ttl {
  background: #00A6C4;
  color: #ffffff;
  padding: 0.1em 0.5em;
}

@media only screen and (min-width: 768px) {
  .sec-life__sec02__col__Wrapper {
    padding: 5%;
  }

  .sec-life__sec02__col {
    width: 48%;
  }

  .sec-life__sec02__ttl {
    font-size: 40px;
  }

  .sec-life__sec02__col:nth-of-type(n+2) {
    padding-top: 0;
  }

  .sec-life__sec02__col:nth-of-type(n+3) {
    padding-top: 3%;
  }
}

/*sec-life__sec03*/
.sec-life__sec03__col {
  border: 1px solid #02A6C5;
  padding: 4% 4% 8%;
}

.sec-life__sec03__col__ttl {
  font-size: 24px;
}

@media only screen and (min-width: 768px) {
  .sec-life__sec03__col {
    padding: 5%;
  }

  .sec-life__sec03__col__ttl {
    font-size: 40px;
  }
}

/*sec-life__sec04*/
.sec-life__sec04__col__Wrapper {
  border: 1px solid #02A6C5;
  padding: 6% 4% 4%;
  width: 100%;
}

.sec-life__sec04__col:nth-of-type(n+2) {
  padding-top: 5%;
}

.sec-life__sec04__ttl {
  font-size: 24px;
  min-width: 216px;
}

.sec-life__sec04__ex__ttl {
  background: #00A6C4;
  color: #ffffff;
  padding: 0.1em 0.5em;
}

@media only screen and (min-width: 768px) {
  .sec-life__sec04__col__Wrapper {
    padding: 5%;
  }

  .sec-life__sec04__col {
    width: 31%;
  }

  .sec-life__sec04__ttl {
    font-size: 40px;
  }

  .sec-life__sec04__col:nth-of-type(n+2) {
    padding-top: 0;
  }

  .sec-life__sec04__col:nth-of-type(n+4) {
    padding-top: 3%;
  }
}

/*sec-life__sec05*/
.sec-life__sec05__col__Wrapper {
  border: 1px solid #02A6C5;
  padding: 6% 4%;
  width: 100%;
}

.sec-life__sec05__ttl {
  font-size: 24px;
}

.sec-life__sec05__col {
  background: #00A6C4;
  color: #ffffff;
  text-align: center;
  padding: 5% 3%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 49%;
}

.sec-life__sec05__col__ttl {
  font-size: 4vw;
  line-height: 1.2;
}

.sec-life__sec05__col:nth-of-type(n+3) {
  margin-top: 2%;
}

.sec-life__sec05__col__number {
  font-size: 12vw;
  line-height: 1.2;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.sec-life__sec05__col__number span {
  font-size: 4vw;
}

.sec-life__sec05__col:nth-of-type(1) .sec-life__sec05__col__number span {
  font-size: 3vw;
  display: block;
}

.sec-life__sec05__col__ex {
  background: #ffffff;
  color: #00A6C4;
  margin-top: 5%;
  padding: 0 2%;
  line-height: 1.6;
  font-size: 4vw;
}

@media only screen and (min-width: 768px) {
  .sec-life__sec05__col__Wrapper {
    padding: 5%;
  }

  .sec-life__sec05__col {
    width: 49%;
    padding: 6% 3%;
  }

  .sec-life__sec05__ttl {
    font-size: 40px;
  }

  .sec-life__sec05__col__ttl {
    font-size: 24px;
  }

  .sec-life__sec05__col__ex {
    margin-top: 5%;
    font-size: 24px;
  }

  .sec-life__sec05__col__number {
    font-size: 64px;
    line-height: 1.2;
  }

  .sec-life__sec05__col__number span {
    font-size: 20px;
  }

  .sec-life__sec05__col:nth-of-type(1) .sec-life__sec05__col__number span {
    font-size: 20px;
  }
}

@media only screen and (min-width: 1199px) {

  .sec-life__sec05__col {
    width: 24%;
    padding: 3% 1%;
  }

  .sec-life__sec05__col:nth-of-type(n+3) {
    margin-top: 0;
  }

  .sec-life__sec05__col:nth-of-type(n+2) {
    margin-top: 0;
  }

  .sec-life__sec05__col__ex {
    margin-top: 10%;
  }
}


/*----------------------------------------
	sec-welfare
-----------------------------------------*/

.sec-lnav-col:nth-of-type(n+2) {
  margin-left: 2em;
}

.sec-lnav .lnav>li:nth-of-type(n+2) {
  margin-top: 2%;
}

.sec-lnav-col {
  position: relative;
  width: 25%;
}

.sec-lnav .lnav>li>a {
  color: #ffffff;
  display: flex;
  align-items: center;
  font-weight: bold;
  font-size: 20px;
  line-height: 1.4;
  background: #00A6C4;
  padding: 0.5em;
  box-sizing: content-box;

}

.sec-lnav .lnav>li>a span {
  display: block;
}

.sec-lnav .lnav .btn-link {
  background: #ffffff;
  width: 16px;
  height: 16px;
  rotate: 90deg;
}

.sec-lnav .lnav .btn-link--icon:before,
.sec-lnav .lnav .btn-link--icon:after {
  margin-left: 10%;
}

/*sec-welfare__sec01*/
.sec-welfare__sec01__col {
  border: 1px solid #02A6C5;
  padding: 4%;
}

.sec-welfare__sec01__col__picWrapper {
  width: 25%;
  margin: 0 auto;
}

.sec-welfare__sec01__col__pic {
  background: #00A6C4;
  border-radius: 50%;
  display: block;
  width: 20%;
}

.sec-welfare__sec01__col__pic img {
  width: 100%;
  padding: 22%;
}

.sec-welfare__sec01__col__textWrapper {
  width: 100%;
}

.sec-welfare__sec01__col__ttl {
  font-size: 20px;
}



@media only screen and (min-width: 768px) {
  .sec-welfare__sec01__col__ttl {
    font-size: 40px;
  }

  .sec-welfare__sec01__col__picWrapper {
    width: 15%;
  }

  .sec-welfare__sec01__col__pic {
    width: 100%;
  }

  .sec-welfare__sec01__col__textWrapper {
    width: 85%;
  }

  .sec-lnav {
    max-width: 1176px;
    margin: 0 auto;
    display: flex;
  }

  .sec-lnav .lnav .btn-link {
    width: 32px;
    height: 32px;
  }
}

.sec-lnav2 {
  display: none;
}

@media only screen and (min-width: 1515px) {
  .sec-lnav2 {
    opacity: 0;
    transition: 0.3s;
  }

  /*fixed*/
  .sec-lnav2 {
    display: block;
    position: fixed;
    top: 7%;
    left: 1%;
    max-width: inherit;
    z-index: -9999;
    opacity: 0;
    transition: 0.3s;
  }

  .sec-lnav2.fixed {
    z-index: 100;
    opacity: 1;
    transition: 0.3s;
  }

  .sec-lnav2 .sec-lnav-col {
    width: 100%;
    font-size: 16px;
  }

  .sec-lnav2 .sec-lnav-col+.sec-lnav-col {
    margin-top: 16%;
  }

  .sec-lnav2 .sec-lnav-col:nth-of-type(n+2) {
    margin-left: 0;
  }

  .sec-lnav2 .lnav>li>a {
    font-size: 14px;
    font-weight: bold;
    background: #00A6C4;
    padding: 0.5em;
    color: #ffffff;
    display: flex;
    align-items: center;
  }

  .sec-lnav2 .lnav>li:nth-of-type(n+2) {
    margin-top: 2%;
  }

  .sec-lnav2 .lnav .btn-link {
    background: #ffffff;
    width: 16px;
    height: 16px;
    rotate: 90deg;
  }

  .sec-lnav2 .btn-link--icon {
    width: 12px;
    height: 12px;
    right: 0;
  }

  .sec-lnav2 .btn-link--icon:before,
  .sec-lnav2 .btn-link--icon:after {
    border-width: 6px 0 6px 10px;
  }
}

/*sec-welfare__sec02*/
.sec-welfare__sec02__col {
  border: 1px solid #02A6C5;
  padding: 4%;
}

.sec-welfare__sec02__col__pic img+img {
  padding-top: 5%;
}

.sec-welfare__sec02__col__ttl {
  font-size: 24px;
  min-width: 216px;
}

.sec-welfare__sec02__ex__ttl {
  background: #00A6C4;
  color: #ffffff;
  padding: 0.1em 0.5em;
}

@media only screen and (min-width: 768px) {
  .sec-welfare__sec02__col__ttl {
    font-size: 40px;
  }

  .sec-welfare__sec02__col__picWrapper {}

  .sec-welfare__sec02__col__pic img {
    width: 48%;
  }

  .sec-welfare__sec02__col__pic img+img {
    padding-top: 0;
  }
}




/*sec-welfare__sec03*/
.sec-welfare__sec03__col {
  border: 1px solid #02A6C5;
  padding: 4%;
}

.sec-welfare__sec03__col__ttl {
  font-size: 24px;
  min-width: 216px;
}

@media only screen and (min-width: 768px) {
  .sec-welfare__sec03 {
    width: 49%
  }

  .sec-welfare__sec03__col__ttl {
    font-size: 40px;
  }
}

@media only screen and (max-width: 768px) {
  .sec-lnav .lnav {
    display: none;
    padding: 0 0.5em;
  }

  .sec-lnav .lnav>li>a {
    color: #ffffff;
    font-size: 14px;
    line-height: 1.4;
    padding: 0.5em;
  }

  .sec-lnav-col {
    width: 100%;
  }

  .sec-lnav-col:nth-of-type(n+2) {
    margin-top: 0.5em;
    margin-left: 0;
  }

  .sec-requirements .lnav .btn-link--icon {
    //margin-right: 0.4em;
  }

  .sec-requirements .lnav .btn-link--icon:before,
  .sec-requirements .lnav .btn-link--icon:after {
    //border-width: 7px 0 7px 12px;
  }

  .accordion-link span {
    padding: 0.5% 2.5%;
    display: block;
  }

  .sec-lnav-col {
    border: 1px solid #02A6C5;
    padding: 0.5em 0;
    background: #ffffff;
    width: 100%;
  }

  .accordion-link span:before,
  .accordion-link span:after {
    position: absolute;
    content: "";
    display: block;
    transition: all .4s cubic-bezier(.215, .61, .355, 1);
    background: #02A6C5;
    right: 5%;
    top: 50%;
    width: 16px;
    height: 1px;
    transform: translateY(-50%);
    margin-right: -0.6em;
  }

  .accordion-link span:before {
    transform: translateY(-50%) rotate(90deg) scaleY(1);
  }

  .accordion-link.open span:before {
    transform: translateY(-50%) rotate(90deg) scaleY(0);
  }

  .accordion-link {
    cursor: pointer;
    position: relative;
  }

  .lnav .btn-link {
    background: #ffffff;
    width: 16px;
    height: 16px;
  }

  .lnav .btn-link--icon:before,
  .lnav .btn-link--icon:after {
    margin-left: 10%;
  }
}


/*----------------------------------------
	sec-requirements
-----------------------------------------*/

.sec-requirements__col__tbl th {
  padding: 0 2em 0.5em;
}

.sec-requirements__col__tbl tr:nth-of-type(n+2)>th {
  padding: 0.5em 2em 0.5em 0;
}

.sec-requirements__col__tbl tr:nth-of-type(n+2)>td {
  padding: 0.5em 2em;
}


.sec-requirements__col__tbl tr:nth-of-type(n+2) th,
.sec-requirements__col__tbl tr:nth-of-type(n+2) td {
  border-top: 1px dotted #999999;
}

.sec-requirements__col__txt a[href]:not([href^="tel:"]) {
  color: #22409A;
  text-decoration: underline;
}

.sec-requirements__col__txt a[href]:not([href^="tel:"]):hover {
  text-decoration: none;
  opacity: 0.7;
}

.sec-requirements__col__tbl2 {
  display: table;
  font-size: 16px;
}

.sec-requirements__col__tbl2 .tbl_row {
  display: table-row;
}

.sec-requirements__col__tbl2 .tbl_cell {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  padding: 8px 12px;
  border-top: 1px dotted #999;
}

.attention {
  font-size: 12px;
}

@media only screen and (min-width: 992px) {

  .sec-requirements__col {
    border-top: 1px solid #00A6C4;
    padding: 0.5em 0;
  }

  .sec-requirements__col dl {
    display: flex;
  }

  .sec-requirements__col dt {
    width: 18%;
    font-size: 19px;
  }

  .sec-requirements__col dd {
    width: 82%;
  }

  .sec-requirements__col2 {
    border-top: 1px solid #00A6C4;
    padding: 0.5em 0;
    margin-top: 0.5em;
  }

  .sec-requirements__col__txt {
    font-size: 18px;
  }

  .sec-requirements__col__left {
    width: 40%;
    padding-right: 0.5em;
  }

  .sec-requirements__col__right {
    width: 60%;
    border-left: 1px solid #00A6C4;
  }

  .sec-requirements__col__left2 {
    width: 60%;
    padding-right: 0.5em;
  }

  .sec-requirements__col__right2 {
    width: 40%;
    border-left: 1px solid #00A6C4;
  }

  .sec-requirements__col__right3 {
    width: 100%;
    border-left: 1px solid #00A6C4;
    padding-left: 0.5em;
  }

  .sec-requirements__col__right3 dl:nth-of-type(2) {
    border-top: 1px solid #00A6C4;
    padding-top: 0.5em;
    margin-top: 0.5em;
  }

  .sec-requirements__col__right dl:nth-of-type(1) {
    width: 60%;
  }

  .sec-requirements__col__right dl:nth-of-type(2) {
    border-left: 1px solid #00A6C4;
    width: 40%;
  }

  .sec-requirements__col__right dl {
    padding-left: 0.5em;
  }

  .sec-requirements__col__right2 dl {
    padding-left: 0.5em;
  }

  .sec-requirements__col__tbl2 {
    font-size: 20px;
    width: 32%;
  }

  .sec-requirements__col__tbl2 .tbl_cell {
    padding: 12px 20px;
  }

  .attention {
    font-size: 15px;
  }
}

@media only screen and (max-width: 992px) {
  .sec-requirements__col {
    padding-top: 0.5em;
    margin-top: 0.5em;
    border-top: 1px solid #00A6C4;
  }

  .sec-requirements__col2 {
    padding-top: 0.5em;
    margin-top: 0.5em;
    border-top: 1px solid #00A6C4;
  }

  .sec-requirements__col__right {
    padding-top: 0.5em;
    margin-top: 0.5em;
    border-top: 1px solid #00A6C4;
  }

  .sec-requirements__col__right dl:nth-of-type(2) {
    padding-top: 0.5em;
    margin-top: 0.5em;
    border-top: 1px solid #00A6C4;
  }

  .sec-requirements__col__right2 {
    padding-top: 0.5em;
    margin-top: 0.5em;
    border-top: 1px solid #00A6C4;
  }

  .sec-requirements__col__right3 {
    padding-top: 0.5em;
    margin-top: 0.5em;
    border-top: 1px solid #00A6C4;
  }

  .sec-requirements__col__right3 dl:nth-of-type(2) {
    padding-top: 0.5em;
    margin-top: 0.5em;
    border-top: 1px solid #00A6C4;
  }
}

/*.circle {
  transform: rotate(-90deg);
  height: 100%;
  width: 100%;
  margin: auto;
  position: relative;
}

.circle circle {
  fill: none;
  stroke-width: 20px;
  position: relative;
}

.circle circle:nth-child(1) {
  stroke: #00A6C4;
  stroke-dasharray: 0, 100;
  stroke-dashoffset: 0;
  animation: anime01 1.5s 0s forwards ease-in-out;
}

.circle circle:nth-child(2) {
  stroke: #26C4FF;
  stroke-dasharray: 0, 100;
  stroke-dashoffset: -98;
  animation: anime02 0.7s 1.5s forwards ease-in-out;
}

@keyframes anime01 {
  0% {
    stroke-dasharray: 0, 100;
  }

  100% {
    stroke-dasharray: 98, 100;
  }
}

@keyframes anime02 {
  0% {
    stroke-dasharray: 0, 100;
  }

  100% {
    stroke-dasharray: 2, 98;
  }
}*/









/*----------------------------------------
	page nation
-----------------------------------------*/

.pnavi {
  padding: 8% 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pnavi .page-numbers {
  font-size: 12px;
  color: #1e1e1e;
  padding: 0.5em 1.1em;
  margin: 0 7px;
  background: #eeefec;
  transition: all 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  /*easeInOutSine*/
}

.pnavi .page-numbers:hover {
  opacity: 0.6;
}

.pnavi .page-numbers.current:hover {
  opacity: 1;
}

.pnavi .page-numbers.current {
  background: #2a3d65;
  color: #ffffff;
}

.pnavi .page-numbers.dots,
.pnavi .page-numbers.next,
.pnavi .page-numbers.prev {
  background: #ffffff;
}

.pnavi .page-numbers.next span,
.pnavi .page-numbers.prev span {
  position: relative;
}

.pnavi .page-numbers.next span:before {
  content: "";
  position: absolute;
  top: -1px;
  bottom: 0;
  margin: auto;
  left: -6px;
  width: 8px;
  height: 8px;
  border-top: 1px solid #1e1e1e;
  border-right: 1px solid #1e1e1e;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.pnavi .page-numbers.prev span:before {
  content: "";
  position: absolute;
  top: -1px;
  bottom: 0;
  margin: auto;
  right: -6px;
  width: 8px;
  height: 8px;
  border-top: 1px solid #1e1e1e;
  border-right: 1px solid #1e1e1e;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}


.pnavi span {
  position: relative;
}

.pnavi span a {
  position: relative;
  padding: 1em 0;
  transition: all 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  /*easeInOutSine*/
  font-size: 14px;
}

/*前へ*/
.pnavi-previous a {
  margin: 0 10px 0 0;
}

.pnavi-previous:before {
  content: "";
  position: absolute;
  right: 0.5em;
  bottom: 0;
  margin: 0;
  width: 80px;
  height: 6px;
  color: #333333;
  border-left: 1px solid;
  border-bottom: 1px solid;
  -webkit-transform: translateY(-50%) skewX(-45deg);
  -ms-transform: translateY(-50%) skewX(-45deg);
  transform: translateY(-50%) skewX(-45deg);
  -webkit-transition: all 0.3s cubic-bezier(0.155, 0.91, 0.695, 0.95);
  -o-transition: all 0.3s cubic-bezier(0.155, 0.91, 0.695, 0.95);
  transition: all 0.3s cubic-bezier(0.155, 0.91, 0.695, 0.95);
}

/*次へ*/
.pnavi-next a {
  margin: 0 0 0 10px;
}

.pnavi-next:before {
  content: "";
  position: absolute;
  left: 0.5em;
  bottom: 0;
  width: 80px;
  height: 6px;
  color: #2a3d65;
  border-right: 1px solid;
  border-bottom: 1px solid;
  -webkit-transform: translateY(-50%) skewX(45deg);
  -ms-transform: translateY(-50%) skewX(45deg);
  transform: translateY(-50%) skewX(45deg);
  -webkit-transition: all 0.3s cubic-bezier(0.155, 0.91, 0.695, 0.95);
  -o-transition: all 0.3s cubic-bezier(0.155, 0.91, 0.695, 0.95);
  transition: all 0.3s cubic-bezier(0.155, 0.91, 0.695, 0.95);
}

@media only screen and (min-width: 768px) {
  .pnavi {
    padding: 10% 0 0;
  }

  .pnavi .page-numbers {
    font-size: 16px;
  }

  .pnavi .page-numbers.next {
    margin-left: 8%;
  }

  .pnavi .page-numbers.prev {
    margin-right: 8%;
  }

  .pnavi span {
    display: inline-block;
    width: inherit;
  }

  .pnavi span a {
    min-width: 118px;
    font-size: 18px;
  }

  /*前へ*/
  .pnavi-previous {
    margin-right: 20px;
  }

  .pnavi-previous a {
    margin: 0;
  }

  .pnavi-previous:before {
    right: 0;
    width: 118px;
  }

  .pnavi-previous:hover:before {
    width: 128px;
  }

  /*次へ*/
  .pnavi-next {
    margin-left: 20px;
  }

  .pnavi-next a {
    margin: 0;
  }

  .pnavi-next:before {
    left: 0;
    width: 118px;
  }

  .pnavi-next:hover:before {
    width: 128px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .pnavi span a {
    font-size: 14px;
  }
}

@media only screen and (max-width: 320px) {
  .pnavi span a {
    font-size: 12px;
  }
}




/*----------------------------------------
	accrodion
-----------------------------------------*/




/*----------------------------------------
	animation
-----------------------------------------*/

@keyframes slideAnime1 {
  0% {
    -webkit-transform: scale(1.08);
    transform: scale(1.08);
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
  }
}

@keyframes slideAnime2 {
  0% {
    -webkit-transform: scale(1.12);
    transform: scale(1.12);
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
  }
}

@keyframes menuBar {
  0% {
    width: 24px;
    left: 0;
    transform: translateY(-6px);
  }

  60% {
    width: 24px;
    left: 0;
    transform: translateY(0);
  }

  79% {
    width: 0;
    left: 12px;
    transform: translateY(0);
  }

  80% {
    width: 0;
    left: 12px;
    transform: rotate(45deg);
  }

  to {
    width: 24px;
    left: 0;
    transform: rotate(45deg);
  }
}

@keyframes menuBarOut {
  0% {
    transform: rotate(45deg);
  }

  50% {
    transform: translateY(0);
  }

  to {
    transform: translateY(-6px);
  }
}

@keyframes menuBar2 {
  0% {
    left: 0;
    width: 24px;
  }

  60% {
    left: 0;
    width: 24px;
  }

  79% {
    left: 12px;
    width: 0;
  }

  80% {
    left: 12px;
    width: 0;
  }

  to {
    left: 12px;
    width: 0;
  }
}

@keyframes menuBar2Out {
  0% {
    width: 0;
  }

  49% {
    width: 24px;
  }

  50% {
    width: 24px;
  }

  to {
    width: 24px;
  }
}

@keyframes menuBar3 {
  0% {
    left: 0;
    width: 24px;
    transform: translateY(6px);
  }

  60% {
    left: 0;
    width: 24px;
    transform: translateY(0);
  }

  79% {
    left: 12px;
    width: 0;
    transform: translateY(0);
  }

  80% {
    left: 12px;
    width: 0;
    transform: rotate(-45deg);
  }

  to {
    left: 0;
    width: 18px;
    transform: rotate(-45deg);
  }
}

@keyframes menuBar3Out {
  0% {
    transform: rotate(-45deg);
  }

  50% {
    transform: translateY(0);
  }

  to {
    transform: translateY(6px) rotate(0);
  }
}

@keyframes rotation1 {
  0% {
    transform: translateX(-50%) rotate(0);
  }

  100% {
    transform: translateX(-50%) rotate(360deg);
  }
}

@keyframes slide-up01 {
  0% {
    transform: translate(0, 70%);
  }

  100% {
    transform: translate(0, 0);
  }
}

@keyframes slide-up01_s {
  0% {
    transform: translate(0, 200%);
  }

  100% {
    transform: translate(0, 0);
  }
}

@keyframes rotate-shape {
  from {
    transform: rotate(90deg);
    opacity: 0;
  }

  to {
    transform: rotate(0deg);
    opacity: 1;
  }
}


/*ttl_fade*/
.fade_t .fade_rotate {
  //opacity: 0;
  transition: 1.6s;
  scale: 0.97;
  //transform: translate3d(0, 0px, 0px) rotateY(20deg);
}

.fade_t.fade_in .fade_rotate {
  //opacity: 1;
  scale: 1;
  //transform: translate3d(0px, 0px, 0px) rotateY(0);
}

/*fade*/
.fade_t .fade_opacity {
  opacity: 0;
  transition: 0.6s ease;
}

.fade_t.fade_in .fade_opacity {
  opacity: 1;
}

.clip_txt {
  clip-path: inset(100% 0 0 0%);
  transition: clip-path 0.8s cubic-bezier(0.32, 0.95, 0.6, 1);
}

.fade_t.fade_in .clip_txt {
  clip-path: inset(0% 0% 0% 0%);
}

.clip_circle {
  transform: translateY(50px);
  clip-path: circle(0% at 50% 10%);
  opacity: 0;
  transition: clip-path 1.6s cubic-bezier(0.32, 0.95, 0.6, 1), opacity 2.6s cubic-bezier(0.16, 1, 0.3, 1), transform 2.6s cubic-bezier(0.16, 1, 0.3, 1), -webkit-clip-path 1.6s cubic-bezier(0.32, 0.95, 0.6, 1);
}

.fade_t.fade_in .clip_circle {
  clip-path: circle(100% at 50% 50%);
  opacity: 1;
  transform: translateY(0);
}

.fade_t .fade_slide {
  clip-path: inset(0 100% 0 0);
  opacity: 0;
  transition: 1.6s cubic-bezier(0.32, 0.95, 0.6, 1);
}

.fade_t.fade_in .fade_slide {
  clip-path: inset(0 0 0 0);
  opacity: 1;
}

/*fade_slide_right*/
.fade_t .fade_slide2 {
  clip-path: inset(0 100% 0 0);
  opacity: 0;
  transition: 1s cubic-bezier(0.32, 0.95, 0.6, 1);
}

.fade_t.fade_in .fade_slide2 {
  clip-path: inset(0 0 0 0);
  opacity: 1;
}

/*clip_circle2*/
.clip_circle2 {
  transform: translateY(50px);
  clip-path: circle(50% at 50% 50%);
  opacity: 0;
  transition: clip-path 1s cubic-bezier(0.32, 0.95, 0.6, 1), opacity 2s cubic-bezier(0.16, 1, 0.3, 1), transform 2s cubic-bezier(0.16, 1, 0.3, 1), -webkit-clip-path 1.6s cubic-bezier(0.32, 0.95, 0.6, 1);
}

.fade_t.fade_in .clip_circle2 {
  clip-path: circle(100% at 50% 50%);
  opacity: 1;
  transform: translateY(0);
}

/*fade*/
.fade_t .fade_big {
  scale: 0.9;
  transition: 0.6s ease;
}

.fade_t.fade_in .fade_big {
  scale: 1;
}


/*fade_scale*/
.fade_t .fade_scale {
  overflow: hidden;
}

.fade_t .fade_scale img {
  transform: scale(1);
  transition: transform 2s cubic-bezier(.22, 1, .36, 1);
}

.fade_t.fade_in .fade_scale img {
  transform: scale(1.1);
}






/*----------------------------------------
	cmn-footer
-----------------------------------------*/

.cmn-footer {
  position: relative;
  margin-top: 12%;
}

.cmn-footer__inner {
  padding: 10% 0 6%;
  background: #DDF6FF;
}

.cmn-footer__inner2 {
  color: #22409A;
}

.cmn-footer__nav {
  border-top: 1px dotted #22409A;
}

.cmn-footer__nav li:not(:first-of-type) {
  border-top: 1px dotted #22409A;
}

.cmn-footer__nav li a {
  position: relative;
  color: #22409A;
  padding: 1em 2em 1em 0;
  display: inline-block;
  width: 100%;
  font-size: 14px;
  line-height: 1.4;
}

.cmn-footer__nav li a:before {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  border-color: transparent transparent transparent #22409A;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin-top: 1.4em;
}

.cmn-footer__copyrightWrapper {
  padding: 4% 0 5%;
}

.cmn-footer__copyright {
  font-size: 12px;
  color: #22409A;
}

.cmn-footer__logoIcon {
  height: 48px;
}

.cmn-footer__logoTtl {
  height: 40px;
}

@media screen and (min-width:768px) {
  .cmn-footer {
    margin-top: 8%;
  }

  .cmn-footer__inner {
    padding: 5% 0 0;
  }

  .cmn-footer__nav {
    border-top: none;
    width: 80%;
    margin: 0 auto;
  }

  .cmn-footer__nav li:not(:first-of-type) {
    border-top: none;
    padding-left: 1.8em;
  }

  .cmn-footer__nav li {
    line-height: 2;
  }

  .cmn-footer__nav li a {
    padding: 0;
    transition: 0.3s;
    font-size: 16px;
  }

  .cmn-footer__nav li a:hover {
    opacity: 0.7;
  }

  .cmn-footer__nav li a:before {
    content: none;
  }

  .cmn-footer__copyright {
    font-size: 14px;
  }

}


@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .cmn-footer__nav {
    width: 70%;
  }

  .cmn-footer__nav li {
    white-space: nowrap;
  }

  .cmn-footer__nav li:not(:first-of-type) {
    padding-left: 1em;
  }

  .cmn-footer__nav li a {
    font-size: 1.6vw;
  }
}

/*----------------------------------------
	pageTop
-----------------------------------------*/

#pageTop {
  position: fixed;
  right: 20px;
  bottom: -120px;
  display: table;
  z-index: 500;
  transition: 0.3s;
}

#pageTop.fixed {
  bottom: 60px;
}

#pageTop.keep {
  position: absolute;
  right: 20px;
  top: 0;
  z-index: 500;
  margin-top: -40px;
  transition: 0.1s;
}

#pageTop a {
  position: relative;
  width: 40px;
  height: 40px;
  display: table-cell;
  cursor: pointer;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../images/pagetop_arrow.svg);
}

@media screen and (min-width: 768px) {
  #pageTop {
    right: 60px;
    bottom: -100px;
  }

  #pageTop.fixed {
    bottom: 20px;
  }

  #pageTop.keep {
    right: 60px;
    margin-top: -80px;
  }

  #pageTop a {
    width: 80px;
    height: 80px;
  }

  #pageTop a:after {
    width: 7px;
    height: 48px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  #pageTop {
    right: 40px;
  }

  #pageTop.fixed {
    bottom: 80px;
  }

  #pageTop.keep {
    right: 40px;
  }

  #pageTop a {
    width: 50px;
    height: 50px;
  }

  #pageTop a:after {
    width: 5px;
    height: 40px;
  }
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  #pageTop.fixed {
    bottom: 90px;
  }
}

/*----------------------------------------
	loading
-----------------------------------------*/

@keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    display: none;
    opacity: 0;
    z-index: -100;
  }
}

body .loading-sec {
  position: absolute;
  top: 0;
  width: 100%;
  height: 70vh;
  z-index: 1000;
}

body .loading-sec.loaded {
  z-index: -9000;
}

body .loading-sec__inner {
  padding-top: calc(900 / 1200* 100%);
}

body .loading-sec .loading {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
}

body:not(.home) .loading-sec {
  display: none;
}

body .loading-sec.loaded .loading {
  animation: fadeOut 0.5s forwards;
}

body .loading-sec .loading .loadingInner {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  -webkit-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}

@media (min-width: 768px) {
  body .loading-sec {
    height: 100vh;
  }

  body .loading-sec__inner {
    padding-top: calc(500 / 1200* 100%);
  }
}

@keyframes spin {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(359deg);
  }
}

.spinner-box {
  width: 50px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: transparent;
}

.circle-border {
  width: 50px;
  height: 50px;
  padding: 3px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background: rgb(63, 249, 220);
  background: linear-gradient(0deg, rgba(63, 249, 220, 0.1) 33%, rgb(3, 3, 3) 100%);
  animation: spin .8s linear 0s infinite;
}

.circle-core {
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  border-radius: 50%;
}


@media (min-width: 768px) {

  /*fade*/
  .fade_t .fade_blur {
    filter: blur(5px);
    opacity: 0;
    transition: 1.6s cubic-bezier(0.32, 0.95, 0.6, 1);
  }

  .fade_t.fade_in .fade_blur {
    filter: blur(0);
    opacity: 1;
  }
}


/*----------------------------------------
	sec-bnr__recruit
-----------------------------------------*/

body.home .sec-bnr__recruit {
  display: none;
}

body:not(.home) .sec-bnr__recruit {
  position: fixed;
  bottom: 0;
  width: 100%;
  right: 0;
}

body:not(.home) .sec-bnr__recruit__inner {
  display: flex;
  justify-content: flex-end;
}

body:not(.home) .sec-bnr__recruit__item {
  position: relative;
  padding: 0 0.1em;
}

@media (min-width: 992px) {
  body:not(.home) .sec-bnr__recruit {
    position: fixed;
    bottom: inherit;
    top: 60px;
    right: 10px;
    width: inherit;
    z-index: 1;
    transition: 0.3s;
    padding-top: 0.3em;
  }

  body:not(.home) .sec-bnr__recruit__inner {
    display: flex;
    justify-content: space-end;
  }

  body:not(.home) .cmn-header.fixed .sec-bnr__recruit {
    top: 5px;
    right: 60px;
    padding-top: 0.1em;
  }

  body:not(.home) .sec-bnr__recruit__item {
    padding: 0;
  }

  body:not(.home) .sec-bnr__recruit__item:nth-of-type(2) {
    margin-left: 0.5em;
  }
}

@media (min-width: 1199px) {
  body:not(.home) .sec-bnr__recruit {
    top: 50px;
  }

  body:not(.home) .cmn-header.fixed .sec-bnr__recruit {
    top: 0;
  }
}

@media (min-width: 1399px) {
  body:not(.home) .sec-bnr__recruit {
    top: 80px;
  }

  body:not(.home) .cmn-header.fixed .sec-bnr__recruit {
    top: 40px;
    right: 10px;
    padding-top: 0.3em;
  }
}