@charset "UTF-8";

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

  reset

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

:root ol, :root ul {
  margin: 0;
  padding: 0;
}
.pbNested {
  clear: none;
  overflow: visible;
  min-width: 10px;
}
.pb-layout {
  outline: 1px dotted #ccc !important;
  box-shadow: none!important;
}
.pb-handle {
  display: block!important;
  width: auto!important;
  height: auto!important;
  min-width: auto!important;
  min-height: auto!important;
  border: 1px solid #999!important;
  font-family: Meiryo, 'Hiragino Kaku Gothic ProN', 'MS PGothic', Sans-serif!important;
  font-weight: normal!important;
  letter-spacing: normal!important;
  text-indent: 0!important;
  line-height: 1.6;
}
.pb-handle:before,
.pb-handle:after {
  display: none!important;
}
.pbNotEditable {
  min-width: 200px!important;
  background: rgba(32, 32, 32, 0.5)!important;
}
.pbZero td {
  vertical-align: middle;
}

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

  base

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

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  vertical-align: top;
}
@media print, screen and (min-width: 768px) {
  html {
    margin-right: 0!important;
  }
}
body {
  margin: 0 auto;
  max-width: 1920px;
  min-width: 1160px;
}
@media screen and (max-width: 767px) {
  body {
    min-width: auto;
  }
}
body.open {
  overflow: hidden;
}
@media screen and (min-width: 1160px) {
  body.open {
    padding-right: 17px;
  }
}
body.side-modal {
  overflow: hidden;
}
div.pbPage {
  position: relative;
  overflow: hidden!important;
  -webkit-text-size-adjust: 100%;
  background: #fff;
  color: #242424;
  font-family: "\6E38\30B4\30B7\30C3\30AF\4F53", "YuGothic", "\6E38\30B4\30B7\30C3\30AF", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "meiryo", "Helvetica Neue", "arial", sans-serif;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: .4px;
  font-weight: 500;
  word-break: break-word;
}
.pbAreaWrapper1 {
  top: 70px;
}
@media screen and (max-width: 767px) {
  .pbAreaWrapper1 {
    top: 50px;
  }
}

/*  title
========================================================================*/

h1,
h2,
h3,
h4 {
  font-weight: inherit;
  font-size: inherit;
}

/*  link
========================================================================*/

a {
  color: inherit;
  text-decoration: none;
  transition: opacity .3s , color .3s;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
}

/*  list
========================================================================*/

ol,
ul {
  list-style: none;
}

/*  img
========================================================================*/

img {
  max-width: 100%;
  height: auto;
  transition: transform 1s;
}
a .image {
  overflow: hidden;
}
@media (min-width: 768px) {
  a:hover .image img {
    transform: scale(1.08);
  }
}

/*  table
========================================================================*/

table {
  max-width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  border: none;
}

/*  form
========================================================================*/

:focus {
  outline: none;
}
button {
  background: transparent;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  font-family: "\6E38\30B4\30B7\30C3\30AF\4F53", "YuGothic", "\6E38\30B4\30B7\30C3\30AF", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "meiryo", "Helvetica Neue", "arial", sans-serif;
  color: inherit;
  cursor: pointer;
  letter-spacing: .4px;
    font-weight: 500;
  transition: opacity .3s;
}

/*  sup
========================================================================*/

sup {
  font-size: 66%;
}

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

  utility

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

.u_left {
  text-align: left!important;
}
.u_center {
  text-align: center!important;
}
.u_right {
  text-align: right!important;
}
.u_mt0 {
  margin-top: 0!important;
}
.u_mt10 {
  margin-top: 10px!important;
}
.u_mt15 {
  margin-top: 15px!important;
}
.u_mt20 {
  margin-top: 20px!important;
}
.u_mt25 {
  margin-top: 25px!important;
}
.u_mt30 {
  margin-top: 30px!important;
}
.u_mt40 {
  margin-top: 40px!important;
}

@media print, screen and (min-width: 768px) {
  .u_sp {
    display: none!important;
  }
  .u_pc-left {
    text-align: left!important;
  }
  .u_pc-center {
    text-align: center!important;
  }
  .u_pc-space8 {
    letter-spacing: .8px!important;
  }
  .u_pc-space11 {
    letter-spacing: 1.1px!important;
  }
  .u_pc-mt40 {
    margin-top: 40px!important;
  }
  .u_pc-mt50 {
    margin-top: 50px!important;
  }
  .u_pc-mt60 {
    margin-top: 60px!important;
  }
  .u_pc-mt70 {
    margin-top: 70px!important;
  }
  .u_pc-mt80 {
    margin-top: 80px!important;
  }
  .u_pc-mt100 {
    margin-top: 100px!important;
  }
  .u_pc-mt120 {
    margin-top: 120px!important;
  }
}

@media screen and (max-width: 767px) {
  .u_pc {
    display: none!important;
  }
  .u_sp-center {
    text-align: center!important;
  }
  .u_sp-mt20 {
    margin-top: 20px!important;
  }
  .u_sp-mt40 {
    margin-top: 40px!important;
  }
  .u_sp-mt60 {
    margin-top: 60px !important;
  }
}

/* 20241216 */
.u_br-pc {
  display: inline-block;
}
.u_br-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .u_br-pc {
    display: none;
  }
  .u_br-sp {
    display: inline-block;
  }
}

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

  HEADER

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

/*  h-header
========================================================================*/

.k_h-header {
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  z-index: 21;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1920px;
  min-width: 1160px;
  height: 70px;
  padding: 0 30px;
  color: #FFF;
  transition: background .5s, opacity .3s;
}
.k_h-header:after {
  display: none;
}
@media print {
  .k_h-header {
    opacity: 1!important;
    background: none!important;
    position: absolute;
  }
}
.pbPage.edit .k_h-header {
  z-index: 1000;
}
@media screen and (min-width: 1160px) {
  body.open .k_h-header {
    width: calc(100% - 17px);
  }
}
@media screen and (min-width: 1920px) {
  .k_h-header {
    left: auto!important;
  }
}
.k_h-header.h-show {
  opacity: 1;
  pointer-events: auto;
}
.k_h-header.h-black {
  background: #FFF;
  color: #242424;
}
.k_h-header svg {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .k_h-header svg {
    padding: 2px 0;
  }
}
.k_h-header path {
  fill: #fff;
  transition: fill .3s;
}
.k_h-header.h-black path { fill: rgb(48 54 58); }
.k_h-header.h-black path:nth-child(1),
.k_h-global.h-black path:nth-child(1) {
    fill: rgb(0 108 184);
}
.k_h-header.h-black path:nth-child(2),
.k_h-global.h-black path:nth-child(2) {
    fill: rgb(230 0 57);
}
.k_h-header .heading {
  display: flex;
  align-items: center;
  font-family: inherit;
}
.k_h-header .h-logo {
  position: relative;
  width: 66px;
}
.k_h-header .h-text {
  margin-left: 20px;
  font-weight: bold;
  display: block;
  -webkit-transform: translateZ(0);
}
@media screen and (min-width: 768px) {
  .k_h-header .h-text h1,
  .k_h-header .h-text p {
    font-size: 15px;
  }
} 

@media (min-width: 768px) {
  .k_h-header .h-text a:hover {
    opacity: .6;
  }
}
.k_h-header .menu {
  margin: auto;
}
.k_h-header .menu ul {
  display: flex;
  align-items: center;
  font-size: 13px;
  font-weight: bold;
  -webkit-transform: translateZ(0);
}
.k_h-header .menu li {
  margin: 0 12px;
}
.k_h-header .menu a {
  position: relative;
  padding-bottom: 5px;
}
.k_h-header .menu a:before {
  opacity: 0;
  content: '';
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #fff;
  transition: all .3s;
}
.k_h-header.h-black .menu a:before {
  background: #000;
}
.k_h-header #loginDiv.header__user.active {
  margin-right: 0;
}
@media (min-width: 768px) {
  .k_h-header .menu a:hover:before {
    opacity: 1;
  }
}
.k_h-header .menu li.active a:before {
  opacity: 1;
}
.k_h-header .login {
  display: flex;
  align-items: center;
  transform: translateX(-40px);
}
@media (min-width: 768px) {
  .k_h-header .login a:hover {
    opacity: .6;
  }
}
.k_h-header.h-black .btn-mypage {
  color: #000;
}
.k_h-header .btn-mypage {
  color: #fff;
}
.k_h-header:not(.h-black) .header__user#loginDiv .header_login .btn{
    border: 1px solid #ffffff;
}
.k_h-header .l-button:not(.active),
.k_h-header .l-icon:not(.active) {
  display: none;
}
.k_h-header .l-button a {
  display: block;
  padding: 0 6px;
  font-size: 12px;
  border: 1.5px solid;
  height: 24px;
  line-height: 23px;
  -webkit-transform: translateZ(0);
}
.k_h-header .l-icon {
  position: relative;
  width: 40px;
}
.k_h-header .l-icon a {
  display: block;
  padding: 10px;
}
.k_h-header .l-icon svg {
  display: block;
}
.k_h-header .burger-open {
  position: absolute;
  top: 0;
  right: 10px;
  width: 60px;
  height: 70px;
  cursor: pointer;
}
.k_h-header .burger-open span {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  width: 20px;
  height: 2px;
  background: #FFF;
  transition: background .3s;
}
.k_h-header.h-black .burger-open span {
  background: #000;
}
.k_h-header .burger-open span:nth-of-type(1) {
  top: 26px;
}
.k_h-header .burger-open span:nth-of-type(2) {
  top: 34px;
}
.k_h-header .burger-open span:nth-of-type(3) {
  bottom: 26px;
}

@media screen and (max-width: 767px) {
  .k_h-header {
    min-width: auto;
    height: 50px;
    padding: 0 20px;
  }
  .k_h-header .h-logo {
    width: 54px;
  }
  .k_h-header .h-text {
    margin-left: 10px;
    font-size: 13px;
  }
  .k_h-header .h-text h1,
  .k_h-header .h-text p,
  .k_h-header .h-text a {
    font-size: inherit;
    font-weight: inherit;
  }
  .k_h-header .menu {
    display: none;
  }
  .k_h-header .login {
    transform: translateX(-35px);
  }
  .k_h-header .l-button a {
    padding: 0 3px;
    font-size: 10px;
    height: 20px;
    line-height: 18px;
    font-weight: bold;
  }
  .k_h-header .burger-open {
    width: 45px;
    height: 50px;
  }
  .k_h-header .burger-open span:nth-of-type(1) {
    top: 17px;
  }
  .k_h-header .burger-open span:nth-of-type(2) {
    top: 24px;
  }
  .k_h-header .burger-open span:nth-of-type(3) {
    bottom: 17px;
  }
}

@media screen and (max-width: 767px) {
  body.modal-header .k_h-header {
    opacity: 0;
  }
}

/* side-modal
========================================================================*/

@media screen and (max-width: 767px) {
  body.modal-header .k_h-header {
    opacity: 0;
  }
}

/*  h-global
========================================================================*/

.k_h-global {
  position: fixed;
  top: 0;
  z-index: 21;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1920px;
  min-width: 1160px;
  height: 100vh;
}
.pbPage.edit .k_h-global {
  z-index: 1000;
}
@media screen and (min-width: 1920px) {
  .k_h-global {
    left: auto!important;
  }
}
body:not(.open) .k_h-global {
  pointer-events: none;
}
.k_h-global .overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.k_h-global .inner {
  opacity: 0;
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  width: 467px;
  height: 100vh;
  padding-top: 70px;
  background: #fff;
  border-left: 1px solid #D8D8D8;
  transform: translateX(100%);
}
body.open .k_h-global .inner,
body.close .k_h-global .inner {
  transition: transform .5s , opacity .5s;
}
body.open .k_h-global .inner {
  opacity: 1;
  transform: translateX(0);
}
.k_h-global .burger-close {
  position: absolute;
  top: 0;
  right: 10px;
  width: 60px;
  height: 70px;
  cursor: pointer;
}
.k_h-global .burger-close span {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  width: 25px;
  height: 2px;
  background: #000;
}
.k_h-global .burger-close span:nth-of-type(1) {
  top: 34px;
  transform: rotate(45deg);
}
.k_h-global .burger-close span:nth-of-type(2) {
  bottom: 34px;
  transform: rotate(-45deg);
}
.k_h-global .inner:before {
  content: '';
  position: absolute;
  z-index: 1;
  top: 70px;
  left: 0;
  width: 100%;
  height: 1px;
  background: #D8D8D8;
}
.k_h-global .inner ul {
  overflow: auto;
  height: calc(100vh - 70px);
  scrollbar-width: thin;
  scrollbar-color: #999 #D8D8D8;
}
.k_h-global .inner ul:after {
  content: '';
  display: block;
  width: 100%;
  height: 50px;
}
.k_h-global .inner ul::-webkit-scrollbar {
  width: 7px;
}
.k_h-global .inner ul::-webkit-scrollbar-thumb {
  background: #999;
  border-radius: 0;
}
.k_h-global .inner ul::-webkit-scrollbar-track {
  background: #D8D8D8;
  border-radius: 0;
}
.k_h-global .inner ul ul {
  height: auto;
  padding: 0;
}
.k_h-global .inner li {
  position: relative;
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid #D8D8D8;
}
.k_h-global .inner li a,
.k_h-global .inner li button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: calc(2em * 1.7 + 18px);
  padding: 10px 40px 9px 28px;
  font-size: 13px;
  font-weight: bold;
}
.k_h-global .inner li button {
  border: none;
  text-align: left;
}
.k_h-global .inner li a:after,
.k_h-global .inner li button:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 6px;
  right: 20px;
  background: url(../img/icon_arrow-b.svg) no-repeat center / contain;
  transition: all .3s;
}
@media (min-width: 768px) {
  .k_h-global .inner li a:not([target=_blank]):hover:after,
  .k_h-global .inner li button:hover:after {
    transform: translateX(-5px);
  }
}
.k_h-global .inner li a[target=_blank]:after {
  width: 11px;
  background-image: url(../img/icon_blank-b.svg);
}
.k_h-global .inner li button.pull-down:before,
.k_h-global .inner li button.pull-down:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 20px;
  width: 9px;
  height: 1px;
  background: #242424;
}
.k_h-global .inner li button.pull-down:after {
  transform: rotate(90deg);
}
.k_h-global .inner li button.pull-down.active:after {
  transform: rotate(180deg);
}
.k_h-global .menu {
  width: 175px;
  background: #F4F4F4;
}
.k_h-global .menu li.active {
  background: #FFF;
  pointer-events: none;
}
.k_h-global .under {
  width: 270px;
  margin-left: auto;
}
.k_h-global .u-content {
  display: none;
}
.k_h-global .u-content.active {
  display: block;
  animation: fade-in .3s ease-in-out 0s;
}
@keyframes fade-in {
  0% {opacity: 0; transform: translateX(30px);}
  100% {opacity: 1; transform: translateX(0);}
}
.k_h-global .u-content li a,
.k_h-global .u-content li button {
  padding-left: 10px;
}
.k_h-global .u-content li ul {
  display: none;
  
}
.k_h-global .u-content li ul:after {
    display: none;
}
.k_h-global .u-content li li {
  border-bottom: none;
  border-top: 1px solid #D8D8D8;
}
.k_h-global .u-content li ul a {
  padding-left: 35px;
}

@media screen and (max-width: 767px) {
  .k_h-global {
    min-width: auto;
  }
  .k_h-global .inner {
    width: 100%;
    padding-top: 50px;
    border-left: none;
    transform: translateX(0);
  }
  .k_h-global .logo {
    display: flex;
    position: absolute;
    top: 10px;
    left: 20px;
    z-index: 1;
    align-items: center;
  }
  .k_h-global .l-logo {
    width: 54px;
  }
  .k_h-global .l-logo svg {
    width: 100%;
  }
  .k_h-global .l-logo path {
    fill: #242424;
  }
  .k_h-global .l-text {
    margin-left: 10px;
    font-weight: bold;
  }
  .k_h-global .l-text p {
    font-size: 13px;
    line-height: 1.6;
  }
  .k_h-global .burger-close {
    width: 45px;
    height: 50px;
  }
  .k_h-global .burger-close span:nth-of-type(1) {
    top: 24px;
  }
  .k_h-global .burger-close span:nth-of-type(2) {
    bottom: 24px;
  }
  .k_h-global .inner:before {
    top: 50px;
  }
  .k_h-global .inner ul {
    height: calc(100vh - 50px);
    padding-bottom: 50px;
  }
  .k_h-global .inner li a,
  .k_h-global .inner li button {
    font-size: 12px;
  }
  .k_h-global .menu {
    width: 38%;
  }
  .k_h-global .menu li:after {
    width: 100%;
  }
  .k_h-global .menu li a,
  .k_h-global .menu li button {
    padding: 10px 30px 9px 20px;
  }
  .k_h-global .menu li a:after,
  .k_h-global .menu li button:after {
    right: 10px;
  }
  .k_h-global .under {
    width: calc(62% - 20px);
  }
}

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

  SIDE

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

.k_side {
  display: none;
  position: fixed;
  z-index: 10;
  top: 300px;
  right: 0;
  width: 80px;
  background: #3B3B41;
  color: #FFF;
  font-size: 13px;
  line-height: 1.1;
  text-align: center;
  border-radius: 6px 0 0 6px;
}
@media print {
  .k_side {
    display: none;
  }
}
.pbPage.edit .k_side {
  z-index: 999;
}
.k_side li:not(:first-child) {
  border-top: 1px dashed #707070;
}
.k_side li a {
  display: block;
  color: inherit;
}
.k_side li:not(.line) a {
  padding: 11px 0;
}
.k_side li.line a {
  padding: 10px 0 6px;
  font-size: 12px;
}
.k_side li img {
  display: block;
  margin: auto;
  height: 26px;
}
.k_side li span {
  display: block;
  font-size: inherit;
}
.k_side li:not(.line) span {
  margin: 7px 0 0;
}
.k_side li.line span {
  margin: 2px 0 0;
  white-space: nowrap;
}
.k_side li.line a {
  padding: 10px 0 6px;
  
}
@media (min-width: 768px) {
  .k_side li a:hover {
    opacity: .6;
  }
}

@media screen and (max-width: 767px) {
  .k_side {
    top: auto;
    bottom: 0;
    width: 100%;
    height: 75px;
    font-size: 12px;
    border-radius: 0;
    transition: transform .5s;
  }
  .k_side.close {
    transform: translateX(calc(100% - 30px));
  }
  .k_side ul {
    display: flex;
    margin-left: 30px;
  }
  .k_side li {
    width: calc(100% - 30px * 5);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .k_side li:not(:first-child) {
    border-top: none;
    border-left: 1px dashed #707070;
  }
  .k_side li:not(.line) a {
    padding: 8px 0;
  }
  .k_side li.line a {
    font-size: 11px;
  }
  .k_side .button {
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 75px;
    background: url(../img/s_close.png) no-repeat center / 11px #2d2d33;
  }
  .k_side.close .button {
    transform: rotate3d(0, 0, 1, 180deg);
  }
}

/*  side modal
========================================================================*/

div.mfp-bg {
  background: #3b3b41;
}
div.mfp-fade.mfp-bg.mfp-ready {
  opacity: .6;
}
div.mfp-iframe-holder {
  padding: 0;
}
.mfp-fade.mfp-wrap .mfp-content {
  max-width: 1160px;
}
@media print, screen and (min-width: 768px) {
  .mfp-fade.mfp-wrap .mfp-content {
    margin-left: -17px;
  }
}
button.mfp-close {
  opacity: 1;
  top: 0;
  right: 0;
  width: 90px;
  height: 90px;
  font-size: 0;
  transition: opacity .3s;
}
.mfp-close:before,
.mfp-close:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  width: 25px;
  height: 2px;
  background: #212121;
}
.mfp-close:before {
  transform: rotate(45deg);
}
.mfp-close:after {
  transform: rotate(-45deg);
}
.c_modal-content {
  width: 100%;
  height: 100vh;
  max-height: 550px;
  overflow: hidden;
  background: #F4F4F4;
}
.c_modal-content .bar,
.c_modal-content .area .box-title1,
.c_modal-content .area li a {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}
.c_modal-content .bar {
  padding: 30px 25px;
  background: #fff;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  border-bottom: 1px solid #D8D8D8;
  letter-spacing: 0.8px;
}
.c_modal-content .inner {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  height: calc(100% - 77px);
  padding: 35px 100px 45px 100px;
}
@media all and (-ms-high-contrast: none) {
  .c_modal-content .inner > *:last-child {
    margin-bottom: 60px;
  }
}
.c_modal-content .area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 40px;
}
.c_modal-content .area .area-box1 {
  width: 47.899%;
  border-bottom: 1px solid #D8D8D8;
}
.c_modal-content .area .area-box1:first-child,
.c_modal-content .area .area-box1:nth-of-type(2) {
    border-top: 1px solid #D8D8D8;
}
.c_modal-content .area .box-title1 {
  position: relative;
  padding: 26px 40px 26px 30px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.6;
  cursor: pointer;
  transition: opacity .3s;
}
.c_modal-content .area .box-title1::before,
.c_modal-content .area .box-title1::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 20px;
  width: 16px;
  height: 2px;
  background: #000;
  transition: all .3s;
}
.c_modal-content .area .box-title1::before{
  transform: rotate(90deg);
}
.c_modal-content .area .box-title1.active::before{
  transform: rotate(0deg);
}

@media (min-width: 768px) {
  .c_modal-content .area .box-title1:hover {
    opacity: .6;
  }
}
.c_modal-content .area .box-contens1 {
  display: none;
  padding: 0 0 30px 60px;
}
.c_modal-content .area .box-contens1 > ul > li:nth-child(n+3) {
    border-top: 1px dotted #D8D8D8;
}
.c_modal-content .area .box-contens1 > ul > ul li {
    border-top: 1px dotted #D8D8D8;
}
.c_modal-content .area .area-box1 .box-contens1 > ul > ul li a {
    padding: 23px 40px 23px 0px;
}
.c_modal-content .area .area-box2 {
  width: 100%;
}
.c_modal-content .area .box-contens1 .area-box2:not(:first-child) {
    border-top: 1px dotted #D8D8D8;
}
.c_modal-content .area ul {
  display: flex;
    flex-wrap: wrap;
}
.c_modal-content .area li {
  width: 50%;
}
.c_modal-content .area li:nth-child(odd) {
  padding-right: 30px;
}
.c_modal-content .area li:nth-child(even) {
    padding-left: 30px;
}
.c_modal-content .area li a {
  position: relative;
  display: block;
  padding: 15px 0 12px 0;
  font-size: 15px;
  background: url(/kodate/assets/img/icon_arrow_black.png) no-repeat right center;
  background-size: 8px;
}
@media (min-width: 768px) {
  .c_modal-content .area li a:hover {
    opacity: .6;
  }
  .c_modal-content .c_button a:hover {
    opacity: .6;
  }
}

@media screen and (max-width: 767px) {
  .mfp-container.mfp-s-ready.mfp-inline-holder {
    padding: 0!important;
  }
  button.mfp-close {
    width: 78px;
    height: 78px;
  }
  .c_modal-content {
    max-height: none;
  }
  .c_modal-content .bar {
    padding: 25px 25px;
    text-align: left;
    font-size: 17px;
  }
  .c_modal-content .inner {
    padding: 20px 20px 100px 20px;
  }
  .c_modal-content .area {
    margin-top: 0px;
  }
  .c_modal-content .area .area-box1 {
    width: 100%;
  }
  .c_modal-content .area .area-box1:last-of-type {
    border-bottom: 1px solid #D8D8D8;
  }
  .c_modal-content .area .area-box1:nth-child(2) {
    border-top: none;
  }
  .c_modal-content .area .area-box1-contens {
    padding-left: 25px;
  }
  .c_modal-content .area .box-contens1 {
    padding: 0 0 30px 30px
  }
  .c_modal-content .area .box-title1 {
    background-position: right center;
    font-size: 15px;
    font-weight: bold;
    padding: 20px 40px 20px 0;
  }
  .c_modal-content .area li a {
    background-position: right center;
  }
  .c_modal-content .area .box-contens1 > ul li a {
    padding: 20px 40px 20px 0;
      font-size: 15px;
  }
}

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

  FOOTER

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

/*  pickup
========================================================================*/

.k_f-pickup {
  width: calc(100% - 40px);
  max-width: 1160px;
  margin: 90px auto 0;
}
.k_f-pickup .title {
  margin-bottom: 30px;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
}
.k_f-pickup .slider {
  opacity: 0;
  margin: 0 -16px;
}
.k_f-pickup .slider.slick-initialized {
  opacity: 1;
}
.k_f-pickup .slider.slick-dotted.slick-slider {
  margin-bottom: 0;
  padding-bottom: 0;
}
.k_f-pickup .slick-list {
  overflow: visible;
}
.k_f-pickup .slick-slide {
  overflow: hidden;
  position: relative;
  margin: 0 16px;
}
.k_f-pickup .item:before {
  content: '';
  display: block;
  padding-top: 53.724%;
}
.k_f-pickup .item a[target=_blank]:after {
  content: '';
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 15px;
  height: 15px;
  background: url(../img/f_icon-blank-w.png) center / contain;
}
.k_f-pickup .item img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
@media (min-width: 768px) {
  .k_f-pickup .item a:hover img {
    transform: scale(1.08);
  }
}
.k_f-pickup .slick-arrow {
  display: block!important;
  transform: translateY(-39px);
  left: 0;
  z-index: 1;
  width: 32px;
  height: 32px;
  background: #3C3B41;
  border-radius: 50%;
  transition: opacity .3s;
}
.k_f-pickup .slick-arrow:hover,
.k_f-pickup .slick-arrow:focus {
  background: #3C3B41;
}
@media (min-width: 768px) {
  .k_f-pickup .slick-arrow:hover {
    opacity: .6;
  }
}
.k_f-pickup .slick-arrow.slick-next {
  transform: translateY(-39px) scale(-1, 1);
  left: auto;
  right: 0;
}
.k_f-pickup .slick-arrow:before,
.k_f-pickup .slick-arrow:after {
  opacity: 1!important;
  content: '';
  position: absolute;
  top: 8px;
  left: 14px;
  width: 2px;
  height: 9px;
  background: #FFF;
  transform: rotate(50deg);
}
.k_f-pickup .slick-arrow:after {
  top: 13px;
  transform: rotate(-50deg);
}
.k_f-pickup .slick-dots {
  display: none;
  position: relative;
  bottom: 0;
  margin: 40px auto 0;
  line-height: 1;
}
.k_f-pickup .slick-dots li {
  width: 6px;
  height: 6px;
  margin: 0 8px;
}
.k_f-pickup .slick-dots li button {
  width: 100%;
  height: 100%;
  padding: 0;
  background: #D8D8D8;
  border-radius: 50%;
}
.k_f-pickup .slick-dots li.slick-active button {
  background: #242424;
}
.k_f-pickup .slick-dots li button:before {
  display: none;
}

@media screen and (max-width: 767px) {
  .k_f-pickup {
    margin-top: 30px;
  }
  .k_f-pickup .title {
    margin-bottom: 20px;
    font-size: 14px;
  }
  .k_f-pickup .slider {
    margin: 0 -5px;
  }
  .k_f-pickup .slick-slide {
    margin: 0 5px;
  }
  .k_f-pickup .item a[target=_blank]:after {
    right: 5px;
    bottom: 5px;
    width: 10px;
    height: 10px; 
  }
  .k_f-pickup .slick-dots {
    width: calc(100% - 10px);
    margin-top: 25px;
  }
  .k_f-pickup .slick-dots li {
    width: 5px;
    height: 5px;
    margin: 0 6px;
  }
}

/*  f-link
========================================================================*/

.k_f-link {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: calc(100% - 40px);
  max-width: 1160px;
  margin: 70px auto 0;
  padding: 40px 40px 50px;
  background: #F4F4F4;
  font-weight: bold;
}
.k_f-link a {
  display: block;
}
@media (min-width: 768px) {
  .k_f-link a:hover {
    opacity: .6;
  }
}
.k_f-link a:after {
  content: '';
  display: inline-block;
  height: 1em;
  background: url(../img/icon_arrow-b.svg) no-repeat center / contain;
  transform: translateY(2px);
}
.k_f-link a[target=_blank]:after {
  background-image: url(../img/icon_blank-b.svg);
}
.k_f-link .box {
  width: calc(50% - 20px);
}
.k_f-link .title {
  font-size: 18px;
}
.k_f-link .title a:after {
  width: 8px;
  margin-left: 10px;
}
.k_f-link .title a[target=_blank]:after {
  width: 13px;
}
.k_f-link .list {
  margin-top: 5px;
  font-size: 14px;
}
.k_f-link .list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.k_f-link .list li {
  width: calc(50% - 8px);
  border-bottom: 1px solid #D8D8D8;
}
.k_f-link .list a {
  padding: 15px 0;
}
.k_f-link .list a:after {
  width: 7px;
  margin-left: 7px;
}
.k_f-link .list a[target=_blank]:after {
  width: 11px;
}

@media screen and (max-width: 767px) {
  .k_f-link {
    margin: 30px auto 0;
    padding: 35px 30px 40px;
  }
  .k_f-link .box {
    width: 100%;
  }
  .k_f-link .box:not(:first-child) {
    margin-top: 35px;
  }
  .k_f-link .title {
    font-size: 16px;
  }
  .k_f-link .list {
    margin-top: 0;
    font-weight: normal;
  }
  .k_f-link .list li {
    width: 100%;
  }
  .k_f-link .list a {
    padding: 13px 0 6px;
  }
  .k_f-link .list a:after {
    width: 6px;
    background-image: url(../img/icon_arrow.svg);
    transform: translateY(1px);
  }
  .k_f-link .list a[target=_blank]:after {
    width: 10px;
    background-image: url(../img/icon_blank.svg);
  }
}

/*  f-sns
========================================================================*/

.k_f-sns {
  width: calc(100% - 40px);
  max-width: 1160px;
  margin: 65px auto 0;
}
.k_f-sns .title {
  margin-bottom: 30px;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
}
.k_f-sns .list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: -10px -30px;
}
.k_f-sns .list li {
  width: 50px;
  margin: 10px 30px;
  background-size: contain;
}
.k_f-sns .list li.instagram {
  background-image: url(../img/f_sns01-on.png);
}
.k_f-sns .list li.youtube {
  background-image: url(../img/f_sns02-on.png);
}
.k_f-sns .list li.line {
  background-image: url(../img/f_sns03-on.png);
}
.k_f-sns .list li.facebook {
  background-image: url(../img/f_sns04-on.png);
}
.k_f-sns .list li.twitter {
  background-image: url(../img/f_sns05-on.png);
}
.k_f-sns .list li.twitter-x {
  background-image: url(../img/f_sns06-on.png);
}
.k_f-sns .list img {
  background: #fff;
  transition: all .6s;
}
@media (min-width: 768px) {
  .k_f-sns .list a:hover img {
    opacity: 0;
  }
}
@media print, screen and (min-width: 768px) {
  .k_f-sns .k_button:not(:first-child) {
    margin-top: 40px;
  }
}

@media screen and (max-width: 767px) {
  .k_f-sns {
    margin: 35px auto 0;
  }
  .k_f-sns .title {
    margin-bottom: 20px;
    font-size: 14px;
  }
  .k_f-sns .list ul {
    margin: -10px -17px;
  }
  .k_f-sns .list li {
    width: 28px;
    margin: 10px 17px;
  }
}

/*  b-o-footer_bread
========================================================================*/

.b-o-footer_bread {
  margin-top: 80px;
  border-top: 1px solid #E5E5E5;
}
.b-o-footer_bread .b-a-wrapper {
  width: calc(100% - 40px);
  max-width: 1160px;
  margin: auto;
}
.b-o-footer_bread .pbBlockNavigation {
  padding: 12px 0;
  font-size: 12px;
  color: #919191;
  white-space: nowrap;
  overflow-x: auto;
}
.b-o-footer_bread .pbBlockNavigation a {
  margin-right: 15px;
  padding: 0;
  color: #242424;
}
.b-o-footer_bread .pbBlockNavigation a:after {
  color: #919191;
  content: '>';
  display: inline-block;
  margin-left: 13px;
}

@media screen and (max-width: 767px) {
  .b-o-footer_bread {
    margin-top: 40px;
  }
}

/*  b-o-footer_pagetop
========================================================================*/

.b-o-footer_pagetop {
  padding: 13px 20px 12px;
  background: #43434c;
  color: #ffffff;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  transition: all .3s;
  cursor: pointer;
}
.b-o-footer_pagetop p {
  font-size: 12px;
}
@media (min-width: 768px) {
  .b-o-footer_pagetop:hover {
    opacity: .9;
  }
}
.b-o-footer_pagetop p.b-a-plainText {
  background: none;
}
.b-o-footer_pagetop p:before {
  content: '';
  position: relative;
  top: 3px;
  display: inline-block;
  width: 13px;
  height: 13px;
  margin-right: 10px;
  background: url(../img/f_icon-totop.png) no-repeat left center / contain;
}

/*  f-footer
========================================================================*/

.k_f-footer {
  background: #3B3B41;
  color: #FFF;
}
.k_f-footer a {
  color: inherit;
}
.k_f-footer .title a[target=_blank]:after {
  content: '';
  display: inline-block;
  height: 1em;
  background: url(../img/icon_blank-w.svg) no-repeat center / contain;
  transform: translateY(2px);
  width: 11px;
  margin-left: 8px;
}
.k_f-footer .inner {
  width: calc(100% - 40px);
  max-width: 1160px;
  margin: 0 auto;
  padding: 68px 0 80px;
}
.k_f-footer .logo {
  margin: 0 auto;
  padding-bottom: 50px;
  text-align: center;
  border-bottom: 1px solid #54545e;
}
.k_f-footer .logo img {
  width: 102px;
}
.k_f-footer .accordion {
  position: relative;
  border-bottom: 1px solid #54545e;
}
@media (min-width: 768px) {
  .k_f-footer .accordion a:hover {
    opacity: .6;
  }
}
.k_f-footer .accordion:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 67px;
  height: 70px;
  background: #43434c;
}
.k_f-footer .a-title {
  position: relative;
  display: flex;
  align-items: center;
  height: 70px;
  padding-right: 70px;
  font-weight: bold;
  transition: all .3s;
  cursor: pointer;
}
@media (min-width: 768px) {
  .k_f-footer .a-title:hover {
    opacity: .6;
  }
}
.k_f-footer .a-title:before,
.k_f-footer .a-title:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 27px;
  width: 11px;
  height: 1px;
  background: #c0c6ca;
}
.k_f-footer .a-title:after {
  transform: rotate(90deg);
}
.k_f-footer .accordion.active .a-title:after {
  display: none;
}
.k_f-footer .column {
  display: flex;
  flex-wrap: wrap;
  padding: 30px 0 93px;
}
.k_f-footer .column .box {
  padding-left: 18px;
}
.k_f-footer .column.col-4 .box {
  width: 25%;
}
.k_f-footer .column.col-4 .box:nth-child(n+5) {
  margin-top: 45px;
}
.k_f-footer .column.col-6 .box {
  width: 16%;
}
.k_f-footer .column.col-6 .box:nth-child(n+7) {
  margin-top: 45px;
}
.k_f-footer .column .list {
  font-size: 12px;
  color: #9a9a9a;
}
.k_f-footer .column .title:not(.pull-down) a[target=_blank]:after {
  content: '';
  display: inline-block;
  height: 1em;
  background: url(../img/f_icon-blank-w.png) no-repeat center / contain;
  transform: translateY(2px);
  width: 11px;
  margin-left: 8px;
}
@media print, screen and (min-width: 768px) {
  .k_f-footer .column .list {
    display: block!important;
    height: auto!important;
  }
  .u_pc-center {
    text-align: center!important;
  }
}
.k_f-footer .column .list ul {
  margin-top: 20px;
}
.k_f-footer .column .list li {
  margin-top: 10px;
}
.k_f-footer .column .list a {
  display: block;
  padding-left: 18px;
  background: url(../img/f_icon-arrow.png) no-repeat left center / 9px;
}
.k_f-footer .column .list a[target=_blank] {
  background-image: url(../img/f_icon-blank.png);
}
.k_f-footer .column-list {
  padding: 30px 0 93px;
}
.k_f-footer .column-list ul {
  display: flex;
  flex-wrap: wrap;
}
.k_f-footer .column-list li {
  width: calc(100% / 3);
  padding-right: 8%;
}
.k_f-footer .column-list li:nth-child(n+4) {
  margin-top: 35px;
}
.k_f-footer .column-list a {
  display: block;
  padding-right: 30px;
  background: url(../img/f_icon-link.png) no-repeat right center / 16px;
}

@media screen and (max-width: 767px) {
  .k_f-footer .inner {
    padding: 30px 0 0 7%;
  }
  .k_f-footer .logo {
    padding-bottom: 18px;
    text-align: left;
    border-color: #38383c;
  }
  .k_f-footer .logo img {
    width: 75px;
  }
  .k_f-footer .accordion {
    border-color: #38383c;
  }
  .k_f-footer .accordion:before {
    height: 45px;
  }
  .k_f-footer .a-title {
    height: 45px;
  }
  .k_f-footer .column {
    padding: 0 0 0 15px;
  }
  .k_f-footer .column .box {
    padding-left: 0;
  }
  .k_f-footer .column.col-4 .box,
  .k_f-footer .column.col-6 .box {
    width: 100%;
  }
  .k_f-footer .column.col-4 .box:not(:first-child),
  .k_f-footer .column.col-6 .box:not(:first-child) {
    margin-top: 0;
  }
  .k_f-footer .column .title {
    position: relative;
    display: block;
    padding: 15px 50px 15px 0;
    font-size: 12px;
    border-top: 1px dashed #4e4e53;
  }
  .k_f-footer .column .title.pull-down:before,
  .k_f-footer .column .title.pull-down:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 27px;
    width: 7px;
    height: 1px;
    background: #c0c6ca;
  }
  .k_f-footer .column .title.pull-down:after {
    transform: rotate(90deg);
  }
  .k_f-footer .column .title.pull-down.active:after {
    display: none;
  }
  .k_f-footer .column .title.pull-down a {
    pointer-events: none;
  }
  .k_f-footer .column .title:not(.pull-down) a:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
  }
  .k_f-footer .column .title:not(.pull-down) a[target=_blank]:after {
    position: unset;
  }
  .k_f-footer .column .list:not(:first-child) {
    margin-top: 0;
  }
  .k_f-footer .column .list {
    display: none;
    padding-left: 15px;
  }
  .k_f-footer .column .list ul {
    margin-top: 0;
  }
  .k_f-footer .column .list li {
    margin-top: 0;
    border-top: 1px dashed #4e4e53;
  }
  .k_f-footer .column .list a {
    padding: 15px 0 15px 18px;
  }
  .k_f-footer .column-list {
    padding: 0 0 0 15px;
    font-size: 12px;
  }
  .k_f-footer .column-list li {
    width: 100%;
    padding-right: 0;
    border-top: 1px dashed #4e4e53;
  }
  .k_f-footer .column-list li:nth-child(n+4) {
    margin-top: 0;
  }
  .k_f-footer .column-list a {
    padding: 15px 50px 15px 0;
    background-position: calc(100% - 25px) center;
    background-size: 10px;
  }
}

/*  b-m-footerBottom
========================================================================*/

.b-m-footerBottom {
  background: #44444d;
  color: #99999c;
}
.b-m-footerBottom p {
  font-size: 12px;
}
@media (min-width: 768px) {
  .b-m-footerBottom a:hover {
    opacity: .6;
  }
}
.b-m-footerBottom .b-a-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: calc(100% - 40px);
  max-width: 1160px;
  margin: 0 auto;
  padding: 13px 0 12px;
}
.b-m-footerBottom_links {
  display: flex;
  flex-wrap: wrap;
  letter-spacing: .32px;
}
.b-m-footerBottom_links p:not(:last-child):after {
  content: '/';
  display: inline-block;
  margin: 0 12px;
}
.b-m-footerBottom_copyright {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 10px;
  color: #c4c4c4;
}

@media screen and (max-width: 767px) {
  .b-m-footerBottom .b-a-wrapper {
    flex-direction: column;
    padding: 15px 0 100px;
  }
  .b-m-footerBottom_links {
    margin-bottom: 28px;
  }
  .b-m-footerBottom_links p {
    margin-bottom: 5px;
  }
  .b-m-footerBottom_links p:not(:last-child):after {
    margin: 0 4px;
  }
  .b-m-footerBottom_copyright {
    width: 100%;
    text-align: left;
  }
}

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

  component

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

.k_section .k_component:not(:first-child),
.k_section .k_component + div:not(.k_style.u_mt10) {
  margin-top: 60px!important;
}
.k_section .k_component {
  margin: 0 -20px;
}
@media screen and (min-width: 1160px) {
  .k_section .k_component {
    margin: 0 calc(50% - 50vw);
  }
}
@media screen and (min-width: 1920px) {
  .k_section .k_component {
    margin: 0 -380px;
  }
}
.k_component {
  background: #2A75C8;
}
.k_component > div {
  width: calc(100% - 40px);
  max-width: 1160px;
  margin: 0 auto;
  padding: 5px 0;
  color: #FFF;
  font-size: 20px;
  font-weight: bold;
}
.full-width {
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}
@media screen and (max-width: 767px) {
  .k_component {
    font-size: 18px;
  }
}

/*  h1
========================================================================*/

.k_h1 {
  padding-bottom: 60px;
}
.k_h1 .keyVisual {
  position: relative;
  opacity: 0;
}
.k_h1.animation .keyVisual {
  opacity: 1;
  transition: opacity 1s;
}
.k_h1 .image img {
  width: 100%;
  height: 500px;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.k_h1 .textbox {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  max-width: 1160px;
  padding: 0 37px;
  color: #fff;
  opacity: 0;
  transform: translateY(-50%) translateX(-380px);
}
.k_h1.animation .textbox {
  opacity: 1;
  transform: translateY(-50%) translateX(-50%);
  transition: opacity 1s, transform 1s;
}
.k_h1 .copy {
  font-size: 24px;
  font-weight: bold;
  text-shadow: 0 0 10px rgba(0,0,0,.05);
  letter-spacing: .7px;
}
.k_h1 .title {
  font-size: 46px;
  font-weight: bold;
  text-shadow: 0 0 10px rgba(0,0,0,.05);
  letter-spacing: 4px;
}
.k_h1 .lead {
  width: calc(100% - 40px);
  max-width: 1160px;
  margin: 73px auto 0;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  line-height: 2;
  opacity: 0;
  transform: translateY(100px);
}
.k_h1.animation .lead {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 1s, transform 1s;
}

@media screen and (max-width: 767px) {
  .k_h1 {
    padding-bottom: 30px;
  }
  .k_h1 .image img {
    height: 300px;
  }
  .k_h1 .textbox {
    width: calc(100% - 40px);
    transform: translateY(50px) translateX(-50%)!important;
    padding: 0;
    text-align: center;
  }
  .k_h1.animation .textbox {
    transform: translateY(-50%) translateX(-50%)!important;
  }
  .k_h1 .copy {
    font-size: 15px;
  }
  .k_h1 .title {
    font-size: 22px;
    letter-spacing: normal;
  }
  .k_h1 .lead {
    margin-top: 35px;
    color: #555;
    font-size: 15px;
    text-align: left;
    line-height: 1.9;
  }
}

/*  small
------------------------------------------------*/

.k_h1.small .image img {
  height: 360px;
}
.k_h1.small .title {
  font-size: 36px;
}

@media screen and (max-width: 767px) {
  .k_h1.small .image img {
    height: 300px;
  }
  .k_h1.small .textbox {
    text-align: left;
  }
  .k_h1.small .title {
    font-size: 22px;
  }
}

/*  simple
------------------------------------------------*/

.k_h1.simple {
  padding-bottom: 0;
}
.k_h1.simple > div {
  width: calc(100% - 40px);
  max-width: 1160px;
  margin: 0 auto;
  padding: 145px 0 40px;
}
.k_h1.simple .title {
  font-size: 36px;
  letter-spacing: .4px;
}
.pbPage:not(.edit) .k_h1.simple .title {
  opacity: 0;
  transform: translateX(100px);
}
.pbPage:not(.edit) .k_h1.simple.animation .title {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 1s, transform 1s;
}

@media screen and (max-width: 767px) {
  .k_h1.simple > div {
    padding: 90px 0 25px;
  }
  .k_h1.simple .title {
    font-size: 22px;
  }
}

/*  banner
------------------------------------------------*/

.k_h1 .bannerbox {
  width: calc(100% - 40px);
  max-width: 1160px;
  margin: 73px auto 0;
  text-align: center;
  opacity: 0;
  transform: translateY(100px);
}
.k_h1.animation .bannerbox {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 1s, transform 1s;
}
.k_h1 .bannerbox_title {
  font-size: 18px;
  font-weight: bold;
}
.k_h1 .bannerbox_image:not(:first-child)  {
  margin-top: 15px;
}
.k_h1 .bannerbox_image img {
  border: 1px solid #D8D8D8;
}

@media (min-width: 768px) {
  .k_h1 .bannerbox_image a:hover {
    opacity: .5;
  }
}

@media screen and (max-width: 767px) {
  .k_h1 .bannerbox {
    margin-top: 35px;
  }
  .k_h1 .bannerbox_title {
    font-size: 15px;
    color: #555;
  }
}

/*  section
========================================================================*/

.k_section > div {
  width: calc(100% - 40px);
  max-width: 1160px;
  margin: 0 auto;
  padding: 60px 0;
}
.pbPage:not(.edit) .k_section > div {
  opacity: 0;
}
.pbPage:not(.edit) .k_section.animation > div {
  animation: fade-in2 .8s ease-in-out 0s forwards;
}
@keyframes fade-in2 {
  0% {opacity: 0; transform: translateY(100px);}
  100% {opacity: 1; transform: translateY(0);}
}

@media screen and (max-width: 767px) {
  .k_section > div {
    padding: 30px 0;
  }
}

/*  gray
------------------------------------------------*/

.k_section.gray {
  background: #F4F4F4;
}
@media print, screen and (min-width: 768px) {
  .k_section.gray .k_case {
    padding-bottom: 20px;
  }
}

/*  small
------------------------------------------------*/

.k_section.small > div {
  padding-top: 15px;
}

@media screen and (max-width: 767px) {
  .k_section.small > div {
    padding-top: 25px;
  }
}

/*  title
========================================================================*/

/*  h2
------------------------------------------------*/

.k_h2:not(:first-child) {
  margin-top: 80px;
}
.k_style + .k_h2 {
  margin-top: 60px;
}
.k_h2 + div:not(.k_style) {
  margin-top: 60px;
}
.k_h2 + div.k_style {
  margin-top: 12px;
}
div.k_h2 + div.k_h2:not(:first-child) {
  margin-top: 60px;
}
.k_h2 {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  letter-spacing: .6px;
}

@media screen and (max-width: 767px) {
  .k_h2:not(:first-child) {
    margin-top: 60px;
  }
  .k_style + .k_h2 {
    margin-top: 40px;
  }
  .k_h2 + div:not(.k_style) {
    margin-top: 25px;
  }
  .k_h2 + div.k_style {
    margin-top: 5px;
  }
  div.k_h2 + div.k_h2:not(:first-child) {
    margin-top: 40px;
  }
  .k_h2 {
    font-size: 18px;
  }
}

/*  left  */

.k_h2.u_left + div:not(.k_style) {
  margin-top: 24px;
}
@media print, screen and (min-width: 768px) {
  .k_h2.u_left + div.k_style {
    margin-top: 21px;
  }
}

@media screen and (max-width: 767px) {
  .k_h2.u_left + div:not(.k_style) {
    margin-top: 15px;
  }
}

/*  pc-left  */

.k_h2.u_pc-left + div {
  margin-top: 35px;
}

@media screen and (max-width: 767px) {
  .k_h2.u_pc-left + div {
    margin-top: 25px;
  }
}

/*  line  */

.k_h2.line:not(:first-child) {
  margin-top: 60px;
}
.k_h2.line + div.k_style {
  margin-top: 25px;
}
.k_h2.line + div:not(.k_style) {
  margin-top: 30px;
}
.k_h2.line > div {
  padding-bottom: 12px;
  border-bottom: 1px solid #D8D8D8;
}

@media screen and (max-width: 767px) {
  .k_h2.line + div.k_style {
    margin-top: 15px;
  }
  .k_h2.line > div {
    padding-bottom: 10px;
  }
}

/*  f28  */

@media print, screen and (min-width: 768px) {
  .k_h2.f28 {
    font-size: 28px;
  }
}

/*  f18 20241216 */

.k_h2.f18 {
  font-size: 18px;
}
@media screen and (max-width: 767px) {
    .k_h2.f18 {
    font-size: 15px;
  }
}

/*  h3
------------------------------------------------*/

.k_h3:not(:first-child) {
  margin-top: 100px;
}
.k_h3 + div:not(:first-child) {
  margin-top: 35px;
}
.k_h3 {
  font-size: 22px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .k_h3:not(:first-child) {
    margin-top: 40px;
  }
  .k_h3 + div:not(:first-child) {
    margin-top: 20px;
  }
  .k_h3 {
    font-size: 18px;
  }
}

/*  f18  */

.k_h3.f18:not(:first-child) {
  margin-top: 60px;
}
.k_style + .k_h3.f18:not(:first-child) {
  margin-top: 22px;
}
.k_h3.f18 + div:not(.k_style) {
  margin-top: 30px;
}
.k_h3.f18 + div.k_style {
  margin-top: 8px;
}
.k_h3.f18 {
  font-size: 18px;
}

@media screen and (max-width: 767px) {
  .k_h3.f18:not(:first-child) {
    margin-top: 40px;
  }
  .k_h3.f18 {
    font-size: 16px;
  }
}

/*  lead
========================================================================*/

.k_lead:not(:first-child) {
  margin-top: 80px;
}
.k_lead + div:not(.k_lead) {
  margin-top: 60px;
}
.k_lead [class^="k_"]:not(.w100) > div > div {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

@media print, screen and (min-width: 768px) {
  .k_lead:not(.w100) {
    width: 82%;
    max-width: 950px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (max-width: 767px) {
  .k_lead:not(:first-child) {
    margin-top: 60px;
  }
  .k_lead + div:not(.k_lead) {
    margin-top: 40px;
  }
  .k_lead + div:not(:first-child) {
    margin-top: 25px;
  }
  .k_lead > div {
    margin: 0 10px;
  }
  .k_lead .k_style:not(:first-child) {
    margin-top: 12px;
  }
  .k_lead.left_sp [class^="k_"]:not(.w100) > div > div {
    align-items: flex-start;
  }
}

/*  style
========================================================================*/

.k_style:not(:first-child) {
  margin-top: 30px;
}
.k_style {
  line-height: 2;
}
.k_style p:not(:first-child) {
  margin-top: 5px;
}
.k_style a {
  text-decoration: underline;
}
.k_style sup {
  display: inline-block;
  transform: translateY(3px);
}

@media (min-width: 768px) {
  .k_style a:hover {
    opacity: .5;
  }
}

@media screen and (max-width: 767px) {
  .k_style:not(:first-child) {
    margin-top: 25px;
  }
  .k_style {
    line-height: 1.7;
  }
}

/*  small
------------------------------------------------*/

.k_style.small:not(:first-child) {
  margin-top: 10px;
}
.k_image + .k_style.small {
  margin-top: 15px;
}
.k_style.small {
  font-size: 12px;
  letter-spacing: normal;
}

/*  red
------------------------------------------------*/

.k_style.red {
  color: #CB2E2E;
}

/*  lead
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
  .k_style.lead {
    font-size: 16px;
  }
}

/*  bold
------------------------------------------------*/

.k_style.bold:not(:first-child) {
  margin-top: 60px;
}
.k_style.bold + div {
  margin-top: 30px;
}
.k_style.bold {
  font-size: 18px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .k_style.bold:not(:first-child) {
    margin-top: 40px;
  }
  .k_style.bold + div {
    margin-top: 30px;
  }
  .k_style.bold {
    font-size: 16px;
    font-weight: bold;
  }
}

/*  small-bold
------------------------------------------------*/

.k_style.small-bold {
  font-weight: bold;
}

@media print, screen and (min-width: 768px){
  .k_style.small-bold {
    font-size: 16px;
    font-weight: bold;
  }
}

@media print, screen and (max-width: 767px) {
  .k_style.small-bold {
    padding: 0 10px; 
  }
}

/*  lo
------------------------------------------------*/

.k_style ol li {
  position: relative;
  padding-left: 28px;
  counter-increment: cnt;
  line-height: 1.7;
}
.k_style ol li:not(:first-child) {
  margin-top: 5px;
}
.k_style ol > li:before {
  content: counter(cnt)".";
  position: absolute;
  left: 0;
}

/*  table
------------------------------------------------*/

.k_style table {
  border: none;
}
.k_style table th,
.k_style table td {
  font-weight: normal;
  border: none;
  text-align: left;
  vertical-align: top;
}
.k_style table th {
  position: relative;
  padding-right: 75px;
}
.k_style table th:after {
  content: '';
  position: absolute;
  top: 1em;
  right: 15px;
  width: 50px;
  height: .8px;
  background: #242424;
}

@media screen and (max-width: 767px) {
  .k_style table th {
    padding-right: 30px;
  }
  .k_style table th:after {
    right: 10px;
    width: 10px;
  }
}

/*  image
========================================================================*/

.k_image:not(:first-child) {
  margin-top: 60px;
}
.k_image + .k_image {
  margin-top: 40px;
}
.k_image {
  text-align: center;
}
.k_image a {
  overflow: hidden;
  display: inline-block;
}
@media (min-width: 768px) {
  .k_image a:hover img {
    transform: scale(1.08);
  }
}

@media screen and (max-width: 767px) {
  .k_image:not(:first-child) {
    margin-top: 40px;
  }
  .k_image + .k_image {
    margin-top: 20px;
  }
}

/*  mini
------------------------------------------------*/

@media screen and (max-width: 767px) {
  .k_image.mini {
    width: 25%;
  }
}

/*  textbox
========================================================================*/

.k_textbox .k_link-copy:not(:first-child) {
  margin-top: 25px;
}
.k_textbox .k_link-copy + div:not(:first-child) {
  margin-top: 14px;
}
.k_textbox .k_link + .k_link:not(:first-child) {
  margin-top: 10px;
}
.k_textbox .k_link p:not(:first-child) {
  margin-top: 9px;
}
.k_textbox .k_link + .k_style:not(:first-child) {
  margin-top: 0;
}
.k_textbox .k_style + .k_link:not(:first-child) {
  margin-top: 9px;
}
.k_textbox .k_button:not(:first-child) {
  margin-top: 35px;
}
.k_textbox .k_button {
  text-align: left;
}
.k_textbox > div > div:not(.k_link-copy):not(.k_button) {
  margin-left: 27px;
}

@media screen and (max-width: 767px) {
  .k_textbox > div > div:not(.k_link-copy):not(.k_button) {
    margin-left: 15px;
  }
}

/*  copy
========================================================================*/

.k_link-copy:not(:first-child) {
  margin-top: 2px;
}
.k_link-copy + div.k_style {
  margin-top: 10px;
}
.k_link-copy + [class^="k_h"] {
  margin-top: 3px;
}
.k_link-copy {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: .5px;
}
.k_link-copy + .k_image:not(:first-child) {
  margin-top: 22px;
}

@media screen and (max-width: 767px) {
  .k_link-copy {
    font-size: 15px;
  }
}

/*  blue
------------------------------------------------*/

.k_link-copy.blue {
  color: #416CB4;
}

/*  18px
------------------------------------------------*/

.k_link-copy.f18:not(:first-child) {
  margin-top: 20px;
}
.k_link.f28 + .k_link-copy.f18:not(:first-child) {
  margin-top: 15px;
}
.k_link-copy.f18 + div.k_image:not(:first-child) {
  margin-top: 15px;
}
.k_link-copy.f18 {
  font-size: 18px;
}

@media screen and (max-width: 767px) {
  .k_link-copy.f18 {
    font-size: 15px;
  }
}

/*  15px
------------------------------------------------*/

.k_link-copy.f15:not(:first-child) {
  margin-top: 5px;
}
.k_link-copy.f15 {
  font-size: 15px;
}

/*  link
========================================================================*/

.k_link:not(:first-child) {
  margin-top: 5px;
}
.k_link + div.k_style {
  margin-top: 7px;
}
.k_link {
  font-weight: bold;
  letter-spacing: .9px;
}
.pbPage .k_link a {
  display: inline-block;
  background: url(../img/icon_arrow-b.svg) no-repeat right center transparent;
}
.k_link a[target=_blank],
.k_link a.pbOpenNewWindow {
  background-image: url(../img/icon_blank-b.svg);
}
@media (min-width: 768px) {
  .k_link a:hover {
    opacity: .6;
  }
}
.k_link ul {
  display: flex;
  flex-wrap: wrap;
  margin: -3px -20px;
}
.k_link li {
  margin: 3px 20px;
}

/*  14px
------------------------------------------------*/

.k_link.f14:not(:first-child) {
  margin-top: 25px;
}
.k_link.f14 {
  font-size: 14px;
  letter-spacing: .4px;
}
.k_link.f14 a {
  padding-right: 15px;
}
.k_link.f14 a[target=_blank],
.k_link.f14 a.pbOpenNewWindow {
  padding-right: 17px;
  background-size: 11px;
}

@media screen and (max-width: 767px) {
  .k_link.f14:not(:first-child) {
    margin-top: 20px;
  }
}

/*  15px
------------------------------------------------*/

.k_link.f15:not(:first-child) {
  margin-top: 20px;
}
.k_link.f15 {
  letter-spacing: .4px;
}
.k_link.f15 a {
  padding-right: 15px;
  background-size: 7px;
}
.k_link.f15 a[target=_blank],
.k_link.f15 a.pbOpenNewWindow {
  padding-right: 18px;
  background-size: 12px;
}

@media screen and (max-width: 767px) {
  .k_link.f15:not(:first-child) {
    margin-top: 15px;
  }
}

/*  16px
------------------------------------------------*/

.k_link.f16:not(:first-child) {
  margin-top: 5px;
}
.k_link.f16 {
  font-size: 16px;
  letter-spacing: .4px;
}
.k_link.f16 p:not(:first-child) {
  margin-top: 5px;
}
.k_link.f16 a {
  padding-right: 15px;
  background-size: 8px;
}
.k_link.f16 a[target=_blank],
.k_link.f16 a.pbOpenNewWindow {
  padding-right: 22px;
  background-size: 15px;
}

@media screen and (max-width: 767px) {
  .k_link.f16:not(:first-child) {
    margin-top: 12px;
  }
  .k_link.f16 a {
    background-size: 7px;
  }
  .k_link.f16 a[target=_blank],
  .k_link.f16 a.pbOpenNewWindow {
    padding-right: 18px;
    background-size: 12px;
  }
}

/*  18px
------------------------------------------------*/

.k_link.f18 {
  font-size: 18px;
  letter-spacing: .4px;
}
.k_link.f18 a {
  padding-right: 15px;
  background-size: 8px;
}
.k_link.f18 a[target=_blank],
.k_link.f18 a.pbOpenNewWindow {
  padding-right: 22px;
  background-size: 15px;
}

@media screen and (max-width: 767px) {
  .k_link.f18 {
    font-size: 15px;
  }
  .k_link.f18 a {
    padding-right: 12px;
    background-size: 6px;
  }
  .k_link.f18 a[target=_blank],
  .k_link.f18 a.pbOpenNewWindow {
    padding-right: 17px;
    background-size: 11px;
  }
}

/*  sp 18px 
------------------------------------------------*/

@media screen and (max-width: 767px) {
  .k_link.f18-sp {
      font-size: 18px;
      letter-spacing: .8px;
  }
}

/*  20px , 22px
------------------------------------------------*/

.k_link.f20 + div.k_style {
  margin-top: 10px;
}
.k_link.f20 {
  font-size: 20px;
}
.k_link.f22 {
  font-size: 22px;
}
.k_link.f20 a,
.k_link.f22 a {
  padding-right: 17px;
  background-size: 9px;
}
.k_link.f20 a[target=_blank],
.k_link.f20 a.pbOpenNewWindow,
.k_link.f22 a[target=_blank],
.k_link.f22 a.pbOpenNewWindow {
  padding-right: 22px;
  background-size: 14px;
}

@media screen and (max-width: 767px) {
  .k_link.f20,
  .k_link.f22 {
    font-size: 15px;
    letter-spacing: .4px;
  }
  .k_link.f20 a,
  .k_link.f22 a {
    padding-right: 12px;
    background-size: 6px;
  }
  .k_link.f20 a[target=_blank],
  .k_link.f20 a.pbOpenNewWindow,
  .k_link.f22 a[target=_blank],
  .k_link.f22 a.pbOpenNewWindow {
    padding-right: 17px;
    background-size: 11px;
  }
}

/*  24px
------------------------------------------------*/

.k_link.f24 + div.k_style {
    margin-top: 13px;
}
.k_link.f24 {
  font-size: 24px;
  font-weight: bold;
  letter-spacing: .6px;
}

@media screen and (max-width: 767px) {
  .k_link.f24 {
    font-size: 18px;
  }
}

/*  28px
------------------------------------------------*/

.k_link.f28 + div.k_style {
  margin-top: 13px;
}
.k_link.f28 {
  font-size: 28px;
  line-height: 1.4;
  letter-spacing: 1.1px;
}
.k_link.f28 a,
.k_link.f28 a {
  padding-right: 21px;
  background-size: 11px;
}
.k_link.f28 a[target=_blank],
.k_link.f28 a.pbOpenNewWindow {
  padding-right: 28px;
  background-size: 18px;
}

@media screen and (max-width: 767px) {
  .k_link.f28 {
    font-size: 18px;
    line-height: 1.6;
  }
  .k_link.f28 a,
  .k_link.f28 a {
    padding-right: 16px;
    background-size: 8px;
  }
  .k_link.f28 a[target=_blank],
  .k_link.f28 a.pbOpenNewWindow {
    padding-right: 21px;
    background-size: 13px;
  }
}

/*  linkbox
========================================================================*/

.k_linkbox:not(:first-child) {
  margin-top: 75px;
}
.k_linkbox > div {
  padding: 40px 60px 45px;
  border: 1px solid #D8D8D8;
}
.k_linkbox .k_link:not(:first-child) {
  margin-top: 25px;
}
.k_linkbox .k_link ul {
  justify-content: space-between;
  margin: 0;
}
.k_linkbox .k_link ul:after {
  content: '';
  display: block;
  width: 30%;
}
.k_linkbox .k_link li {
  width: 32%;
  margin: 0;
}
.k_linkbox .k_link li:nth-child(n+4) {
  margin-top: 15px;
}

@media screen and (max-width: 767px) {
  .k_linkbox:not(:first-child) {
    margin-top: 50px;
  }
  .k_linkbox > div {
    padding: 30px;
    border: 1px solid #D8D8D8;
  }
  .k_linkbox .k_link.f20 {
    font-size: 16px;
  }
  .k_linkbox .k_link:not(:first-child) {
    margin-top: 20px;
  }
  .k_linkbox .k_link ul {
    justify-content: flex-start;
    margin: -3px -20px;
  }
  .k_linkbox .k_link li,
  .k_linkbox .k_link li:not(:first-child) {
    width: auto;
    margin: 3px 20px;
  }
}

/*  anchor
========================================================================*/

.k_anchor:not(:first-child) {
  margin-top: 60px;
}
.k_anchor {
  font-size: 16px;
  font-weight: bold;
}
.k_anchor ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: -3px -60px;
}
.k_anchor li {
  margin: 3px 60px;
}
.k_anchor a {
  display: inline-block;
  padding-right: 20px;
  background: url(../img/icon_arrow-d.svg) no-repeat right center/ 11px;
}
@media (min-width: 768px) {
  .k_anchor a:hover {
    opacity: .5;
  }
}

@media screen and (max-width: 767px) {
  .k_anchor:not(:first-child) {
    margin-top: 40px;
  }
  .k_anchor ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: -3px -20px;
  }
  .k_anchor li {
    margin: 3px 20px;
  }
}

/*  full
------------------------------------------------*/

.k_anchor.full ul {
  justify-content: space-between;
  margin: -3px 0px;
}

.k_anchor.full li {
  margin: 3px 20px;
}

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

  .k_anchor.full ul {
    justify-content: normal;
    margin: -3px -15px;
  }
  .k_anchor.full li {
    margin: 3px 15px;
  }
}

/*  left
------------------------------------------------*/

.k_anchor.u_left ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: normal;
  margin: -3px -15px;
}
.k_anchor.u_left li {
  margin: 3px 15px;
}

/*  sp-left
------------------------------------------------*/

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

  .k_anchor.u_sp-left ul {
    justify-content: flex-start;
  }
}

/*  w80
------------------------------------------------*/

.k_anchor.w80 > div {
  width: 80%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .k_anchor.w80 > div {
    width: 100%;
  }
}

/*  button
========================================================================*/

.k_button:not(:first-child) {
  margin-top: 60px;
}
.k_button {
  text-align: center;
}
.k_button a,
.k_button button {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 16px 49px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  border: 2px solid #242424;
  border-radius: 5px;
}
@media (min-width: 768px) {
  .k_button a:hover,
  .k_button button:hover {
    opacity: .5;
  }
}
.k_button a:after,
.k_button button:after {
  content: '';
  display: inline-block;
  flex-shrink: 0;
  width: 8px;
  height: 1em;
  margin-left: 8px;
  background: url(../img/icon_arrow-b.svg) no-repeat center / contain;
  transform: translateY(-1px);
}
.k_button a[target=_blank]:after,
.k_button a.pbOpenNewWindow:after {
  width: 15px;
  background-image: url(../img/icon_blank-b.svg);
}
.k_button a[href*=".pdf"]:after {
  width: 26px;
  background-image: url(../img/icon_pdf.svg);
}

@media screen and (max-width: 767px) {
  .k_button:not(:first-child) {
    margin-top: 25px;
  }
  .k_button a,
  .k_button button {
    padding: 11px 21px;
    font-size: 15px;
    font-weight: normal;
    border-width: 1px;
    border-radius: 3px;
  }
  .k_button a:after {
    width: 6px;
    margin-left: 8px;
    background-image: url(../img/icon_arrow.svg);
    transform: translateY(0);
  }
  .k_button a[target=_blank]:after,
  .k_button a.pbOpenNewWindow:after {
    width: 10px;
    background-image: url(../img/icon_blank.svg);
  }
  .k_button a[href*=".pdf"]:after {
    width: 26px;
    background-image: url(../img/icon_pdf.svg);
  }
}

/*  more
------------------------------------------------*/

.k_button.more button:after {
  width: 12px;
  background-image: url(../img/icon_more-b.svg);
}

@media screen and (max-width: 767px) {
  .k_button.more button:after {
    width: 9px;
    background-image: url(../img/icon_more.svg);
    transform: translateY(0);
  }
}

/*  case
========================================================================*/

.k_section > div > div + div .k_case {
  margin-top: 120px;
}
.k_case .result {
  display: flex;
  align-items: baseline;
  margin-top: 30px;
}
.k_case .result .title {
  font-size: 24px;
  font-weight: bold;
}
.k_case .result .count {
    margin-left: 25px;
    font-size: 18px;
}
.k_case .result .count span {
    display: inline-block;
    margin: 0 5px;
    font-size: 24px;
    vertical-align: baseline;
}
.k_case .box {
  position: relative;
}
.k_case button.favorite,
.k_case button.favorite:after {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 45px;
  height: 43px;
  background: url(../img/icon_favorite.svg) no-repeat center / 25px;
  border: none;
}
.k_case button.favorite:after {
  opacity: 0;
  content: '';
  background-image: url(../img/icon_favorite-on.svg);
  transition: opacity .3s;
}
.k_case button.favorite.active:after {
  opacity: 1;
}
.k_case .image {
  position: relative;
  border-radius: 5px;
}
.k_case .image:before {
  content: '';
  display: block;
  padding-top: 64.865%;
}
.k_case .image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.k_case .box .title {
  margin-top: 13px;
  font-size: 18px;
  font-weight: bold;
}
.k_case a .title {
  transition: opacity .3s;
}
@media (min-width: 768px) {
  .k_case a:hover .title {
    opacity: .5;
  }
}
.k_case .tag {
  margin-top: 10px;
}
[class^="k_"] .tag ul {
  display: flex;
  flex-wrap: wrap;
  margin: -3px;
  color: #787A7B;
  font-size: 12px;
  font-weight: bold;
  line-height: 1;
}
[class^="k_"] .tag li {
  margin: 3px;
}
[class^="k_"] .tag li a {
  display: inline-block;
  padding: 7px 14px;
  background: #F2F2F2;
  border-radius: 15px;
}
.k_section:not(.white) [class^="k_"] .tag li a {
  background: #FFF;
}
@media (min-width: 768px) {
  [class^="k_"] .tag li a:hover {
    opacity: .6;
  }
}

@media screen and (max-width: 767px) {
  .k_section > div > div + div .k_case {
    margin-top: 60px;
  }
  .k_case .k_h2 {
    font-size: 16px;
  }
  .k_case .result {
    justify-content: center;
  }
  .k_case .result .title {
    font-size: 18px;
  }
  .k_case .result .count {
      margin-left: 20px;
      font-size: 15px;
  }
  .k_case .result .count span {
      font-size: 18px;
  }
  .k_case button.favorite,
  .k_case button.favorite:after {
    width: 38px;
    height: 36px;
    background-size: 18px;
  }
  .k_case .box a {
    position: relative;
    display: block;
  }
  .k_case .image {
    border-radius: 4px;
  }
  .k_case .image:before {
    padding-top: 58.81%;
  }
  .k_case .box .title {
    position: absolute;
    width: 100%;
    bottom: 0;
    padding: 10px 11px;
    background: rgba(0,0,0,.2);
    color: #fff;
    font-size: 15px;
    border-radius: 0 0 4px 4px;
  }
}

/*  slider
------------------------------------------------*/

.k_case .case-slider {
  opacity: 0;
  margin: 0 -12.5px;
}
.k_case .case-slider.slick-initialized {
  opacity: 1;
}
.k_case .case-slider.slick-dotted.slick-slider {
  margin-bottom: 0;
  padding-bottom: 0;
}
.k_case .case-slider .slick-list {
  overflow: visible;
}
.k_case .case-slider .slick-track {
  margin-left: 0;
}
.k_case .case-slider .box {
  margin: 0 12.5px;
}
.k_case .case-slider .slick-arrow {
  top: 120px;
  left: 0;
  z-index: 1;
  width: 32px;
  height: 32px;
  background: #3C3B41;
  border-radius: 50%;
  transition: opacity .3s;
}
.k_case .case-slider .slick-arrow:hover,
.k_case .case-slider .slick-arrow:focus {
  background: #3C3B41;
}
.k_case .case-slider .slick-arrow.slick-disabled {
  pointer-events: none;
}
@media (min-width: 768px) {
  .k_case .case-slider .slick-arrow:not(.slick-disabled):hover {
    opacity: .6;
  }
}
.k_case .case-slider .slick-arrow.slick-next {
  transform: translateY(-50%) scale(-1, 1);
  left: auto;
  right: 0;
}
.k_case .case-slider .slick-arrow:before,
.k_case .case-slider .slick-arrow:after {
  opacity: 1!important;
  content: '';
  position: absolute;
  top: 8px;
  left: 14px;
  width: 2px;
  height: 9px;
  background: #FFF;
  transform: rotate(50deg);
}
.k_case .case-slider .slick-arrow:after {
  top: 13px;
  transform: rotate(-50deg);
}
.k_case .case-slider .slick-dots {
  position: relative;
  bottom: 0;
  margin-top: 40px;
  line-height: 1;
}
.k_case .case-slider div:not(.slick-arrow) + .slick-dots {
  display: none;
}
.k_case .case-slider .slick-dots li {
  width: 6px;
  height: 6px;
  margin: 0 8px;
}
.k_case .case-slider .slick-dots li button {
  width: 100%;
  height: 100%;
  padding: 0;
  background: #D8D8D8;
  border-radius: 50%;
}
.k_case .case-slider .slick-dots li.slick-active button {
  background: #242424;
}
.k_case .case-slider .slick-dots li button:before {
  display: none;
}

@media screen and (max-width: 767px) {
  .k_case .case-slider {
    margin: 0 -5px;
  }
  .k_case .case-slider .box {
    margin: 0 5px;
  }
  .k_case .case-slider .slick-dots {
    margin-top: 20px;
  }
  .k_case .case-slider .slick-dots li {
    width: 5px;
    height: 5px;
    margin: 0 6px;
  }
}

/*  column
------------------------------------------------*/

.k_case .case-column {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.k_case .case-column .box {
  animation: item-fade .5s ease-in-out 0s;
}
@keyframes item-fade {
  0% {opacity: 0; transform: translateY(50px);}
  100% {opacity: 1; transform: translateX(0);}
}
.k_case .case-column .image img {
  transition: opacity .3s , transform 1s;
}
.k_case .case-column.in .image img:not(:only-child):last-child {
  opacity: 0;
}
.k_case .case-column.out .image img:not(:only-child):first-child {
  opacity: 0;
}
.k_case .case-tab:not(:first-child) {
  margin-top: 40px;
}
.k_case .case-tab {
  margin-bottom: 35px;
}
.k_case .case-tab ul {
  display: flex;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
.k_case .case-tab li {
  position: relative;
  width: 50%;
  padding-bottom: 13px;
  border-bottom: 3px solid #3C3B41;
  transition: all .3s;
}
.k_case .case-tab li:not(.active) {
  color: #D8D8D8;
  border-color: #D8D8D8;
  cursor: pointer;
}
.k_case .case-tab li:after {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  border-style: solid;
  border-width: 5px 5px 0;
  border-color: #3C3B41 transparent transparent;
  transition: border-color .3s;
}
.k_case .case-tab li:not(.active):after {
  border-top-color: #D8D8D8;
}

@media print, screen and (min-width: 768px) {
  .k_case .case-column:after {
    content: '';
    display: block;
    width: 31.897%;
  }
  .k_case .case-column .box {
    width: 31.897%;
  }
  .k_case .case-column .box:nth-child(n+4) {
    margin-top: 40px;
  }
}

@media screen and (max-width: 767px) {
  .k_case .case-tab ul {
    margin: 0 -15px;
    font-size: 15px;
  }
  .k_case .case-tab li {
    border-width: 2px;
  }
  .k_case .case-tab li:after {
    bottom: -6px;
  }
  .k_case .case-column {
    margin: 0 -15px;
  }
  .k_case .case-column .box {
    width: 100%;
  }
  .k_case .case-column .box:not(:first-child) {
    margin-top: 20px;
  }
  .k_case .case-column .image:before {
    padding-top: 61.37%;
  }
  
  .k_case .case-column.sp-col-2 {
    margin-left: -14px;
    margin-right: -14px;
  }
  .k_case .case-column.sp-col-2 .box {
    width: calc(50% - 1.5px);
    margin-top: 0;
  }
  .k_case .case-column.sp-col-2 .box:nth-child(n+3) {
    margin-top: 3px;
  }
  .k_case .case-column.sp-col-2 .image:before {
    padding-top: 111.112%;
  }
  .k_case .case-column.sp-col-2 .box .title,
  .k_case .case-column.sp-col-2 .box .tag {
    display: none;
  }
}

/*  banner
========================================================================*/

.k_banner:not(:first-child) {
  margin-top: 100px;
}
.k_banner a {
  display: flex;
  align-items: center;
  border: 1px solid #D8D8D8;
}
.k_banner .image {
  position: relative;
  width: 50%;
}
.k_banner .image:before {
  content: '';
  display: block;
  padding-top: 22.108%;
}
.k_banner .image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.k_banner .text {
  width: 50%;
  padding: 15px;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 1px;
  text-align: center;
  transition: all .3s;
}
@media (min-width: 768px) {
  .k_banner a:hover .text {
    opacity: .6;
  }
}
.k_banner a .text p {
  display: inline-block;
  padding-right: 17px;
  background: url(../img/icon_arrow-b.svg) no-repeat right center / 9px;
}
.k_banner a[target=_blank] .text p,
.k_banner a.pbOpenNewWindow .text p {
  padding-right: 22px;
  background: url(../img/icon_blank-b.svg) no-repeat right center / 14px;
}

@media screen and (max-width: 767px) {
  .k_banner:not(:first-child) {
    margin-top: 40px;
  }
  .k_banner a {
    flex-direction: column;
  }
  .k_banner .image {
    width: 100%;
  }
  .k_banner .image:before {
    padding-top: 30.931%;
  }
  .k_banner .text {
    width: 100%;
    font-size: 15px;
  }
  .k_banner a .text p {
    padding-right: 12px;
    background-size: 6px;
  }
  .k_banner a[target=_blank] .text p,
  .k_banner a.pbOpenNewWindow .text p {
    padding-right: 17px;
    background-size: 11px;
  }
}

/*  k_banner-simple 20241216
------------------------------------------------*/

.k_h2 + .k_banner-simple:not(.k_style) {
    margin-top: 20px;
}
.k_banner-simple {
    text-align: center;
}
.k_banner-simple a {
    display: inline-block;
    border: 1px solid #D8D8D8;
}
@media screen and (max-width: 767px) {
    .k_h2 + .k_banner-simple:not(.k_style) {
        margin-top: 15px;
    }
}

/*  arrow
========================================================================*/

.k_arrow:not(:first-child),
.k_arrow + div:not(:first-child) {
  margin-top: 60px;
}
.k_arrow + .k_arrow:not(:first-child) {
  margin-top: 30px;
}
.k_arrow > div {
  position: relative;
  height: 33px;
}
.k_arrow > div:not(.pb-handle):before {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  border-style: solid;
  border-width: 33px 23px 0;
  border-color: #D8D8D8 transparent transparent;
}

@media screen and (max-width: 767px) {
  .k_arrow:not(:first-child),
  .k_arrow + div:not(:first-child) {
    margin-top: 40px;
  }
  .k_arrow + .k_arrow:not(:first-child) {
    margin-top: 20px;
  }
  .k_arrow > div {
    height: 27px;
  }
  .k_arrow > div:not(.pb-handle):before {
    border-width: 27px 19px 0;
  }
}

/*  video
========================================================================*/

.k_video:not(:first-child) {
  margin-top: 30px;
}
.k_video {
  max-width: 683px;
  margin: auto;
}
@media screen and (min-width: 1160px) {
  .k_imagebox:not(.pc-reverse) .k_video {
    margin-right: 0;
  }
  .k_imagebox.pc-reverse .k_video {
    margin-left: 0;
  }
}
.k_video .video {
  position: relative;
  padding-top: 0%!important;
  padding-bottom: 56.25%!important;
  z-index: auto!important;
}
.k_video .video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%!important;
  height: 100%!important;
}

@media screen and (max-width: 767px) {
  .k_video:not(:first-child) {
    margin-top: 20px;
  }
}

/*  modal
========================================================================*/

.k_modal:not(:first-child) {
  margin-top: 80px;
}
.k_modal > div {
  display: table;
  min-width: 100px;
  margin: auto;
}
.k_modal > div > *:not(.modal) {
  display: table-caption;
  caption-side: bottom;
}
.k_modal a {
  display: table;
  margin: auto;
  background:#242424;
}
@media screen and (min-width: 1160px) {
  .k_imagebox .k_modal a {
    max-width: 683px;
  }
  .k_imagebox:not(.pc-reverse) .k_modal a {
    margin-right: 0;
  }
  .k_imagebox.pc-reverse .k_modal a {
    margin-left: 0;
  }
}
.k_modal a img {
  transition: all .2s;
}
@media (min-width: 768px) {
  .k_modal a:hover img {
    opacity: .6;
  }
}
.k_modal .k_style {
  margin-top: 22px;
}
.mfp-container {
  padding: 0 20px!important;
}
.mfp-fade.mfp-bg.mfp-ready {
  background: #3b3b41;
  opacity: .6!important;
}
.mfp-iframe-holder .mfp-close {
  color: rgba(0,0,0,0)!important;
  width: auto !important;
  height: auto;
  right: 15px!important;
  top: -50px!important;
}
.mfp-iframe-holder .mfp-close:before,
.mfp-iframe-holder .mfp-close:after {
  content: '';
  position: absolute;
  width: 2px;
  height: 40px;
  background: #FFFFFF;
}
.mfp-iframe-holder .mfp-close:before {
  transform: rotate(45deg);
}
.mfp-iframe-holder .mfp-close:after {
  transform: rotate(-45deg);
}

@media screen and (max-width: 767px) {
  .k_modal:not(:first-child) {
    margin-top: 40px;
  }
  .mfp-iframe-holder .mfp-close:before,
  .mfp-iframe-holder .mfp-close:after {
    width: 1px;
    height: 24px;
    top: 10px;
  }
}

/*  label
========================================================================*/

/*  label01
------------------------------------------------*/

.k_label01 + div:not(:first-child) {
  margin-top: 10px;
}
.k_label01 ul {
  display: flex;
  flex-wrap: wrap;
  margin: -3px;
}
.k_label01 li {
  margin: 3px;
  padding: 3px 10px 1px;
  background: #242424;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .k_label01 li {
    font-size: 14px;
  }
}

/*  label02
------------------------------------------------*/

.k_label02:not(:first-child) {
  margin-top: 15px;
}
.k_label02 > div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: -5px;
}
.k_label02 .label {
  min-width: 87.5px;
  margin: 5px;
}
.k_label02 .label ul {
  display: flex;
  margin: -5px;
}
.k_label02 .label li {
  display: flex;
  width: 87.5px;
  margin: 5px;
}
.k_label02 .text {
  min-width: 1em;
  margin: 5px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .k_label02 .label {
    min-width: 60px;
  }
  .k_label02 .label li {
    width: 60px;
  }
}

/*  label03
------------------------------------------------*/

.k_label03 + div:not(:first-child) {
  margin-top: 10px;
}
.k_label03:not(:first-child) {
  margin-top: 30px;
}
.k_label03 > div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: -5px -12px;
}
.k_label03 .label-box {
  margin: 5px 12px;
}
.k_label03 .label-box > div {
  display: flex;
  align-items: center;
}
.k_label03 .label {
  width: 60px;
}
.k_label03 .text {
  min-width: 1em;
  margin-left: 8px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .k_label03:not(:first-child) {
    margin-top: 20px;
  }
}

/*  label04
------------------------------------------------*/

.k_label04:not(:first-child) {
  margin-top: 30px;
}
.k_label04 > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  margin: -2px -10px;
}
.k_label04 .label {
  min-width: calc(25px + 1em);
  margin: 2px 10px;
}
.k_label04 .label > div {
  position: relative;
  padding-left: 25px;
}
.k_label04 .label > div:after {
  content: '';
  position: absolute;
  top: 2px;
  left: 0;
  width: 18px;
  height: 18px;
}
.k_label04 .label.color01 > div:after {
  background: #006CB5;
}
.k_label04 .label.color02 > div:after {
  background: #94ADD9;
}
.k_label04 .label.color03 > div:after {
  background: #BBBBBB;
}

/*  iconlabel
------------------------------------------------*/

.k_iconlabel {
  margin-top: 20px;
}
.k_iconlabel > div {
  display: flex;
  flex-wrap: wrap;
}
.k_iconlabel .label {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 150px;
  min-height: 30px;
  margin: 4px 20px 4px 0;
  font-weight: bold;
  position: relative;
  padding-left: 40px;
}
.k_iconlabel .label:before {
  content: '';
  position: absolute;
  background: url(../img/tag_yellow.png);
  background-size: 30px;
  width: 30px;
  height: 30px;
  left: 0;
}
.k_iconlabel .label.blue:before {
  background: url(../img/tag_blue01.png);
  background-size: 30px;
}
.k_iconlabel .label.blue2:before {
  background: url(../img/tag_blue02.png);
  background-size: 30px;
}
.k_iconlabel .label.green:before {
  background: url(../img/tag_green01.png);
  background-size: 30px;
}
.k_iconlabel .label.green2:before {
  background: url(../img/tag_green02.png);
  background-size: 30px;
}
.k_iconlabel .label.green3:before {
  background: url(../img/tag_green03.png);
  background-size: 30px;
}
.k_iconlabel .label.orange:before {
  background: url(../img/tag_orange01.png);
  background-size: 30px;
}
.k_iconlabel .label.orange2:before {
  background: url(../img/tag_orange02.png);
  background-size: 30px;
}
.k_iconlabel .label.red:before {
  background: url(../img/tag_red.png);
  background-size: 30px;
}
.k_iconlabel .label.purple:before {
  background: url(../img/tag_purple.png);
  background-size: 30px;
}
.k_iconlabel .label.pink:before {
  background: url(../img/tag_pink.png);
  background-size: 30px;
}

@media screen and (max-width: 767px) {
  .k_iconlabel {
    margin-top: 15px;
  }
  .k_iconlabel > div {
    flex-direction: column;
  }
}

/*  accordion
========================================================================*/

.k_accordion:not(:first-child) {
  margin-top: 20px;
}
.k_accordion + div.k_h3:not(:first-child) {
  margin-top: 30px;
}
.k_accordion .inner > div {
  padding: 38px 0 25px;
}
.k_accordion.active .k_button.more button {
  position: relative;
}
.k_accordion.active .k_button.more button:before {
  content: '';
  position: absolute;
  top: -1px;
  bottom: 0;
  margin: auto;
  right: 49px;
  width: 12px;
  height: 2px;
  background: #000;
  transition: all .3s;
}
.k_accordion.active .k_button.more button:after {
  background: none;
}

@media screen and (max-width: 767px) {
  .k_accordion.active .k_button.more button:before {
    right: 21px;
    width: 9px;
    height: 1px;
  }
}

/*  k_table-swipe
========================================================================*/

.k_table-swipe:not(:first-child),
div[class^="k_h"] + .k_table-swipe:not(:first-child) {
  margin-top: 20px;
}
.k_table-swipe + .k_style.small {
  margin-top: 20px;
}
.k_table-swipe {
  overflow: auto;
  position: relative;
}
.k_table-swipe::-webkit-scrollbar {
  height: 15px;
}
.k_table-swipe::-webkit-scrollbar-thumb {
  background: #d9dcdf;
  border-radius: 10px;
}
.k_table-swipe::-webkit-scrollbar-track {
  background: #f5f5f5;
  border-radius: 10px;
}
.k_table-swipe:before,
.k_table-swipe:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  transition: all .3s;
  pointer-events: none;
}
.k_table-swipe:before {
  width: 80px;
  height: 70px;
  background: rgba(0,0,0,.7);
  border-radius: 5px;
}
.k_table-swipe:after {
  width: 60px;
  height: 60px;
  background: url(/kodate/assets/img/icon_swipe.png) no-repeat center top / contain;
  animation: swipe 2s ease-out infinite;
}
.k_table-swipe.active:before,
.k_table-swipe.active:after {
  opacity: 0;
}
.k_table-swipe table {
  width: 1500px;
  max-width: none;
  border: none;
  font-size: 15px;
  line-height: 1.9;
  margin-bottom: 4px;
}
.k_table-swipe th,
.k_table-swipe td {
  padding: 18px 16px 18px 30px;
  border: none;
  border-top: 1px solid #D8D8D8;
  border-bottom: 1px solid #D8D8D8;
  text-align: left;
}
.k_table-swipe th {
  background: #F4F4F4;
  font-weight: bold;
  vertical-align: middle;
}
.k_table-swipe tbody th {
  padding-right: 30px;
}
.k_table-swipe td {
  background: #fff;
  vertical-align: top;
}
.k_table-swipe td:not(:last-child) {
  border-right: 1px solid #D8D8D8;
}
.k_table-swipe div + p {
  margin-top: 10px;
}
.k_table-swipe .strong {
  font-weight: bold;
}
.k_table-swipe .indent {
  margin-left: 15px;
}
.k_table-swipe .center {
  vertical-align: middle;
  text-align: center;
}

@keyframes swipe {
  50%, 70% {transform: scale(1);}
  60% {transform: scale(.95);}
}

@media screen and (max-width: 767px) {
  .k_table-swipe table {
    width: 900px;
    max-width: none;
    font-size: 12px;
    line-height: 1.6;
    margin-bottom: 3px;
  }
  .k_table-swipe th,
  .k_table-swipe td {
    padding: 15px;
    border: none;
    border-top: 1px solid #D8D8D8;
    border-bottom: 1px solid #D8D8D8;
    text-align: left;
  }
  .k_table-swipe th {
    background: #F4F4F4;
    font-weight: bold;
    vertical-align: middle;
  }
  .k_table-swipe tbody th {
    padding-right: 15px;
  }
}

/*  ess
========================================================================*/

.k_ess:not(:first-child) {
  margin-top: 60px;
}
.k_ess > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.k_ess > div:after {
  display: none;
}
.k_ess .box {
  width: 23.363%;
  text-align: center;
}
.k_ess .box:nth-child(n+5) {
  margin-top: 60px;
}
.k_ess em {
  font-weight: bold;
  font-style: normal;
  vertical-align: middle;
}
.k_ess .day {
  padding: 3px 5px;
  background: #F4F4F4;
  font-size: 16px;
  font-weight: bold;
}
.k_ess .title {
  padding: 2px 5px;
  background: #242424;
  color: #FFF;
  font-size: 24px;
  font-weight: bold;
}
.k_ess .num:not(:first-child) {
  margin-top: 15px;
}
.k_ess .num {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: bold;
}
.k_ess .num em {
  margin: 0 4px;
  font-size: 24px;
}
.k_ess dl {
  position: relative;
  margin-top: 10px;
  padding-top: 28px;
  font-weight: bold;
  line-height: 1.1;
}
.k_ess dl:before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  border-style: solid;
  border-width: 17px 18px 0;
  border-color: #242424 transparent transparent;
}
.k_ess dt {
  font-size: 22px;
}
.k_ess dt em {
  margin-right: 4px;
  font-size: 34px;
}
.k_ess dd {
  font-size: 40px;
}
.k_ess dd em {
  margin-right: 4px;
  font-size: 80px;
}
.k_ess .term:not(:first-child) {
  margin-top: 3px;
}
.k_ess .term {
  font-size: 12px;
  line-height: 1.2;
}
.k_ess .term em {
  margin: 0 3px 0 7px;
  font-size: 24px;
}

@media screen and (max-width: 767px) {
  .k_ess:not(:first-child) {
    margin-top: 40px;
  }
  .k_ess .box {
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
  }
  .k_ess .box:not(:first-child) {
    margin-top: 40px;
  }
  .k_ess .day {
    font-size: 14px;
  }
  .k_ess .title {
    font-size: 18px;
  }
  .k_ess .num {
    font-size: 14px;
  }
  .k_ess .num em {
    font-size: 20px;
  }
  .k_ess dt {
    font-size: 20px;
  }
  .k_ess dt em {
    font-size: 25px;
  }
  .k_ess dd {
    font-size: 30px;
  }
  .k_ess dd em {
    font-size: 50px;
  }
}

/*  map
========================================================================*/

.k_map:not(:first-child) {
  margin-top: 60px;
}
.k_map {
  position: relative;
}
.k_map .image img {
  width: 100%;
}
.k_map .vr-link {
  position: absolute;
  width: 84px;
  height: 44px;
}
.k_map .vr-link.vr1 {
  top: 21.3%;
  left: 12.2%;
}
.k_map .vr-link.vr2 {
  top: 39.4%;
  left: 40.5%;
}
.k_map .vr-link.vr3 {
  top: 33.9%;
  left: 66.8%;
}
.k_map .vr-link.vr4 {
  top: 33.9%;
  left: 88.7%;
}
.k_map .vr-link.plan01 {
  top: 34.2%;
  left: 44.9%;
}
.k_map .vr-link.plan02 {
  top: 26%;
  left: 16.1%;
}
.k_map .vr-link.plan03 {
  top: 37.1%;
  left: 37%;
}
.k_map .vr-link.plan04 {
  top: 49.7%;
  left: 16.1%;
}
.k_map .vr-link.plan05 {
  top: 42%;
  left: 68.6%;
}
.k_map .detail-link {
  position: absolute;
  width: 95px;
  height: 45px;
  border: none;
  outline: none;
}
.k_map .detail-link.detail1 {
  top: 14.7%;
  left: 20.7%;
}
.k_map .detail-link.detail2 {
  top: 18.7%;
  left: 33.1%;
}
.k_map .detail-link.detail3 {
  top: 54.5%;
  left: 29.5%;
}
.k_map .detail-link.detail4 {
  top: 11.4%;
  left: 76.3%;
}
.k_map .detail-link.detail5 {
  top: 34.2%;
  left: 21.5%;
}
.k_map .detail-link.detail6 {
  top: 29.6%;
  left: 73.5%;
}
.mfp-bg.mfp-ready.mfp-fade-inline {
  background: #3b3b41 !important;
}
.mfp-fade-inline.mfp-bg {
  opacity: 0;
  -webkit-transition: all 0.35s ease-out;
  -moz-transition: all 0.35s ease-out;
  transition: all 0.35s ease-out;
}
.mfp-fade-inline.mfp-bg.mfp-ready {
  opacity: 0.6;
}
.mfp-fade-inline.mfp-bg.mfp-removing {
  opacity: 0;
}
.mfp-fade-inline.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transition: all 0.35s ease-out;
  -moz-transition: all 0.35s ease-out;
  transition: all 0.35s ease-out;
  -webkit-transform: translateY(10px);
  transform: translateY(10px);
}
.mfp-fade-inline.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
.mfp-fade-inline.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}
.detail-content {
  background: #ffffff;
  padding: 50px;
  pointer-events: auto;
  position: relative;
  width: 665px;
  margin: 0 auto;
  overflow: hidden!important;
  -webkit-text-size-adjust: 100%;
  color: #242424;
  font-family: "\6E38\30B4\30B7\30C3\30AF\4F53", "YuGothic", "\6E38\30B4\30B7\30C3\30AF", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "meiryo", "Helvetica Neue", "arial", sans-serif;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: .4px;
  font-weight: 500;
  word-break: break-word;
}
.detail-image {
  text-align: center;
  position: relative;
  overflow: hidden!important;
}
.detail-image img {
  width: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.detail-text:not(:first-child) {
  margin-top: 25px;
}
.detail-text * {
  line-height: 2;
}
.detail-content .detail-close {
    position: absolute;
    height: 24px;
    width: 24px;
    right: 16px;
    top: 16px;
    padding: 0;
    opacity: 1;
    cursor: pointer;
    transition: opacity .3s;
}
.detail-content .detail-close:active {
  top: 16px;
}
.detail-content .detail-close:hover {
  opacity: 0.65;
}
.detail-close:before, .detail-close:after {
  background: #9976B1;
  content: '';
  display: inline-block;
  height: 33px;
  position: absolute;
  width: 3px;
}
.detail-close:before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    left: 0;
    top: 0;
}
.detail-close:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 0;
    right: 0;
}

@media screen and (max-width: 767px) {
  .k_map:not(:first-child) {
    margin-top: 40px;
  }
  .k_map .vr-link {
    width: 14.6%;
    height: 7.5vw;
  }
  .k_map .vr-link.vr1 {
    top: 10.7%;
    left: 24.1%;
  }
  .k_map .vr-link.vr2 {
    top: 20%;
    left: 77.8%;
  }
  .k_map .vr-link.vr3 {
    top: 65.9%;
    left: 29.7%;
  }
  .k_map .vr-link.vr4 {
    top: 65.9%;
    left: 71.7%;
  }
  .k_map .vr-link.plan01,
  .k_map .vr-link.plan02,
  .k_map .vr-link.plan03,
  .k_map .vr-link.plan04,
  .k_map .vr-link.plan05 {
    width: 12.5%;
    height: 5.8vw;
  }
  .k_map .vr-link.plan01 {
    top: 29.5%;
    left: 77.9%;
  }
  .k_map .vr-link.plan02 {
      top: 27.4%;
      left: 28.1%;
  }
  .k_map .vr-link.plan03 {
      top: 32.8%;
      left: 64.7%;
  }
  .k_map .vr-link.plan04 {
      top: 37.7%;
      left: 28%;
  }
  .k_map .vr-link.plan05 {
      top: 67.5%;
      left: 37.8%;
  }
  .k_map .detail-link {
    width: 15.4%;
    height: 6.8vw;
  }
  .k_map .detail-link.detail1 {
    top: 7.7%;
    left: 40.7%;
  }
  .k_map .detail-link.detail2 {
    top: 9.6%;
    left: 64%;
  }
  .k_map .detail-link.detail3 {
    top: 27.9%;
    left: 57.4%;
  }
  .k_map .detail-link.detail4 {
    top: 54.5%;
    left: 47.5%;
  }
  .k_map .detail-link.detail5 {
    top: 19.1%;
    left: 40%;
  }
  .k_map .detail-link.detail6 {
      top: 70.6%;
      left: 52.5%;
  }
  .detail-content {
    width: 100%;
  }
  .detail-text:not(:first-child) {
    margin-top: 18px;
  }
  .detail-text * {
    line-height: 1.7;
  }
}

/*  tab
========================================================================*/

.k_tab:not(:first-child) {
  margin-top: 100px;
}
.k_tab .tab {
  position: relative;
  z-index: 1;
}
.k_tab .tab ul {
  display: flex;
}
.k_tab .tab li:not(:first-child) {
  margin-left: 9px;
}
.k_tab .tab li {
  position: relative;
}
.k_tab .tab li:not(.active) {
  cursor: pointer;
  transition: opacity .3s;
}
@media (min-width: 768px) {
  .k_tab .tab li:not(.active):hover {
    opacity: .6;
  }
}
.k_tab .tab li img {
  display: block;
  width: 100%;
}
.k_tab .tab li img.on {
  position: absolute;
}
.k_tab .tab li:not(.active) img.on {
  opacity: 0;
}
.k_tab .tab + .inner {
  margin-top: -4px;
}
.k_tab .k_map {
  margin-top: 0;
}
.k_tab .k_map:not(.active) {
  display: none;
}

@media screen and (max-width: 767px) {
  .k_tab:not(:first-child) {
    margin-top: 40px;
  }
  .k_tab .tab li {
    width: 33%;
  }
  .k_tab .tab + .inner {
    margin-top: -.5%;
  }
}

/*  imagebox
========================================================================*/

.k_imagebox:not(:first-child) {
  margin-top: 100px;
}
.k_imagebox + .k_imagebox {
  margin-top: 80px;
}
.k_style.lead + .k_imagebox {
  margin-top: 60px;
}
.k_imagebox > div {
  display: flex;
}
.k_imagebox .imagebox,
.k_imagebox .textbox {
  width: 50%;
}
.k_imagebox .textbox {
  position: relative;
  transition: all .3s;
}
@media (min-width: 768px) {
  .pbPage:not(.edit) .k_imagebox.link .textbox:hover {
    opacity: .5;
  }
}
.k_imagebox .textbox > div {
  width: calc(100% - 60px);
  margin-left: auto;
}
.k_imagebox .textbox:not(.top) > div {
  display: flex;
  justify-content: center;
  flex-direction: column;
  height: 100%;
}
.k_imagebox .textbox .k_image:not(:first-child),
.k_imagebox .textbox .k_image + div {
  margin-top: 25px;
}
.pbPage:not(.edit) .k_imagebox.link .k_link a,
.pbPage:not(.edit) .k_imagebox.link .k_button a {
  opacity: 1;
}
.pbPage:not(.edit) .k_imagebox.link .k_link a:before,
.pbPage:not(.edit) .k_imagebox.link .k_button a:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
@media print, screen and (min-width: 768px) {
  .k_imagebox .k_button:not(:first-child) {
    margin-top: 40px;
  }
  .k_imagebox .k_button {
    text-align: left;
  }
}
.k_imagebox .small-box > div {
  display: flex;
}
.k_imagebox .small-image {
  width: 150px;
}
.k_imagebox .small-image > div {
  display: flex;
  justify-content: center;
  flex-direction: column;
  height: 100%;
}
.k_imagebox .small-text {
  width: calc(100% - 150px);
}
.k_imagebox .small-text > div {
  display: flex;
  justify-content: center;
  flex-direction: column;
  width: calc(100% - 30px);
  height: 100%;
  margin-left: auto;
}
.k_imagebox .icon-box:not(:first-child) {
  margin-top: 30px;
}
.k_imagebox .icon-box > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.k_imagebox .icon-box > div:after {
  display: none;
}
.k_imagebox .icon-image {
  width: 74px;
}
.k_imagebox .icon-text {
  margin-top: 0;
  width: calc(100% - 94px);
}
.k_imagebox .textbox .k_image + .icon-text {
  margin-top: 0px;
}
.k_imagebox .icon-box.small > div {
  align-items: normal;
}
.k_imagebox .icon-box.small .icon-image {
  width: 58px;
}
.k_imagebox .icon-box.small .icon-text {
  width: calc(100% - 78px);
}
.k_imagebox .icon-box.small .icon-text .k_link-copy + div.k_style {
  margin-top: 5px;
}

@media screen and (max-width: 767px) {
  .k_imagebox:not(:first-child) {
    margin-top: 40px;
  }
  .k_imagebox + .k_imagebox {
    margin-top: 60px;
  }
  .k_style.lead + .k_imagebox {
    margin-top: 25px;
  }
  .k_imagebox > div {
    flex-direction: column;
  }
  .k_imagebox .imagebox,
  .k_imagebox .textbox {
    width: 100%;
  }
  .k_imagebox .textbox > div {
    width: calc(100% - 20px);
    margin: 28px auto 0;
  }
  .k_imagebox .small-image {
    width: 100px;
  }
  .k_imagebox .small-text {
    width: calc(100% - 100px);
  }
  .k_imagebox .small-text > div {
    width: calc(100% - 20px);
    justify-content: flex-start;
  }
  .k_imagebox .icon-box:first-child {
    margin-top: -8px;
  }
  .k_imagebox .icon-box:not(:first-child) {
    margin-top: 20px;
  }
  .k_imagebox .icon-box:not(.small) {
    margin: 20px -10px 0;
  }
  .k_imagebox .icon-box:first-child:not(.small) {
    margin-top: -8px;
  }
}

@media print, screen and (min-width: 768px){
  .k_imagebox .imagebox.bottom-caption > div {
    height: 100%;
    position: relative;
  }
  .k_imagebox .imagebox.bottom-caption .k_style.small-bold {
    position: absolute;
    margin: 0;
    bottom: 0;
  }

}

/*  wide
------------------------------------------------*/

.k_imagebox .col2-box > div {
  display: flex;
  justify-content: space-between;
}
.k_imagebox .col2-box > div:after {
  display: none;
}
.k_imagebox .col2-image {
  width: 47.805%;
}
.k_imagebox .col2-image .k_style:not(:first-child) {
  margin-top: 15px;
}

@media print, screen and (min-width: 768px) {
  .k_imagebox.wide:not(:first-child) {
    margin-top: 60px;
  }
  .k_imagebox.wide .imagebox {
    width: 48.707%;
  }
  .k_imagebox.wide .textbox {
    width: 51.293%;
  }
  .k_imagebox.wide .textbox > div {
    justify-content: normal;
    width: calc(100% - 26px);
  }
  .text-inner + .col2-box {
    margin-top: 50px;
  }
}

@media screen and (max-width: 767px) {
  .k_imagebox.wide:not(:first-child) {
    margin-top: 40px;
  }
  .k_imagebox.wide > div {
    max-width: 565px;
    margin: auto;
  }
  .text-inner + .col2-box {
    margin-top: 35px;
  }
}

/*  pc-reverse
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
  .k_imagebox.pc-reverse > div {
    flex-direction: row-reverse;
  }
  .k_imagebox.pc-reverse .textbox > div {
    margin-left: 0;
    margin-right: auto;
  }
}

/*  sp-reverse
------------------------------------------------*/

@media print, screen and (max-width: 767px) {
  .k_imagebox.sp-reverse {
    margin: 60px -10px 0
  }
  .k_imagebox.sp-reverse > div {
    flex-direction: column-reverse;
  }
  .k_imagebox.sp-reverse .textbox > div {
    width: 100%;
    margin: 0 auto 28px;
  }
}

/*  small
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
  .k_imagebox .imagebox.small {
    width: 386px;
  }
  .k_imagebox .imagebox.small + .textbox {
    width: calc(100% - 386px);
  }
}

/*  small-370
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
  .k_imagebox .imagebox.small-370 {
    width: 370px;
  }
  .k_imagebox .imagebox.small-370 + .textbox {
    width: calc(100% - 370px);
  }
  .k_imagebox .imagebox.small-370 + .textbox > div {
    width: calc(100% - 40px);
  }
}

/*  mini
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
  .k_imagebox .imagebox.mini {
    width: 25%;
  }
  .k_imagebox .imagebox.mini + .textbox {
    width: 75%;
  }
}

@media screen and (max-width: 767px) {
  .k_imagebox .imagebox.mini .k_image img {
    max-width: 256px;
  }
}

/*  line
------------------------------------------------*/

.k_imagebox.line > div {
  border-top: 1px solid #D8D8D8;
  border-bottom: 1px solid #D8D8D8;
}

@media print, screen and (min-width: 768px) {
  .k_imagebox.line > div {
    padding: 40px 0;
  }
  .k_imagebox.line > div {
    padding-left: 60px;
  }
  .k_imagebox.line .imagebox {
    width: 425px;
  }
  .k_imagebox.line .textbox {
    width: calc(100% - 425px);
  }
}

@media screen and (max-width: 767px) {
  .k_imagebox.line > div {
    margin: 0 10px;
    padding: 30px 0;
  }
  .k_imagebox.line .k_image img {
    max-width: 256px;
  }
  .k_imagebox.line .textbox > div {
    width: 100%;
  }
}

/*  full  */

@media print, screen and (min-width: 768px) {
  .k_imagebox.line.full > div {
    padding-left: 0;
  }
  .k_imagebox.line.full .imagebox,
  .k_imagebox.line.full .textbox {
    width: 50%;
  }
}

@media screen and (max-width: 767px) {
  .k_imagebox.line.full .k_image img {
    max-width: 100%;
  }
}

.k_imagebox.line > div {
  border-top: 1px solid #D8D8D8;
  border-bottom: 1px solid #D8D8D8;
}

/*  line-870  */

.k_imagebox.line.line-870 > div {
  border: 1px solid #D8D8D8;
}

@media print, screen and (min-width: 768px) {
  .k_imagebox.line.line-870 {
    width: 870px;
    margin: 120px auto 0;
  } 
  .k_imagebox.line.line-870 > div {
    padding: 20px;
  }
  .k_imagebox.line.line-870 .imagebox {
    width: 225px;
  }
  .k_imagebox.line.line-870 .textbox {
    width: calc(100% - 225px);
  }
  .k_imagebox.line.line-870 .textbox > div {
    width: calc(100% - 20px);
  }
}

@media screen and (max-width: 767px) {
  .k_imagebox.line.line-870 > div {
    padding: 30px 15px;
  }
}

/*  small-250
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
  .k_imagebox .imagebox.small-250 {
    width: 250px;
  }
  .k_imagebox .small-250 + .textbox {
    width: calc(100% - 250px);
  }
}

/*  small-195
------------------------------------------------*/

.k_imagebox.small-195 > div {
  border: 1px solid #D8D8D8;
}

@media print, screen and (min-width: 768px) {
  .k_imagebox.small-195 > div {
    padding: 40px 50px;
  }
  .k_imagebox.small-195 .imagebox {
    width: 195px;
  }
  .k_imagebox.small-195 .textbox {
    width: calc(100% - 195px);
  }
  .k_imagebox.small-195 .textbox > div {
    width: calc(100% - 40px);
  }
}

@media screen and (max-width: 767px) {
  .k_imagebox.small-195 > div {
    padding: 30px 15px;
  }
}

/*  line02
------------------------------------------------*/

.k_imagebox.line02 > div {
  border: 1px solid #D8D8D8;
  border-radius: 10px;
}
@media print, screen and (min-width: 768px) {
  .k_imagebox.line02 {
    margin-top: 60px;
  }
  .k_imagebox.line02 > div {
    padding: 50px;
  }
}

@media screen and (max-width: 767px) {
  .k_imagebox.line02 {
    margin-top: 30px;
  }
  .k_imagebox.line02 > div {
    margin: 0 -15px;
    padding: 30px 10px;
    display: flex;
    flex-direction: column-reverse;
  }
  .k_imagebox.line02 .k_image {
    padding: 0 15px;
    margin-top: 28px;
  }
  .k_imagebox.line02 .textbox > div {
    width: 100%;
    padding: 0 10px;
    margin: 0;
  }
}

/*  small-350
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
  .k_imagebox .imagebox.small-354 {
    width: 354px;
  }
  .k_imagebox .small-354 + .textbox {
    width: calc(100% - 354px);
  }
}

/*  full
------------------------------------------------*/

.k_imagebox .imagebox.full .k_image img {
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .k_imagebox .imagebox.full {
    flex: 1;
  }
  .k_imagebox:not(.pc-reverse) .imagebox.full {
    margin-left: -20px;
  }
  .k_imagebox.pc-reverse .imagebox.full {
    margin-right: -20px;
  }
  .k_imagebox .imagebox.full .k_image img {
    width: 683px;
    object-fit: cover;
    font-family: 'object-fit: cover;';
  }
  .k_imagebox .imagebox.full:not(.auto):not(.active) {
    opacity: 0;
  }
  .k_imagebox .imagebox.full.active:not(.auto) .k_image {
    position: relative;
    overflow: hidden!important;
  }
  .k_imagebox .imagebox.full.active:not(.auto) .k_image div:not(.pb-handle) {
    position: static!important;
  }
  .k_imagebox .imagebox.full.active:not(.auto).active .k_image img {
     position: absolute;
     top: 50%;
     transform: translateY(-50%);
     left: 0;
     width: 100%;
     height: 100%;
     transition: none;
  }
  .k_imagebox .imagebox.full.auto .k_image {
    text-align: right;
  }
  .k_imagebox.pc-reverse .imagebox.full.auto .k_image {
    text-align: left;
  }
  .k_imagebox .imagebox.auto + .textbox .k_link.f28 {
    letter-spacing: .8px;
  }
}
@media screen and (min-width: 1160px) {
  .k_imagebox:not(.pc-reverse) .imagebox.full {
    margin-left: calc(50% - 50vw);
  }
  .k_imagebox.pc-reverse .imagebox.full {
    margin-right: calc(50% - 50vw);
  }
}
@media screen and (min-width: 1920px) {
  .k_imagebox:not(.pc-reverse) .imagebox.full {
    margin-left: -380px;
  }
  .k_imagebox.pc-reverse .imagebox.full {
    margin-right: -380px;
  }
}

@media screen and (max-width: 767px) {
  .k_imagebox .imagebox.full:not(.sp-small) {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
  .k_imagebox .imagebox.full .k_image {
    height: auto!important;
  }
}

/*  kodate-detail-voice
------------------------------------------------*/

.k_imagebox.kodate-detail-voice .imagebox .k_image img {
  border-radius: 50%
}

/*  clm
========================================================================*/

.k_clm:not(:first-child) {
  margin-top: 100px;
}
.k_clm > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.k_clm .box {
  position: relative;
}
.k_clm .k_image > div {
  position: relative;
  overflow: hidden!important;
}
.k_clm:not(.auto) .k_image > div:before {
  content: '';
  display: block;
  padding-top: 53.1%;
}
.k_clm:not(.auto) .k_image > div > div,
.k_clm:not(.auto) .k_image a,
.k_clm:not(.auto) .k_image img {
  position: absolute!important;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.k_clm .k_image img {
  width: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.k_clm .textbox:not(:first-child) {
  margin-top: 25px;
}
.pbPage:not(.edit) .k_clm .box.link .textbox {
  transition: all .3s;
}
@media (min-width: 768px) {
  .pbPage:not(.edit) .k_clm .box.link:hover .k_image img {
    transform: scale(1.08);
  }
  .pbPage:not(.edit) .k_clm .box.link:hover .textbox {
    opacity: .5;
  }
}
.pbPage:not(.edit) .k_clm .box.link .k_link a,
.pbPage:not(.edit) .k_clm .box.link .k_button a {
  opacity: 1;
}
.pbPage:not(.edit) .k_clm .box.link .k_link a:before,
.pbPage:not(.edit) .k_clm .box.link .k_button a:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

@media screen and (max-width: 767px) {
  .k_clm:not(:first-child) {
    margin-top: 40px;
  }
  .k_clm .textbox {
    margin: 0 10px;
  }
  .k_clm .textbox:not(:first-child) {
    margin-top: 18px;
  }
}

/*  col-2
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
  .k_clm.col-2 > div:after {
    display: none;
  }
  .k_clm.col-2 .box {
    width: 48.707%;
  }
  .k_clm.col-2.wide .box {
    width: 49.138%;
  }
  .k_clm.col-2 .box:nth-child(n+3) {
    margin-top: 60px;
  }
}

@media screen and (max-width: 767px) {
  .k_clm.col-2 .box:not(:first-child) {
    margin-top: 40px;
  }
  .k_clm.col-2 .box {
    width: 100%;
  }
}

/*  icon
------------------------------------------------*/

.k_clm.icon .box > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.k_clm.icon .box > div:after {
  display: none;
}
.k_clm.icon .k_image > div:before {
  display: none;
}
.k_clm.icon .k_image > div > div,
.k_clm.icon .k_image a,
.k_clm.icon .k_image img {
  position: static!important;
}

/*  col-2  */

.k_clm.col-2.icon .box:nth-child(n+3) {
  margin-top: 40px;
}
.k_clm.col-2.icon .textbox {
  width: calc(100% - 195px);
  margin-top: 0;
}
.k_clm.col-2.icon .k_image {
  width: 175px;
}

@media screen and (max-width: 767px) {
  .k_clm.col-2.icon .box:not(:first-child) {
    margin-top: 30px;
  }
  .k_clm.col-2.icon .k_image {
    margin: 0 auto;
  }
  .k_clm.col-2.icon .k_link.f20 {
    font-size: 18px;
  }
  .k_clm.col-2.icon .textbox {
    width: 100%;
    margin-top: 18px;
  }
}

/*  col-4  */

.k_clm.col-4.icon .box:nth-child(n+5) {
  margin-top: 40px;
}
.k_clm.col-4.icon .box,
.k_clm.col-4.icon > div:after,
.k_clm.col-4.icon > div:before {
  width: 23.363%;
}
.k_clm.col-4.icon .k_image {
  width: 120px;
}
.k_clm.col-4.icon .textbox {
  width: calc(100% - 140px);
}
.k_clm.col-4.icon .textbox:not(:first-child) {
  margin-top: 0;
}
.k_clm.col-4.icon .textbox > div {
  display: flex;
  justify-content: center;
  flex-direction: column;
  height: 100%;
}

@media screen and (max-width: 767px) {
  .k_clm.col-4.icon .box {
    width: 100%;
  }
  .k_clm.col-4.icon .box:not(:first-child) {
    margin-top: 5px;
  }
  .k_clm.col-4.icon .k_image {
    width: 80px;
  }
  .k_clm.col-4.icon .textbox {
    width: calc(100% - 100px);
  }
}

/*  icon-vertical
------------------------------------------------*/

.k_clm.col-2.icon-vertical :not(.box-inner) + .box-inner {
  margin-top: 25px;
}
.k_clm.col-2.icon-vertical .box-inner + .box-inner {
  margin-top: 20px;
}
.k_clm.col-2.icon-vertical .box-inner > div {
  display: flex;
  justify-content: space-between;
}
.k_clm.col-2.icon-vertical .box-inner > div:after {
  display: none;
}
.k_clm.col-2.icon-vertical .k_image {
  width: 175px;
}
.k_clm.col-2.icon-vertical .k_image > div:before {
  display: none;
}
.k_clm.col-2.icon-vertical .k_image > div > div,
.k_clm.col-2.icon-vertical .k_image a,
.k_clm.col-2.icon-vertical .k_image img {
  position: static!important;
}
.k_clm.col-2.icon-vertical .textbox {
  width: calc(100% - 195px);
  margin-top: 0;
}
.k_clm.col-2.icon-vertical .textbox > div {
  display: flex;
  justify-content: center;
  flex-direction: column;
  height: 100%;
}

@media screen and (max-width: 767px) {
  .k_clm.col-2.icon-vertical .k_image {
    width: 110px;
  }
  .k_clm.col-2.icon-vertical .textbox {
    width: calc(100% - 130px);
    margin: 0;
  }
}

/*  col-3
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
  .k_clm.col-3 > div:after {
    content: '';
    display: block;
    width: 31.897%;
  }
  .k_clm.col-3 .box {
    width: 31.897%;
  }
  .k_clm.col-3.sp-col-1 .box:nth-child(n+4) {
    margin-top: 60px;
  }
  .k_clm.col-3.sp-col-2 .box:nth-child(n+4) {
    margin-top: 35px;
  }
  .k_clm.col-3 .k_image > div:before {
    padding-top: 64.865%;
  }
}

@media screen and (max-width: 767px) {
  .k_clm.sp-col-1 .box:not(:first-child) {
    margin-top: 40px;
  }
  .k_clm.sp-col-1 .box {
    width: 100%;
  }
  .k_clm.sp-col-1 .k_image > div:before {
    padding-top: 51.646%;
  }

  .k_clm.sp-col-2 > div:after {
    display: none;
  }
  .k_clm.sp-col-2 .box {
    width: calc(50% - 3.5px);
  }
  .k_clm.sp-col-2 .box:nth-child(n+3) {
    margin-top: 20px;
  }
  .k_clm.sp-col-2 .k_image > div:before {
    padding-top: 64.64%;
  }
  .k_clm.sp-col-2 .textbox {
    margin: 0;
  }
  .k_clm.sp-col-2 .textbox:not(:first-child) {
    margin-top: 13px;
  }
}

/*  col-4
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
  .k_clm.col-4 > div:after,
  .k_clm.col-4 > div:before {
    content: '';
    display: block;
    width: 23.707%;
  }
  .k_clm.col-4 > div:before {
    order: 1;
  }
  .k_clm.col-4 .box {
    width: 23.707%;
  }
  .k_clm.col-4 .box:nth-child(n+5) {
    margin-top: 50px;
  }
  .k_clm.col-4 .k_image > div:before {
    padding-top: 64.73%;
  }
  .k_clm.col-4 .textbox:not(:first-child) {
    margin-top: 20px;
  }
  .k_clm.col-4 .k_link.f18 {
    line-height: 1.9;
  }

  .k_clm.col-4.arrow > div:after,
  .k_clm.col-4.arrow > div:before {
    width: 21.5518%;
  }
  .k_clm.col-4.arrow .box {
    width: 21.5518%;
  }
  .k_clm.col-4.arrow .box:not(:nth-child(4n+1)):before,
  .k_clm.col-4.arrow .box:last-child:before,
  .k_clm.col-4.arrow .box:last-child > div:after,
  .k_clm.col-4.arrow .box:last-child > div:before {
    content: '';
    position: absolute;
    top: 80px;
    left: -36px;
    border-style: solid;
    border-width: 10px 0 10px 19px;
    border-color: transparent transparent transparent #D8D8D8;
  }
  .k_clm.col-4.arrow .box:last-child {
    width: 48.1%;
  }
  .k_clm.col-4.arrow .box:last-child > div {
    max-width: 44.807%;
    margin: 0 auto;
  }
  .k_clm.col-4.arrow .box:last-child:before {
    left: 0;
  }
  .k_clm.col-4.arrow .box:last-child > div:after {
    left: 40px;
  }
  .k_clm.col-4.arrow .box:last-child > div:before {
    left: 80px;
  }
  .k_clm.col-4.arrow .k_image > div:before {
    padding-top: 71.2%;
  }
}

@media screen and (max-width: 767px) {
  .k_clm.col-4 > div:after {
    display: none;
  }
  .k_clm.col-4 .box {
    width: calc(50% - 3.5px);
  }
  .k_clm.col-4 .box:nth-child(n+3) {
    margin-top: 30px;
  }
  .k_clm.col-4 .k_image > div:before {
    padding-top: 64.64%;
  }
  .k_clm.col-4 .textbox {
    margin: 0;
  }
  .k_clm.col-4 .textbox:not(:first-child) {
    margin-top: 13px;
  }

  .k_clm.col-4.arrow .box {
    width: calc(50% - 12.5px);
  }
  .k_clm.col-4.arrow .box:not(:nth-child(odd)):before,
  .k_clm.col-4.arrow .box:last-child:before,
  .k_clm.col-4.arrow .box:last-child > div:after,
  .k_clm.col-4.arrow .box:last-child > div:before {
    content: '';
    position: absolute;
    top: 13vw;
    left: -19px;
    z-index: 1;
    border-style: solid;
    border-width: 8px 0 8px 15px;
    border-color: transparent transparent transparent #D8D8D8;
  }
  .k_clm.col-4.arrow .box:last-child {
    width: 100%;
  }
  .k_clm.col-4.arrow .box:last-child > div {
    max-width: calc(50% - 12.5px);
    margin: 0 auto;
  }
  .k_clm.col-4.arrow .box:last-child:before {
    left: 0;
  }
  .k_clm.col-4.arrow .box:last-child > div:after {
    left: 46px;
  }
  .k_clm.col-4.arrow .box:last-child > div:before {
    left: 23px;
  }
  .k_clm.col-4.arrow .k_image > div:before {
    padding-top: 70.97%;
  }
}

/*  simple
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
  .k_clm.simple:not(:first-child),
  .k_clm.simple + div {
    margin-top: 80px;
  }
  .k_clm.simple .textbox {
    margin-top: 20px;
  }
  .k_clm.col-3.simple  .box:nth-child(n+4) {
    margin-top: 60px;
  }
}

/*  tile
========================================================================*/

.k_tile:not(:first-child) {
  margin-top: 100px;
}
.k_tile > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.k_tile .box {
  position: relative;
}
.k_tile .k_image > div {
  position: relative;
  overflow: hidden!important;
}
.k_tile .k_image > div:before {
  content: '';
  display: block;
  padding-top: 51.725%;
}
.k_tile .k_image > div > div,
.k_tile .k_image a,
.k_tile .k_image img {
  position: absolute!important;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.k_tile .k_image img {
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.pbPage:not(.edit) .k_tile .box.link .textbox {
  transition: all .3s;
}
@media (min-width: 768px) {
  .pbPage:not(.edit) .k_tile .box.link:hover .k_image img {
    transform: scale(1.08);
  }
  .pbPage:not(.edit) .k_tile .box.link:hover .textbox {
    opacity: .5;
  }
}
.pbPage:not(.edit) .k_tile .box.link .k_link a,
.pbPage:not(.edit) .k_tile .box.link .k_button a {
  opacity: 1;
}
.pbPage:not(.edit) .k_tile .box.link .k_link a:before,
.pbPage:not(.edit) .k_tile .box.link .k_button a:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
@media print, screen and (min-width: 768px) {
  .k_tile .k_button:not(:first-child) {
    margin-top: 40px;
  }
  .k_tile .k_button {
    text-align: left;
  }
}

@media screen and (max-width: 767px) {
  .k_tile:not(:first-child) {
    margin-top: 40px;
  }
}

/*  col-2
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
  .k_tile.col-2 > div:after {
    display: none;
  }
  .k_tile.col-2 .box {
    width: 50%;
  }
  .k_tile.col-2 .box:nth-child(n+3) {
    margin-top: 55px;
  }
  .k_tile.col-2 .box:nth-child(odd):not(:only-child):after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
    width: 1px;
    height: 100%;
    background: #D8D8D8;
  }
  .k_tile.col-2 .textbox > div {
    padding: 25px 40px 35px;
  }
  .k_tile.col-2 .textbox:only-child {
    height: 100%;
  }
  .k_tile.col-2 .textbox:only-child > div {
    padding: 5px 35px;
  }
  .k_tile.col-2 .box:nth-child(odd) .textbox:only-child {
    border-left: 1px solid #D8D8D8;
  }
  .k_tile.col-2 .box:nth-child(even) .textbox:only-child {
    border-right: 1px solid #D8D8D8;
  }
}

@media screen and (max-width: 767px) {
  .k_tile.col-2 .box:not(:first-child) {
    margin-top: 40px;
  }
  .k_tile.col-2 .box {
    width: 100%;
  }
  .k_tile.col-2 .textbox > div {
    padding: 18px 10px 0;
  }
  .k_tile.col-2 .textbox:only-child > div {
    padding: 0 0 20px;
    border-bottom: 1px solid #D8D8D8;
  }
  .k_tile.col-2 .box:not(:first-child) .textbox:only-child {
    margin-top: -20px;
  }
}

/*  full
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
  .k_tile.col-2.full .box:only-child:after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
    width: 1px;
    height: 100%;
    background: #D8D8D8;
  }
  .k_tile.col-2.full .box > div {
    position: relative;
  }
  .k_tile.col-2.full .box:nth-child(odd) > div {
    margin-left: -20px;
  }
  .k_tile.col-2.full .box:nth-child(even) > div {
    margin-right: -20px;
  }
  .k_tile.col-2.full .k_image > div:before {
    padding-top: 400px;
  }
  .k_tile.col-2.full .textbox {
    max-width: 580px;
  }
  .k_tile.col-2.full .box:nth-child(odd) .textbox {
    margin-left: auto;
  }
  .k_tile.col-2.full .textbox > div {
    padding: 37px 50px 35px;
  }
}
@media screen and (min-width: 1160px) {
  .k_tile.col-2.full .box:nth-child(odd) > div {
    margin-left: calc(100% - 50vw);
  }
  .k_tile.col-2.full .box:nth-child(even) > div {
    margin-right: calc(100% - 50vw);
  }
}
@media screen and (min-width: 1920px) {
  .k_tile.col-2.full .box:nth-child(odd) > div {
    margin-left: -380px;
  }
  .k_tile.col-2.full .box:nth-child(even) > div {
    margin-right: -380px;
  }
}

@media screen and (max-width: 767px) {
  .k_tile.col-2.full .k_image {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
  .k_tile.col-2.full .k_image > div:before {
    padding-top: 58.67%;
  }
  .k_tile.col-2.full .textbox > div {
    padding-top: 28px;
  }
}

/*  col-3
------------------------------------------------*/

@media print, screen and (min-width: 768px) {
  .k_tile.col-3 > div:after {
    content: '';
    display: block;
    width: 33.33%;
  }
  .k_tile.col-3 .box {
    width: 33.33%;
  }
  .k_tile.col-3 .box:nth-child(n+4) {
    margin-top: 60px;
  }
  .k_tile.col-3 .box:after,
  .k_tile.col-3 .box:nth-child(3n+1):before {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
    width: 1px;
    height: 100%;
    background: #D8D8D8;
  }
  .k_tile.col-3 .box:nth-child(3n+1):before {
    right: auto;
    left: 0;
  }
  .k_tile.col-3 .textbox > div {
    padding: 25px 35px 30px;
  }
  .k_tile.col-3 .k_image > div:before {
    padding-top: 67.187%;
  }
}

@media screen and (max-width: 767px) {
  .k_tile.col-3 > div:after {
    display: none;
  }
  .k_tile.col-3 .box:nth-child(n+3) {
    margin-top: 25px;
  }
  .k_tile.col-3 .box {
    width: 50%;
  }
  .k_tile.col-3 .box:nth-child(odd):not(:only-child):after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
    width: 1px;
    height: 100%;
    background: #D8D8D8;
  }
  .k_tile.col-3 .k_image > div:before {
    padding-top: 67.07%;
  }
  .k_tile.col-3 .textbox > div {
    padding: 15px 15px 20px;
  }
}

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

  page

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

/*  ideas
========================================================================*/

.k_ideas {
  margin: 50px 0 55px;
  background: #F4F4F4;
}
.k_ideas .inner {
  width: calc(100% - 40px);
  max-width: 1160px;
  margin: 0 auto;
  padding: 50px 0;
  opacity: 0;
  transform: translateY(100px);
}
.k_ideas.animation .inner {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 1s, transform 1s;
}
.k_ideas .form:not(:first-child) {
  margin-top: 35px;
}
.k_ideas .form {
  padding: 37px 60px 45px;
  background: #fff;
  font-size: 16px;
}
.k_ideas .title:not(:first-child) {
  margin-top: 25px;
}
.k_ideas .title {
  margin-bottom: 15px;
  padding-bottom: 9px;
  font-weight: bold;
  border-bottom: 1px solid #D8D8D8;
}
.k_ideas .list ul {
  display: flex;
  flex-wrap: wrap;
  margin: -5px -15px;
}
.k_ideas .list li {
  margin: 5px 15px;
}
.k_ideas .list input[type=checkbox] {
  display: none;
}
.k_ideas .list input[type=checkbox] + span {
  display: inline-block;
  position: relative;
  padding-left: 26px;
  cursor: pointer;
}
.k_ideas .list input[type=checkbox] + span:before,
.k_ideas .list input[type=checkbox] + span:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
.k_ideas .list input[type=checkbox] + span:before {
  left: 0;
  width: 14px;
  height: 14px;
  border: 1px solid #DDD;
  transition: all .2s;
}
.k_ideas .list input[type=checkbox]:checked + span:after {
  top: -8px;
  left: 7px;
  width: 5px;
  height: 13px;
  border-right: 2px solid #3B3B41;
  border-bottom: 2px solid #3B3B41;
  transform: rotate(45deg);
}
.k_ideas .k_button {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .k_ideas {
    margin: 25px 0 30px;
  }
  .k_ideas .inner {
    padding: 30px 0;
  }
  .k_ideas .form:not(:first-child) {
    margin-top: 35px;
  }
  .k_ideas .form {
    margin: 0 -15px;
    padding: 25px;
  }
  .k_ideas .title:not(:first-child) {
    margin-top: 15px;
  }
  .k_ideas .list {
    font-size: 15px;
  }
  .k_ideas .k_button {
    margin-top: 25px;
  }
}

/*  experience
========================================================================*/

.k_experience {
  position: relative;
  margin: 55px 0;
  line-height: 2;
  color: #fff;
}
.k_experience .back {
  position: absolute;
  width: 100%;
  height: 100%;
}
.k_experience .back img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.k_experience .inner {
  width: calc(100% - 60px);
  max-width: 1130px;
  margin: 0 auto;
  padding: 60px 0 55px;
  opacity: 0;
  transform: translateY(100px);
}
.k_experience.animation .inner {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 1s, transform 1s;
}
@media print, screen and (min-width: 768px) {
  .k_experience .column {
    display: flex;
    justify-content: space-between;
  }
  .k_experience .box {
    width: 30.62%;
  }
}
.k_experience .icon {
  width: 100px;
  margin: auto;
}
.k_experience .title {
  display: table;
  margin: 17px auto 0;
  font-size: 26px;
  font-weight: bold;
  line-height: 1.6;
}
.k_experience a .title {
  padding-right: 20px;
  background: url(../img/icon_arrow-w.svg) no-repeat right center / 11px;
  transition: opacity .3s;
}
.k_experience a[target=_blank] .title {
  padding-right: 26px;
  background-image: url(../img/icon_blank-w.svg);
  background-size: 17px;
}
.k_experience .text {
  margin-top: 20px;
  transition: opacity .3s;
}
@media (min-width: 768px) {
  .k_experience a:hover .title,
  .k_experience a:hover .text {
    opacity: .5;
  }
}

@media screen and (max-width: 767px) {
  .k_experience {
    margin: 30px 0;
    line-height: 1.7;
  }
  .k_experience .inner {
    padding: 50px 0 44px;
  }
  .k_experience .box:not(:first-child) {
    margin-top: 30px;
  }
  .k_experience .box a,
  .k_experience .box span {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .k_experience .icon {
    width: 50px;
    margin: 0 15px 0 0;
  }
  .k_experience .title {
    max-width: calc(100% - 65px);
    margin: 0;
    font-size: 17px;
  }
  .k_experience a .title {
    padding-right: 15px;
    background-position: right calc(50% - 1px);
    background-size: 8px;
  }
  .k_experience a[target=_blank] .title {
    padding-right: 20px;
    background-size: 13px;
  }
  .k_experience .text {
    margin-top: 10px;
  }
}

/*  ideas/result
========================================================================*/

.k_result {
  padding-top: 60px;
}
.k_result .result {
  display: flex;
  width: calc(100% - 60px);
  max-width: 1160px;
  margin: 0 auto;
  opacity: 0;
  transform: translateY(100px);
}
.k_result.animation .result {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 1s, transform 1s;
}
.k_result .result .title {
  margin-right: 5px;
  white-space: nowrap;
  font-size: 16px;
  font-weight: bold;
}
.k_result .search:not(:first-child) {
  margin-top: 55px;
}
.k_result .search {
  width: calc(100% - 60px);
  max-width: 1160px;
  margin: 0 auto;
}
.k_result .search .button {
  float: left;
}
.k_result .search .button button {
  padding: 17px 51px;
  background: #F4F4F4;
  font-size: 18px;
  font-weight: bold;
  border: none;
  transition: opacity .3s;
  opacity: 0;
  transform: translateY(100px);
}
.k_result.animation .search .button button {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 1s, transform 1s;
}
@media (min-width: 768px) {
  .k_result .search .button button:hover {
    opacity: .6;
  }
}
.k_result .search .button button:after {
  content: '';
  display: inline-block;
  width: 17px;
  height: 18px;
  margin-left: 10px;
  background: url(../img/icon_down.svg) no-repeat center / contain;
  transform: translateY(2px);
}
.k_result .search .link {
  float: left;
  margin: 18px 0 0 60px;
  transition: opacity .3s;
  opacity: 0;
  transform: translateY(100px);
}
.k_result.animation .search .link {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 1s, transform 1s;
}
.k_result .k_ideas {
  display: none;
  clear: both;
  margin: 0 -30px;
}
@media screen and (min-width: 1160px) {
  .k_result .k_ideas {
    margin: 0 calc(-50vw + 50%);
  }
}
.k_result .k_ideas .inner {
  width: calc(100% - 60px);
}

@media screen and (max-width: 767px) {
  .k_result {
    padding-top: 30px;
  }
  .k_result .search:not(:first-child) {
    margin-top: 45px;
  }
  .k_result .search {
    display: flex;
    flex-direction: column;
  }
  .k_result .search .button {
    float: none;
    text-align: center;
  }
  .k_result .search .button button {
    width: 100%;
    padding: 17px 20px;
    font-size: 16px;
  }
  .k_result .search .link {
    order: 1;
    float: none;
    margin: 25px 0 0;
    text-align: center;
  }
  .k_result .k_ideas .inner {
    width: calc(100% - 40px);
    padding-top: 5px;
  }
}

/*  ideas/detail
========================================================================*/

/*  keyVisual
------------------------------------------------*/

.k_h1.detail {
    padding-bottom: 20px;
}
.k_h1.detail .image img {
    height: 600px;
}
.k_h1.detail .button {
  position: absolute;
  left: 50%;
  bottom: 30px;
  width: calc(100% - 40px);
  max-width: 1080px;
  transform: translateX(-50%);
}
.k_h1.detail .button button {
  display: inline-flex;
  align-items: center;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  border: 2px solid #fff;
  border-radius: 5px;
  padding: 16px 49px !important;
  width: auto;
  height: auto;
  position: relative;
}
@media (min-width: 768px) {
  .k_h1.detail .button button:hover {
    opacity: .5;
  }
}
.k_h1.detail .button button:before,
.k_h1.detail .button button:after {
  content: '';
  display: inline-block;
  margin-right: 10px;
  width: 23px;
  height: 21px;
  background: url(../img/icon_favorite.svg) no-repeat center / contain;
  transform: translateY(-1px);
}
.k_h1.detail .button button:after {
  opacity: 0;
  position: absolute;
  background-image: url(../img/icon_favorite-on.svg?2023);
  transition: opacity .3s;
}
.k_h1.detail .button.active button:after {
  opacity: 1;
}
.k_h1.detail .button button.active:after {
  opacity: 1;
}
.k_h1.detail .button button.active:before {
  opacity: 0;
}
.k_h1.detail .button button.icon-heart {
  background: none;
  background-image: none !important;
}
.k_h1.detail .button button.icon-heart.active {
  background: none;
  background-image: none !important;
}
@media screen and (max-width: 767px) {
  .k_h1.detail {
      padding-bottom: 10px;
  }
  .k_h1.detail .image img {
      height: 300px;
  }
  .k_h1.detail .button {
    bottom: 20px;
    text-align: center;
  }
  .k_h1.detail .button button {
    padding: 11px 21px !important;
    background: rgba(0,0,0,.1);
    font-size: 15px;
    font-weight: normal;
    border-width: 1px;
    border-radius: 3px;
  }
  .k_h1.detail .button button:before,
  .k_h1.detail .button button:after {
    width: 18px;
    height: 17px;
    transform: translateY(1px);
  }
}

/*  sns
------------------------------------------------*/

.k_sns {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.k_sns .title {
  color: #3B3B40;
  font-size: 22px;
  font-weight: bold;
}
.k_sns .title span {
  display: block;
  font-size: 15px;
}
.k_sns .list {
  width: 329px;
}
.k_sns .list ul {
  display: flex;
  justify-content: space-between;
}
.k_sns .list li {
  width: 50px;
}
@media (min-width: 768px) {
  .k_sns .list a:hover {
    opacity: .5;
  }
}

@media screen and (max-width: 767px) {
  .k_sns {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #D8D8D8;
  }
  .k_sns .title {
    font-size: 15px;
  }
  .k_sns .title span {
    font-size: 10px;
  }
  .k_sns .list {
    width: calc(100% - 115px);
    max-width: 200px;
  }
  .k_sns .list li {
    width: 28px;
  }
}

/*  lead
------------------------------------------------*/

.k_detail-lead + div {
  margin-top: 120px;
}
.k_detail-lead > div {
  display: flex;
  justify-content: space-between;
}
.k_detail-lead > div:after {
  display: none;
}
.k_detail-lead .textbox {
  /* width: 715px; */
}
.k_detail-lead .share {
  width: 350px;
  border-left: 1px solid #D8D8D8;
}
.k_detail-lead .share > div {
  display: flex;
  align-items: center;
  height: 100%;
  padding-left: 20px;
}
.k_detail-lead .share > div > div {
  width: 100%;
}
.k_detail-lead h1 {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.5;
}
.k_detail-lead .k_style {
  margin-top: 10px;
}

@media print, screen and (min-width: 768px) {
  .k_detail-lead .k_sns {
    width: 100%;
    flex-direction: column;
  }
  .k_detail-lead .k_sns .title {
    width: 100%;
    text-align: center;
  }
  .k_detail-lead .k_sns .list {
    width: 100%;
    margin-top: 35px;
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .k_detail-lead {
    margin: 0 10px;
  }
  .k_detail-lead > div {
    flex-direction: column;
  }
  .k_detail-lead + div {
    margin-top: 60px;
  }
  .k_detail-lead .textbox,
  .k_detail-lead .share{
    width: 100%;
  }
  .k_detail-lead .share {
    border-left: none;
  }
  .k_detail-lead .share > div {
    padding-left: 0;
  }
  .k_detail-lead h1 {
    font-size: 18px;
  }
}

/*  list
------------------------------------------------*/

.k_detail-list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.k_detail-list li {
  width: calc(50% - 40px);
}
.k_detail-list li:nth-child(n+3) {
  margin-top: 70px;
}
.k_detail-list li img {
  width: 100%;
}
.k_detail-list li p {
  margin-top: 15px;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .k_detail-list {
    margin: 0 -20px;
  }
  .k_detail-list li {
    width: 100%;
  }
  .k_detail-list li:not(:first-child) {
    margin-top: 35px;
  }
  .k_detail-list li p {
    margin: 20px 30px 0;
    line-height: 1.7;
  }
}

/*  data
------------------------------------------------*/

.k_detail-data:not(:first-child) {
  margin-top: 120px;
}
.k_detail-data > div {
  display: flex;
}
.k_detail-data .box {
  width: 50%;
}
.k_detail-data .box:first-child > div {
  padding-right: 60px;
}
.k_detail-data .box:last-child {
  border-left: 1px solid #D8D8D8;
}
.k_detail-data .box:last-child > div {
  padding-left: 60px;
}
.k_data .title {
  font-size: 22px;
  font-weight: bold;
}
.k_data .table {
  margin-top: 16px;
}
.k_data .table table {
  width: 100%;
}
.k_data .table th,
.k_data .table td {
  vertical-align: top;
  text-align: left;
}
.k_data .table th {
  width: 90px;
  padding: 5px 8px 5px 0;
  font-weight: bold;
}
.k_data .table td {
  width: calc(100% - 90px);
  padding: 5px 0;
}
.k_data .table a {
  display: inline-block;
  padding-right: 15px;
  background: url(../img/icon_arrow-b.svg) no-repeat right center;
  font-weight: bold;
}
.k_data .table a[target=_blank],
.k_data .table a.pbOpenNewWindow {
  padding-right: 17px;
  background-image: url(../img/icon_blank-b.svg);
  background-size: 11px;
}
.k_favorite {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 40px;
}
.k_favorite .button {
  margin-right: 30px;
}
.k_favorite .button button {
  display: inline-flex;
  align-items: center;
  padding: 16px 49px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  border: 2px solid #242424;
  border-radius: 5px;
  padding: 16px 49px !important;
  width: auto;
  height: auto;
  position: relative;
}
.k_favorite .button button.icon-heart {
  background: none;
  background-image: none !important;
}
.k_favorite .button button.icon-heart.active {
  background: none;
  background-image: none !important;
}
@media (min-width: 768px) {
  .k_favorite .button button:hover {
    opacity: .5;
  }
}
.k_favorite .button button:before,
.k_favorite .button button:after {
  content: '';
  display: inline-block;
  margin-right: 10px;
  width: 24px;
  height: 22px;
  background: url(../img/icon_favoriteB.svg) no-repeat center / contain;
  transform: translateY(-1px);
}
.k_favorite .button button:after {
  opacity: 0;
  position: absolute;
  background-image: url(../img/icon_favorite-on.svg?2023);
  transition: opacity .3s;
}
.k_favorite .button.active button:after {
  opacity: 1;
}
.k_favorite .button button.active:after {
  opacity: 1;
}
.k_favorite .button button.active:before {
  opacity: 0;
}
.k_favorite .link:not(:first-child) {
  margin: 0;
}
.k_favorite .title {
  width: 100%;
  margin: 35px 0 15px;
  font-size: 22px;
  font-weight: bold;
}
.k_favorite .tag {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .k_detail-data:not(:first-child) {
    margin: 60px 10px 0;
  }
  .k_detail-data > div {
    flex-direction: column;
  }
  .k_detail-data .box {
    width: 100%;
  }
  .k_detail-data .box:first-child > div {
    padding-right: 0;
  }
  .k_detail-data .box:last-child {
    border-left: none;
  }
  .k_detail-data .box:last-child > div {
    padding-left: 0;
  }
  .k_data .title {
    font-size: 18px;
  }
  .k_data .table {
    margin-top: 10px;
  }
  .k_favorite {
    flex-direction: column;
  }
  .k_favorite .button {
    margin-right: 0;
  }
  .k_favorite .button button {
    padding: 11px 21px !important;
    font-size: 15px;
    font-weight: normal;
    border-width: 1px;
    border-radius: 3px;
  }
  .k_favorite .button button:before,
  .k_favorite .button button:after {
    width: 18px;
    height: 17px;
    transform: translateY(1px);
  }
  .k_favorite .link:not(:first-child) {
    margin: 15px 0 0;
  }
  .k_favorite .link {
    text-align: center;
  }
  .k_favorite .title {
    font-size: 18px;
  }
}

/*  products/steel2/lineup/hiraya
========================================================================*/

.hiraya-slider .slick-dots {
  position: static;
}
.hiraya-slider .slick-dots li {
  width: auto;
  height: auto;
}
.modal-close {
  line-height: 1;
}

.icon-heart .icon-heart-is-active {
  display: none;
}
.icon-heart .icon-heart-is-not-active {
  display: block;
}

.icon-heart.active .icon-heart-is-active {
  display: block;
}
.icon-heart.active .icon-heart-is-not-active {
  display: none;
}

/*  kodate
========================================================================*/

.top-h2 {
  font-size: 2.5rem;
  text-align: center;
  font-weight: 700;
  letter-spacing: 6px;
}
.top-h2 span {
  display: inline-block;
  padding-bottom: 12px;
  font-size: 1.125rem;
  font-weight: 700;
  border-bottom: 2px solid #242424;
  letter-spacing: 2px;
  margin-bottom: 30px;
}
.top-story .top-h2 span {
  border-bottom: 2px solid #fff;
}

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

  .top-h2 {
    letter-spacing: 2px;
    font-size: 1.25rem;
  }
  .top-h2 span {
    font-size: 0.75rem;
    padding-bottom: 6px;
    border-bottom: 1px solid #242424;
    margin-bottom: 20px;
  }
}

/*  main-message
------------------------------------------------*/

.main-message div {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    font-size: 28px;
    line-height: 70px;
    text-align: center;
    color: #83838C;
    letter-spacing: 3px;
    white-space: nowrap;
    font-weight: 700
}

@media screen and (max-width: 768px) {
  .main-message div {
      line-height: 48px;
      font-size: 18px;
      letter-spacing: 2px;
      font-family: "游ゴシック体 Std", YuGothicStd, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  }
}

/*  top-flow
------------------------------------------------*/

.top-flow {
  padding: 120px 0;
  background: #F4F4F4;
}
.top-flow .inner {
  width: calc(100% - 60px);
  max-width: 1160px;
  margin: 0 auto;
}
.top-flow .imagebox {
  display: flex;
  justify-content: space-between;
}
.top-flow .imagebox .image {
  width: 460px;
  text-align: right;
}
.top-flow .imagebox .box {
  width: 600px;
}
.top-flow .imagebox .box .top-h2 {
  text-align: left;
}
.top-flow .text {
  font-size: 1.125rem;
  margin-top: 32px;
  line-height: 36px;
  font-weight: 400;
}
.top-flow .flow-btn {
  border: 2px solid #242424;
  color: #242424;
  margin: 50px 0 0;
}

@media screen and (max-width: 768px) {
  .top-flow {
    padding: 40px 0;
    background: #F4F4F4;
  }
  .top-flow .imagebox {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .top-flow .imagebox .image {
    order: 3;
    margin-top: 30px;
    width: 174px;
  }
  .top-flow .imagebox .box {
    width: 600px;
    display: contents;
  }
  .top-flow .imagebox .box .top-h2 {
    text-align: center;
  }
  .top-flow .text {
    font-size: 1rem;
    margin-top: 32px;
    line-height: 1.8;
    font-weight: 400;
    order: 4;
  }
  .top-flow .flow-btn {
    margin: 30px auto 0;
    order: 5;
  }
}

/*  top-example
------------------------------------------------*/

.top-example {
    margin: 120px 0 90px;
}

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

  .top-example {
      margin: 40px 0;
  }
  .top-example__inner__flex__item:nth-child(n+5) {
      display: none;
  }
}

/*  top-know
------------------------------------------------*/

.top-know {
  padding: 120px 0;
}
.top-know .top-know_inner {
  width: calc(100% - 40px);
  max-width: 1160px;
  margin: 0 auto;
}
.top-know .top-know_titlebox {
  text-align: center;
}
.top-know .top-know_slider .slider {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 30px;
}
.top-know .top-know_slider .slider .item {
  width: calc(25% - 10px);
}
.top-know .top-know_slider .k_link {
  margin-top: 20px;
  font-size: 16px;
}
.top-know .top-know_slider .text {
  margin-top: 10px;
  font-size: 14px;
  letter-spacing: 0;
}
.top-know .top-know_slider .note {
  margin-top: 10px;
  font-size: 10px;
  color: #c4c4c4;
}

@media screen and (max-width: 768px) {
  .top-know {
    padding: 40px 0;
  }
  .top-know .top-know_slider .slider .item {
    width: calc(50% - 4px);
  }
  .top-know .top-know_slider .slider .item:nth-child(n+3) {
      margin-top: 20px
  }
  .top-know .top-know_slider .slider .item .k_link {
    margin-top: 15px;
    font-size: 13px;
  }
  .top-know .top-know_slider .text {
    font-size: 15px;
    line-height: 1.6;
  }
  .top-know .top-know_slider .note {
    font-size: 12px;
    line-height: 1.5;
  }
}

/*  top-idea
------------------------------------------------*/

.top-idea {
  padding: 120px 0;
  background: #F4F4F4;
}
.top-idea.white {
  background: #fff;
}
.top-idea .top-idea_inner {
  width: calc(100% - 40px);
  max-width: 1160px;
  margin: 0 auto;
}
.top-idea .top-idea_titlebox {
  text-align: center;
}
.top-idea .top-idea_slider .slider {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 30px;
}
.top-idea .top-idea_slider .slider .item {
  width: calc(100%/3 - 10px);
}
.top-idea .top-idea_slider .slider .item:nth-child(n+4) {
  margin-top: 35px
}
.top-idea .top-idea_slider .k_link {
  margin-top: 20px;
  font-size: 16px;
}
.top-idea .top-idea_slider .text {
  margin-top: 10px;
  font-size: 14px;
}

@media screen and (max-width: 768px) {
  .top-idea {
    padding: 40px 0;
    background: #F4F4F4;
  }
  .top-idea .top-idea_slider .slider .item {
    width: calc(50% - 4px);
  }
  .top-idea .top-idea_slider .slider .item:nth-child(n+3) {
    margin-top: 20px
  }
  .top-idea .top-idea_slider .slider .item .k_link {
    margin-top: 15px;
    font-size: 13px;
  }
  .top-idea .top-idea_slider .text {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0.026em;
  }
}











.regular-btn.flow-btn {
    border: 2px solid #242424;
    color: #242424;
    margin: 13px 20px;
}

.regular-btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 70px auto 0;
  border: 2px solid #ffffff;
  border-radius: 5px;
  color: #ffffff;
  -webkit-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  transition: opacity 0.3s;
    padding: 10px 0px;
}
@media screen and (max-width: 768px) {
  .regular-btn {
    border: 1px solid #ffffff;
    margin: 60px auto 0;
    border-radius: 3px;
  }
}
.regular-btn__text {
  display: inline-block;
  font-size: 1rem;
  margin-right: 8px;
}
@media screen and (max-width: 768px) {
  .regular-btn__text {
    font-size: 0.875rem;
    margin-right: 6px;
  }
}
.regular-btn img {
  display: block;
  width: 8px;
  height: 13px;
}
@media screen and (max-width: 768px) {
  .regular-btn img {
    width: 7px;
    height: 10px;
  }
}
.regular-btn:hover {
  opacity: 0.5;
}

/*  k_modelhouse
========================================================================*/

/*  k_modelhouse-section
------------------------------------------------*/

.k_modelhouse-section > div {
  width: calc(100% - 40px);
  max-width: 1160px;
  margin: 0 auto;
  padding: 45px 0 115px;
}
.k_modelhouse-section > div > div:first-child {
  margin-top: 0;
}

@media (max-width: 767px) {
  .k_modelhouse-section > div {
    padding: 40px 0;
  }
}

/*  modelhouse-slider
------------------------------------------------*/

.k_modelhouse .modelhouse-slider {
  opacity: 0;
  margin: 0 -12.5px;
}
.k_modelhouse .modelhouse-slider.slick-initialized {
  opacity: 1;
}
.k_modelhouse .modelhouse-slider .box {
  margin: 0 12.5px;
}
.k_modelhouse .modelhouse-link:hover p,
.k_modelhouse .modelhouse-link:hover dl{
  opacity: .6;
}
.k_modelhouse .box .image {
  position: relative;
  border-radius: 5px;
  overflow:hidden;
}
.k_modelhouse .box .image:before {
  content: '';
  display: block;
  padding-top: 64.865%;
}
.k_modelhouse .box .image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all .2s;
}
@media (min-width: 768px) {
  .k_modelhouse .box a:hover .image img {
      opacity: .6;
  }
}
.k_modelhouse .modelhouse-slider .slick-list {
  overflow: visible;
}
.k_modelhouse .b-a-wrapper {
  width: 100%;
}
.k_modelhouse .box .title {
  margin-top: 10px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.7;
}
.k_modelhouse .box .address {
  margin-top: 3px;
  margin-left: 24px;
  font-size: 15px;
  position: relative;
}
.k_modelhouse .box .address:before {
  content: "";
  display: inline-block;
  background: url(/kodate/assets/img/icon_address.png) no-repeat center / contain;
  width: 15px;
  height: 22px;
  top: 8px;
  left: -24px;
  position: absolute;
}
.k_modelhouse .box .list {
  margin-top: 5px;
  font-size: 12px;
  letter-spacing: 0;
  line-height: 1.5;
  display: inline-block;
}
.k_modelhouse .box .list dt:not(:first-child),
.k_modelhouse .box .list dd:not(:nth-child(2)) {
  margin-top: 6px;
}
.k_modelhouse .box .list dt {
  font-weight: bold;
  float: left;
  margin-right: 14px;
  width: 4.2em;
}
.k_modelhouse .box .list dd {
  float: left;
  width: calc(100% - (4.2em + 14px));
}
.k_modelhouse .slick-dotted.slick-slider {
  margin-bottom: 0;
  padding-bottom: 60px;
}
.k_modelhouse .slick-arrow {
  left: 50%;
  transform: translateX(-140px);
  top: auto;
  bottom: 0;
  width: 24px;
  height: 24px;
}
.k_modelhouse .slick-arrow.slick-next {
  transform: translateX(116px) scale(-1, 1);
}
.k_modelhouse .slick-arrow:before,
.k_modelhouse .slick-arrow:after {
  content: '';
  position: absolute;
  top: 3px;
  left: 12px;
  width: 2px;
  height: 12px;
  background: #3b3b41;
  transform: rotate(50deg);
}
.k_modelhouse .slick-arrow.slick-disabled:before,
.k_modelhouse .slick-arrow.slick-disabled:after {
  background: #ccc;
  opacity: 1;
}
.k_modelhouse .slick-arrow:after {
  top: 10px;
  transform: rotate(-50deg);
}
.k_modelhouse .slick-dots {
  position: absolute;
  left: 50%;
  bottom: 11px;
  transform: translateX(-50%);
  display: flex;
  justify-content: space-between;
  width: 190px;
  height: 1px;
  background: rgba(109, 109, 120, .3);
}
.k_modelhouse .slick-dots li {
  width: 7px;
  height: 7px;
  margin: -3px 0 0;
}
.k_modelhouse .slick-dots li button {
  width: 100%;
  height: 100%;
  padding: 0;
  border-radius: 50%;
}
.k_modelhouse .slick-dots li.slick-active button {
  background: #333;
}
.k_modelhouse .slick-dots li button:before {
  display: none;
}

@media (max-width: 767px) {
  .k_modelhouse .modelhouse-slider  {
    margin: 0 -5px;
  }
  .k_modelhouse .modelhouse-slider .box {
    margin: 0 5px;
  }
  .k_modelhouse .image-box {
    position: relative;
  }
  .k_modelhouse .image-box .title {
    position: absolute;
    bottom: 0;
    color: #fff;
    background: rgba(0,0,0,0.2);
    padding: 5px 12px;
    font-size: 15px;
    margin-top: 0;
    right: 0;
    left: 0;
  }
  .k_modelhouse .box .image:before {
    padding-top: 58.81%;
  }
  .k_modelhouse .box .address:before {
    width: 13px;
    height: 19px;
    left: -22px;
  }
  .k_modelhouse .box .address {
    margin-left: 22px;
    line-height: 1.6;
    margin-top: 6px;
  }
  .k_modelhouse .box .list {
    line-height: 1.6;
  }
  .k_modelhouse .slick-dotted.slick-slider {
    margin-bottom: 0;
    padding-bottom: 41px;
  }
}

/*  k_modelhouse-h2
------------------------------------------------*/

.k_modelhouse-h2 {
  font-size: 24px;
  font-weight: bold;
  margin-top: 110px;
}
.k_modelhouse-h2 + div {
  margin-top: 25px;
}

@media (max-width: 767px) {
  .k_modelhouse-h2 {
    font-size: 16px;
    margin-top: 50px;
    line-height: 1.6em;
  }
  .k_modelhouse-h2 + div {
    margin-top: 20px;
  }
}

/*  k_prefecture-list
========================================================================*/

.k_prefecture-section {
  background: #F4F4F4;
}
.k_prefecture-section > div {
  width: calc(100% - 10px);
  max-width: 1160px;
  margin: 0 auto;
  padding: 50px 0;
}

@media (max-width: 767px) {
  .k_prefecture-section > div {
    padding: 25px 0 30px;
  }
  .k_prefecture-section .k_prefecture-h2 {
      margin: 0 20px;
  }
}

.k_prefecture-h2:not(.lead) + div:not(:first-child) {
  margin-top: 15px;
}
.k_prefecture-h2 h2 {
  font-size: 24px;
  font-weight: bold;
  letter-spacing: .59px;
  line-height: 1.6;
}

@media (max-width: 767px) {
  .k_prefecture-h2 h2 {
    font-size: 18px;
    letter-spacing: .48px;
  }
}

ul.k_prefecture-list {
  padding: 37px 60px 50px;
  background: #fff;
}
.k_prefecture-list .box:not(:first-child) {
  margin-top: 20px;
}
.k_prefecture-list .box {
  display: flex;
}
.k_prefecture-list .title {
  font-size: 20px;
  font-weight: bold;
  width: 150px;
  position: relative;
}
.k_prefecture-list .title:after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 24px;
  right: 0;
  top: 5px;
  position: absolute;
  background: #ccc;
}
.k_prefecture-list .item {
  display: flex;
  font-weight: bold;
  position: relative;
  margin-left: 25px;
  flex-wrap: wrap;
  width: calc(100% - 150px);
}
.k_prefecture-list .item-button button {
  border: none;
  font-size: 18px;
  position: relative;
  padding-right: 17px;
  font-weight: bold;
  padding-bottom: 5px;
}
.k_prefecture-list .item-button button.active:before {
  content: '';
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 5px;
  background: #3C3B41;
  transition: 0.6s;
}
.k_prefecture-list .item-button button:after {
  background: url(../img/icon_prefecture_arrow.svg) no-repeat center / contain;
  content: '';
  position: absolute;
  top: calc(50% - 2px);
  right: 0;
  transform: translateY(-50%);
  width: 8px;
  height: 11px;
  transition: 0.2s;
}
.k_prefecture-list .item-button button.active:after {
  transform: translateY(-50%) rotate(90deg);
}
.k_prefecture-list .item-button button.none {
  padding-right: 0;
  color: #a3a3a3;
  cursor: default;
}
.k_prefecture-list .item-button button.none:after {
  content: none;
}
.k_prefecture-list .sp-item-inner > ul {
  display: flex;
  flex-wrap: wrap;
}
.k_prefecture-list .sp-item-inner .item-button {
  margin-right: 21px;
  transition: 0.6s;
  flex-wrap: wrap;
}
.k_prefecture-list .link-unit {
  position: absolute;
  flex-wrap: wrap;
  display: none;
  width: 866px;
  left: 0;
  border-top: 2px solid #333;
  padding: 5px 0 10px;
  background: #fff;
}
.k_prefecture-list .link-unit li {
  float: left;
  width: calc(25% - 23px);
  margin-top: 6px;
  line-height: 1.5em;
}
.k_prefecture-list .link-unit li:not(:nth-child(4n)) {
  margin-right: 30px;
}
.k_prefecture-list .link-unit a[target=_blank] {
  display: inline-block;
  background: url(../img/icon_blank-b.svg) no-repeat right center transparent;
  padding-right: 15px;
  background-size: 11px;
}
.k_prefecture-list .clear {
  clear: both;
}

@media screen and (max-width: 767px) {
  ul.k_prefecture-list {
    padding: 21px 25px;
  }
  .k_prefecture-list .box {
    display: block;
    overflow: hidden;
  }
  .k_prefecture-list .box:not(:first-child) {
    margin-top: 8px;
  }
  .k_prefecture-list .title {
    display: inline-block;
    margin-bottom: 6px;
    width: auto;
  }
  .k_prefecture-list .item {
    display: none;
    margin-left:0;
    margin-bottom: 6px;
    width: 100%;
  }
  .k_prefecture-list .item:before {
    content: '';
    position: absolute;
    height: 1px;
    width: calc(100vw - 60px);
    background: #D8D8D8;
    top: 0;
  }
  .k_prefecture-list .sp-item-inner > ul {
    gap: 0 10px;
    display: flex;
    padding: 6px 0 0;
  }
  .k_prefecture-list .sp-item-inner .item-button {
    margin-right: 0;
    line-height: 1.9;
    width: calc((25%) - 10px + (10px / 4));
    white-space: nowrap;
  }
  .k_prefecture-list .item-button button {
    font-size: 15px;
  }
  .k_prefecture-list .item-button.item-button_sp-ml button {
    margin-left: -5px;
  }

  .k_prefecture-list .title:after {
    background: url(../img/icon_prefecture_arrow.svg) no-repeat center / contain;
    content: '';
    position: absolute;
    top: 50%;
    right: -18px;
    transform: translateY(-50%);
    width: 8px;
    height: 11px;
    transition: 0.2s;
  }
  .k_prefecture-list .title.active:after {
    transform: translateY(-50%) rotate(90deg);
  }
  .k_prefecture-list .link-unit {
    overflow: hidden;
    display: none;
    border-top: 2px solid #333;
    padding: 4px 0 20px;
    position: inherit;
    width: calc(100vw - 60px);
    font-size: 12px;
  }
  .k_prefecture-list .link-unit li:nth-child(2n) {
    margin-right: 0;
  }
  .k_prefecture-list .link-unit.sp-col-3 li {
    width: calc(100%/3 - 13px);
    white-space: normal;
    line-height: 1.4em;
    margin-top: 8px;
    margin-right: 19px;
  }
  .k_prefecture-list .link-unit.sp-col-3 li:nth-child(3n) {
    margin-right: 0;
  }
  .k_prefecture-list .link-unit.sp-col-2 li:nth-child(2n) {
    width: calc(50% - 20px);
    margin-right: 0;
  }
  .k_prefecture-list .item-button:nth-child(4n+2) .link-unit {
    margin-left: calc(((100vw - 60px) / 4) * -1);
    transform: translateX(-3px); 
  }
  .k_prefecture-list .item-button:nth-child(4n+3) .link-unit {
    margin-left: calc(((100vw - 60px) / 4) * -2);
    transform: translateX(-5px);
  }
  .k_prefecture-list .item-button:nth-child(4n+4) .link-unit {
    margin-left: calc(((100vw - 60px) / 4) * -3);
    transform: translateX(-7px);
  }
  .k_prefecture-list .link-unit li {
    width: calc(50% - 18px);
    white-space: normal;
  }
  .k_prefecture-list .item-button button:after {
    width: 7px;
    height: 9px;
  }
}

/*  contact
========================================================================*/

.k_section.contact > div {
  padding: 58px 0 30px;
}
.k_contact:not(:first-child) {
  margin-top: 56px;
}
.k_contact > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.k_contact .box,
.k_contact .box-inner {
  position: relative;
}
.k_contact .k_image > div {
  position: relative;
  overflow: hidden!important;
}
.k_contact .k_image img {
  width: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.k_contact .k_link + div.k_style {
  margin-top: 5px;
}

@media print, screen and (min-width: 768px) {
  .k_contact > div:after {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .k_contact {
    font-family:
      "Hiragino Kaku Gothic ProN",
      "Hiragino Sans",
      Meiryo,
      sans-serif;
  }
  .k_section.contact > div {
    padding: 6px 0 30px;
  }
  .k_section .k_contact:last-child {
    margin-bottom: 0px;
  }
  .k_contact:not(:first-child) {
    margin-top: 32px;
  }
  .k_contact .textbox {
    margin: 0 10px;
  }
  .k_contact .box.vertical > div {
    display: flex;
    flex-direction: column;
  }
  .k_contact .k_link + div.k_style {
    margin-top: 8px;
  }
}

/*  col-2
------------------------------------------------*/

.k_contact.col-2 .box .k_h2 {
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .k_contact.col-2 > div:after {
    display: none;
  }
  .k_contact.col-2 .box {
    width: 48.707%;
  }
  .k_contact.col-2 .box:nth-child(n+3) {
    margin-top: 60px;
  }
}

@media screen and (max-width: 767px) {
  .k_contact.col-2 .box:not(:first-child) {
    margin-top: 40px;
  }
  .k_contact.col-2 .box {
    width: 100%;
  }
  .k_contact.col-2 .textbox > div:after {
    display:none;
  }
  .k_contact.col-2 .box .k_h2 {
  }
}

.k_contact .box > div,
.k_contact .box-inner > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.k_contact .box > div:after,
.k_contact .box-inner > div:after {
  display: none;
}
.k_contact .k_image > div:before {
  display: none;
}
.k_contact .k_image > div > div,
.k_contact .k_image a,
.k_contact .k_image img {
  position: static!important;
}

@media screen and (max-width: 767px) {
  .k_contact .box > div,
  .k_contact .box-inner > div {
    flex-wrap: nowrap;
  }
}
.k_contact .textbox {
  width: calc(100% - 170px);
  margin-top: 0;
}
.k_contact .k_image {
  width: 150px;
}

@media screen and (max-width: 767px) {
  .k_contact .k_image {
    width: 85px;
  }
  .k_contact .textbox {
    width: calc(100% - 115px);
    margin-top: 0;
  }
}

/*  col-2  */

.k_contact.col-2 .box:nth-child(n+3) {
  margin-top: 47px;
}
.k_contact.col-2 .textbox {
  width: calc(100% - 170px);
  margin-top: 0;
}
.k_contact.col-2 .k_image {
  width: 150px;
}

@media screen and (max-width: 767px) {
  .k_contact.col-2 .box:not(:first-child) {
    margin-top: 30px;
  }
  .k_contact.col-2 .k_image {
    width: 85px;
  }
  .k_contact.col-2 .textbox {
    width: calc(100% - 100px);
    margin: 0;
  }
}

/*  vertical
------------------------------------------------*/

.k_contact.vertical:not(:first-child) {
  margin-top: 115px;
}

@media screen and (max-width: 767px) {
  .k_contact.vertical:not(:first-child) {
    margin-top: 55px;
  }
  .k_contact.vertical .box:not(:first-child) {
    margin-top: 55px;
  }
  .k_contact.vertical .box > div {
    display: flex;
    flex-direction: column;
  }
}

/*  contact_h1
------------------------------------------------*/
@media screen and (max-width: 767px) {
  .k_h1.contact {
    font-family: "Hiragino Kaku Gothic ProN",
      "Hiragino Sans",
      Meiryo,
      sans-serif;
  }
  .k_h1.contact .title {
    letter-spacing: 0.1em;
  }
}

/*  contact_h2
------------------------------------------------*/

.k_contact_h2:not(:first-child) {
  margin-top: 115px;
}
.k_contact_h2 {
  width: calc(100% - 20px);
  margin: 0 auto;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  letter-spacing: .6px;
}
.k_contact .k_contact_h2 {
  margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
  .k_contact_h2:not(:first-child) {
    margin-top: 52px;
  }
  .k_contact_h2:first-child {
    border-bottom: 1px solid #D8D8D8;
    padding-bottom: 30px;
  }
  .k_contact_h2 {
    font-family: "Hiragino Kaku Gothic ProN",
      "Hiragino Sans",
      Meiryo,
      sans-serif;
  }
  .k_contact .k_contact_h2 {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 30px;
  }
  .k_contact_h2 {
    font-size: 18px;
    text-align: left;
    letter-spacing: 0.026em;
  }
}

/*  contact_link
------------------------------------------------*/

.k_contact_link:not(:first-child) {
  margin-top: 20px;
}
.k_contact_link + div.k_style {
  margin-top: 7px;
}
.k_contact_link {
  font-weight: bold;
  letter-spacing: .9px;
}
.pbPage .k_contact_link a {
  display: inline-block;
  background: url(../img/icon_arrow-b.svg) no-repeat right center transparent;
  padding-right: 23px;
  background-size: 9px;
  font-size: 18px;
}
.k_contact_link a[target=_blank],
.k_contact_link a.pbOpenNewWindow {
  background-image: url(../img/icon_blank-b.svg);
  background-size: 13px;
}
@media (min-width: 768px) {
  .k_contact_link a:hover {
    opacity: .6;
  }
}
.k_contact_link ul {
  display: flex;
  flex-wrap: wrap;
  margin: -3px -20px;
}
.k_contact_link li {
  margin: 3px 20px;
  position: relative;
}
.k_contact_link li:not(:last-child):after {
  content:"";
  width: 1px;
  height: 20px;
  background: #ccc;
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
  right: -20px;
}
@media screen and (max-width: 767px) {
  .pbPage .k_contact_link a {
    font-size: 14px;
    background-size: 6px;
    padding-right: 15px;
  }
  .k_contact_link a[target=_blank], .k_contact_link a.pbOpenNewWindow {
    background-size: 10px;
  }
  .k_contact_link li:not(:last-child):after {
    content: none;
  }
}
.pbPage .k_contact .box.link .textbox,
.pbPage .k_contact .box-inner.link .textbox {
  transition: all .3s;
}
@media (min-width: 768px) {
  .pbPage .k_contact:not(.vertical) .box.link:hover .k_image img,
  .pbPage .k_contact .box-inner.link:hover .k_image img {
    transform: scale(1.08);
  }
  .pbPage .k_contact .box.link:hover .textbox,
  .pbPage .k_contact .box-inner.link:hover .textbox {
    opacity: .5;
  }
  .pbPage .k_contact:not(.vertical) .box.link:hover .k_style {
     cursor: pointer;
  }
  .pbPage .k_contact:not(.vertical)  .box.link .k_link a:before,
  .pbPage .k_contact .box-inner.link .k_link a:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
  }
}
.pbPage .k_contact:not(.vertical) .box.link .k_link a,
.pbPage .k_contact .box-inner.link .k_link a {
  opacity: 1;
}

/*  m_contact
------------------------------------------------*/

.k_h-global .inner li.m-contact {
  position: relative;
  display: flex;
  flex-direction: column;
  border-bottom: none;
  padding: 18px 24px;
}
.k_h-global .inner li.m-contact a {
  display: flex;
  flex-direction: column;
  background: #fff;
  padding: 14px 10px 10px 10px;
  text-align: center;
  border-radius: 5px;
  font-weight: normal;
  font-size: 12px;
  line-height: 1.3em;
  border: 1px solid #D8D8D8;
}
.k_h-global .inner li.m-contact a:after {
  content: none;
}
.k_h-global .inner li.m-contact a img {
  width: 24px;
  display: block;
  text-align: center;
  margin-bottom: 6px;
}
@media (min-width: 768px) {
  .k_h-global .inner li.m-contact a:hover {
    opacity: .5;
  }
}
@media screen and (max-width: 767px) {
  .k_h-global .inner li.m-contact {
    padding: 16px;
  }
}

/*  header sp-font
------------------------------------------------*/

@media screen and (max-width: 767px) {
  .k_h-header.sp-font,
  .k_h-global.sp-font button,
  .k_h-global.sp-font a {
    font-family: "Hiragino Kaku Gothic ProN",
      "Hiragino Sans",
      Meiryo,
      sans-serif;
  }
}

/*  footer sp-font
------------------------------------------------*/

@media screen and (max-width: 767px) {
  .k_f-link.sp-font {
    font-family: "Hiragino Kaku Gothic ProN",
      "Hiragino Sans",
      Meiryo,
      sans-serif;
  }
}