@charset "UTF-8";
_::-webkit-full-page-media,
_:future,
:root * {
  image-rendering: auto !important;
}

/* コンポーネント変数 */
:root {
/*--cp-max-width: 1440px; /* コンテンツ幅 */
  --cp-max-width: 1300px; /* コンテンツ幅(KELK専用） */
  --cp-blue :   #140a9a; /* komatsu blue */
  --cp-yellow : #ffc82f;
  --cp-link:    #3366cc; /* テキストリンクカラー */
  --cp-white :  #ffffff;
  --cp-black:   #1b232a;
  --cp-charcoal-gray : #4c5459;
  --cp-gray:    #a5abaf;
  --cp-light-gray: #d1d4d3;
  --cp-mercury-gray: #e4e6e6; /* フッター背景色 */
  --cp-gp-gray: #f6f6f6; /* コンポーネント背景色 */
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
textarea,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-size: 100%;
}

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  overflow-y: scroll;
  font-size: 62.5%;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

b,
strong {
  font-weight: bold;
}

nav,
ol,
ul {
  list-style: none;
}

.clearfix:after {
  display: block;
  clear: both;
  content: "";
}

body {
  color: #000000;
  font-family: "Noto Sans Japanese", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Myriad Pro, Myriad, Arial, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  body {
    font-size: 150% !important;
  }
}

#header img,
#footer img,
.cp_base img {
  width: 100%;
  border: 0;
  vertical-align: top;
}

#header a,
#footer a,
.cp_base a {
  color: #000000;
  text-decoration: none;
  -webkit-transition: color 0.1s linear;
  transition: color 0.1s linear;
}

#header a:hover,
#footer a:hover,
.cp_base a:hover {
  color: #3366cc;
  text-decoration: none;
}

#header a[href*=".pdf"],
#footer a[href*=".pdf"],
.cp_base a[href*=".pdf"] {
  position: relative;
}

#header a[href*=".pdf"]::after,
#footer a[href*=".pdf"]::after,
.cp_base a[href*=".pdf"]::after {
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-top: -4px;
  margin-left: 3px;
  background: url(../images/ico_pdf.png) no-repeat;
  background-size: cover;
  vertical-align: middle;
  content: " ";
}

@media screen and (max-width: 767px) {
  #header a[href*=".pdf"]::after,
  #footer a[href*=".pdf"]::after,
  .cp_base a[href*=".pdf"]::after {
    width: 20px;
    height: 20px;
    margin-top: -2px;
  }
}

#header *:focus,
#footer *:focus,
.cp_base *:focus {
  outline: none;
}

@media screen and (max-width: 767px) {
  #header.pg_title_sp,
  #footer.pg_title_sp,
  .cp_base.pg_title_sp {
    padding-top: 20px;
  }
}

.cp_base img {
  max-width: 100%;
}

.pc_only {
  display: block !important;
}

@media screen and (max-width: 767px) {
  .pc_only {
    display: none !important;
  }
}

.sp_only {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .sp_only {
    display: block !important;
  }
}

@media screen and (min-width: 768px), print {
  .pc_textCenter {
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .pc_textCenter br {
    display: none;
  }
}

.sc_mode_on {
  display: none !important;
}

.cm_GlobalNav.sc_mode_prv {
    position: relative!important;
}

.cp_SocialMedia.sc_mode_prv {
    margin-top: 0!important;
}

.wrap {
  width: 100%;
  max-width: 1440px; /* kelk */
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .wrap_body {
    z-index: 100;
    position: fixed;
    width: 100vw;
  }
}

@media screen and (max-width: 767px) {
  .head_body {
    z-index: 100;
    position: fixed;
    width: 100vw;
  }
}

.inner {
  width: 100%;
  max-width: 1340px;
  margin: 0 auto;
}

@media screen and (min-width: 768px) and (max-width: 1380px) {
  .inner {
    padding: 0 20px !important;
  }
}

@media screen and (max-width: 767px) {
  .inner {
    padding: 0 10px !important;
  }
}

.inner::after {
  display: block;
  visibility: hidden;
  height: 0.1px;
  clear: both;
  font-size: 0.1em;
  line-height: 0;
  content: ".";
}

.clearfix::after {
  display: block;
  visibility: hidden;
  height: 0.1px;
  clear: both;
  font-size: 0.1em;
  line-height: 0;
  content: ".";
}

.text_left {
  text-align: left;
}

.text_right {
  text-align: right;
}

.center {
  text-align: center;
}

.text_bold {
  font-weight: bold !important;
}

.text_normal {
  font-weight: normal !important;
}

.mt_0 {
  margin-top: 0px !important;
}

.mt_10 {
  margin-top: 10px !important;
}

.mt_20 {
  margin-top: 20px !important;
}

.mt_30 {
  margin-top: 30px !important;
}

@media screen and (max-width: 767px) {
  .mt_30 {
    margin-top: 15px !important;
  }
}

.mt_35 {
  margin-top: 35px !important;
}

@media screen and (max-width: 767px) {
  .mt_35 {
    margin-top: 20px !important;
  }
}

.mt_40 {
  margin-top: 40px !important;
}

@media screen and (max-width: 767px) {
  .mt_40 {
    margin-top: 20px !important;
  }
}

.mb_0 {
  margin-bottom: 0px !important;
}

.mb_10 {
  margin-bottom: 10px !important;
}

.mb_20 {
  margin-bottom: 20px !important;
}

.mb_30 {
  margin-bottom: 30px !important;
}

@media screen and (max-width: 767px) {
  .mb_30 {
    margin-bottom: 15px !important;
  }
}

.mb_40 {
  margin-bottom: 40px !important;
}

@media screen and (max-width: 767px) {
  .mb_40 {
    margin-bottom: 20px !important;
  }
}

.mb_50 {
  margin-bottom: 50px !important;
}

@media screen and (max-width: 767px) {
  .mb_50 {
    margin-bottom: 25px !important;
  }
}

.mb_60 {
  margin-bottom: 60px !important;
}

@media screen and (max-width: 767px) {
  .mb_60 {
    margin-bottom: 30px !important;
  }
}

.mb_70 {
  margin-bottom: 70px !important;
}

@media screen and (max-width: 767px) {
  .mb_70 {
    margin-bottom: 30px !important;
  }
}

.pt_0 {
  padding-top: 0px !important;
}

.pt_10 {
  padding-top: 10px !important;
}

.pt_20 {
  padding-top: 20px !important;
}

@media screen and (max-width: 767px) {
  .pt_20 {
    padding-top: 10px !important;
  }
}

.pt_30 {
  padding-top: 30px !important;
}

@media screen and (max-width: 767px) {
  .pt_30 {
    padding-top: 15px !important;
  }
}

.pt_40 {
  padding-top: 40px !important;
}

@media screen and (max-width: 767px) {
  .pt_40 {
    padding-top: 20px !important;
  }
}

.pb_0 {
  padding-bottom: 0px !important;
}

.pb_10 {
  padding-bottom: 10px !important;
}

.pb_20 {
  padding-bottom: 20px !important;
}

@media screen and (max-width: 767px) {
  .pb_20 {
    padding-bottom: 10px !important;
  }
}

.pb_30 {
  padding-bottom: 30px !important;
}

@media screen and (max-width: 767px) {
  .pb_30 {
    padding-bottom: 15px !important;
  }
}

.pb_40 {
  padding-bottom: 40px !important;
}

@media screen and (max-width: 767px) {
  .pb_40 {
    padding-bottom: 20px !important;
  }
}

#content {
  position: relative;
}

#content section {
  margin-bottom: 60px;
  padding-bottom: 60px;
  border-bottom: 1px #ffc82f solid;
}

@media screen and (max-width: 767px) {
  #content section {
    margin-bottom: 60px;
    padding-bottom: 60px;
  }
}

#content .section_line_none {
  padding-bottom: 0px;
  border-bottom: none;
}

@-webkit-keyframes a_nav {
  0% {
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(-15px);
            transform: translateY(-15px);
    opacity: 1;
  }
}

@keyframes a_nav {
  0% {
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(-15px);
            transform: translateY(-15px);
    opacity: 1;
  }
}

body.spMenuOpen {
  z-index: 100;
  position: fixed;
  width: 100vw;
}

.cm_GlobalNav {
  z-index: 99;
  position: fixed;
  top: 0;
  width: 100%;
  border-bottom: 1px solid #140a9a;
  background-color: rgba(255, 255, 255, 1);
}

@media screen and (min-width: 1024px) {
  .cm_GlobalNav {
    height: 100px;
  }
}

@media not screen and (min-width: 1024px) {
  .cm_GlobalNav {
    height: 50px;
  }
}

.cm_GlobalNav .hd_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 100%;
}

@media screen and (min-width: 1024px) {
  .cm_GlobalNav .hd_wrap {
    max-width: 1440px; /* kelk */ 
    margin: 0 auto;
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media screen and (min-width: 1024px) and (min-width: 1024px) {
  .cm_GlobalNav .hd_wrap {
    padding: 0 calc(20px + 20 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 1024px) and (min-width: 1440px) {
  .cm_GlobalNav .hd_wrap {
    padding: 0 40px;
  }
}

@media not screen and (min-width: 1024px) {
  .cm_GlobalNav .hd_wrap {
    position: relative;
    padding: 0 20px;
  }
}

.cm_GlobalNav .hd_wrap .logo {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

@media screen and (min-width: 1024px) {
  .cm_GlobalNav .hd_wrap .logo img {
    width: 170px;
    height: 34px;
  }
}

@media not screen and (min-width: 1024px) {
  .cm_GlobalNav .hd_wrap .logo img {
    width: 96px;
    height: 19px;
  }
}

.cm_GlobalNav .hd_wrap .ico_search {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  cursor: pointer;
}

@media not screen and (min-width: 1024px) {
  .cm_GlobalNav .hd_wrap .ico_search {
    display: none;
  }
}

.cm_GlobalNav .hd_wrap .ico_search::before, .cm_GlobalNav .hd_wrap .ico_search::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 1px;
  height: 25px;
  margin: auto;
  background-color: #a5abaf;
  content: "";
  opacity: 0;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

.cm_GlobalNav .hd_wrap .ico_search::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.cm_GlobalNav .hd_wrap .ico_search::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.cm_GlobalNav .hd_wrap .ico_search img {
  height: auto;
}

@media screen and (min-width: 1024px) {
  .cm_GlobalNav .hd_wrap .ico_search img {
    width: 30px;
    opacity: 1;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
  }
}

.cm_GlobalNav .hd_wrap .ico_search.open::before, .cm_GlobalNav .hd_wrap .ico_search.open::after {
  opacity: 1;
}

.cm_GlobalNav .hd_wrap .ico_search.open img {
  opacity: 0;
}

.cm_GlobalNav .hd_wrap .sp_menu {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media screen and (min-width: 1024px) {
  .cm_GlobalNav .hd_wrap .sp_menu {
    display: none;
  }
}

.cm_GlobalNav .hd_wrap .sp_menu .bar {
  display: block;
  position: relative;
  height: 2px;
  border-radius: 10px;
  background-color: #d1d4d3;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media not screen and (min-width: 1024px) {
  .cm_GlobalNav .hd_wrap .sp_menu .bar {
    width: 20px;
    margin: 6px auto;
  }
}

.cm_GlobalNav .hd_wrap .sp_menu .bar:nth-of-type(1) {
  margin-top: 0px;
}

.cm_GlobalNav .hd_wrap .sp_menu .bar:nth-of-type(3) {
  margin-bottom: 0px;
}

.cm_GlobalNav .hd_wrap .sp_menu.open .bar {
  width: 22px;
}

.cm_GlobalNav .hd_wrap .sp_menu.open .bar:nth-of-type(1) {
  -webkit-transform: translateY(8px) rotate(-45deg);
          transform: translateY(8px) rotate(-45deg);
}

.cm_GlobalNav .hd_wrap .sp_menu.open .bar:nth-of-type(2) {
  opacity: 0;
}

.cm_GlobalNav .hd_wrap .sp_menu.open .bar:nth-of-type(3) {
  -webkit-transform: translateY(-8px) rotate(45deg);
          transform: translateY(-8px) rotate(45deg);
}

.cm_GlobalNav .hd_nav {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
}

@media screen and (min-width: 1024px) {
  .cm_GlobalNav .hd_nav {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    padding: 0 15px;
    gap: 5px;
    flex: 1;
    justify-content: space-evenly;
  }
}

@media screen and (min-width: 1024px) and (min-width: 1024px) {
  .cm_GlobalNav .hd_nav {
    padding: 0 calc(15px + 35 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 1024px) and (min-width: 1440px) {
  .cm_GlobalNav .hd_nav {
    padding: 0 50px;
  }
}

@media not screen and (min-width: 1024px) {
  .cm_GlobalNav .hd_nav {
    display: none;
    z-index: 10;
    position: fixed;
    top: 50px;
    bottom: 0px;
    left: 0;
    width: 100%;
    padding: 30px;
    overflow-y: auto;
    background: #ffffff;
  }
}

@media not screen and (min-width: 1024px) {
  .cm_GlobalNav .hd_nav .sp_only{
    display: block!important;
  }
}
/*
.cm_GlobalNav .hd_nav li {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}
*/
@media screen and (min-width: 1024px) {
  .cm_GlobalNav .hd_nav li {
    visibility: visible;
    position: relative;
    opacity: 1;
    -webkit-transition: top 0.4s, opacity 0.4s;
    transition: top 0.4s, opacity 0.4s;
  }
  .cm_GlobalNav .hd_nav li:hover .drop_down_menu {
    visibility: visible;
    top: calc(100%);
    opacity: 1;
    pointer-events: auto;
  }
}

@media screen and (min-width: 1024px) {
  .cm_GlobalNav .hd_nav li.search_area {
    visibility: hidden;
    position: absolute;
    width: 100%;
    height: 100%;
    text-align: center;
    opacity: 0;
  }
}

@media not screen and (min-width: 1024px) {
  .cm_GlobalNav .hd_nav li.search_area {
    width: 100%;
    margin-bottom: 40px;
    padding: 20px 0px;
    border-bottom: 1px solid #d1d4d3;
  }
}

.cm_GlobalNav .hd_nav li.search_area .search_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}

@media screen and (min-width: 1024px) {
  .cm_GlobalNav .hd_nav li.search_area .search_box {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-transform: translateX(40px);
            transform: translateX(40px);
  }
}

.cm_GlobalNav .hd_nav li.search_area .search_box img {
  display: block;
  height: auto;
  margin-right: 10px;
}

@media screen and (min-width: 1024px) {
  .cm_GlobalNav .hd_nav li.search_area .search_box img {
    width: 30px;
  }
}

@media not screen and (min-width: 1024px) {
  .cm_GlobalNav .hd_nav li.search_area .search_box img {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 22px;
  }
}

.cm_GlobalNav .hd_nav li.search_area .search_box .input_btn {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  border: none;
  background-color: transparent;
  font-family: "Noto Sans Japanese", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro", Myriad Pro, Myriad, Arial, sans-serif;
}

@media screen and (min-width: 1024px) {
  .cm_GlobalNav .hd_nav li.search_area .search_box .input_btn {
    height: 30px;
    font-size: 1.8rem;
  }
}

@media not screen and (min-width: 1024px) {
  .cm_GlobalNav .hd_nav li.search_area .search_box .input_btn {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    width: calc(100% - 22px - 10px);
    padding: 0;
    font-size: 1.4rem;
  }
}

.cm_GlobalNav .hd_nav li.search_area .search_box .input_btn:focus {
  outline: none;
}

@media screen and (min-width: 1024px) {
  .cm_GlobalNav .hd_nav li.search_area .search_box .input_btn {
    width: 300px;
  }
}

.cm_GlobalNav .hd_nav li a {
  display: block;
  color: #000;
  font-weight: normal;
  text-decoration: none;
}

@media screen and (min-width: 1024px) {
  .cm_GlobalNav .hd_nav li a {
    font-size: 1.5rem;
    line-height: 1.5;
  }
  .cm_GlobalNav .hd_nav li a:hover {
    color: #140a9a;
  }
}

@media not screen and (min-width: 1024px) {
  .cm_GlobalNav .hd_nav li a {
    position: relative;
    padding: 15px 0px;
    border-bottom: 1px solid #d1d4d3;
    color: #000000;
    font-size: 1.4rem;
    line-height: 1.6;
  }
  .cm_GlobalNav .hd_nav li a.drop_ttl::before, .cm_GlobalNav .hd_nav li a.drop_ttl::after {
    display: block;
    position: absolute;
    top: 0;
    right: 21px;
    bottom: 0;
    width: 2px;
    height: 14px;
    margin: auto;
    background-color: var(--cp-gray); /* kelk */
    content: "";
  }
  .cm_GlobalNav .hd_nav li a.drop_ttl::before {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  .cm_GlobalNav .hd_nav li a.drop_ttl.open::after {
    display: none;
  }
}

.cm_GlobalNav .hd_nav.searchShow li {
  visibility: hidden;
  opacity: 0;
}

.cm_GlobalNav .hd_nav.searchShow li.search_area {
  visibility: visible;
  opacity: 1;
}

.cm_GlobalNav .drop_down_menu {
  position: absolute;
  background: #ffffff;
}

@media screen and (min-width: 1024px) {
  .cm_GlobalNav .drop_down_menu {
    visibility: hidden;
    top: calc(100% + 10px);
    left: 50%;
    width: 380px; /* kelk */
    margin-left: -190px; /* kelk */
    -webkit-box-shadow: 0 3px 5px #d6d6d7;
            box-shadow: 0 3px 5px #d6d6d7;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity 0.2s, top 0.2s;
    transition: opacity 0.2s, top 0.2s;
  }
}

@media not screen and (min-width: 1024px) {
  .cm_GlobalNav .drop_down_menu {
    display: none;
    position: static;
    width: 100%;
    padding: 20px 0;
    border-bottom: 1px solid #d1d4d3;
    opacity: 1;
  }
}

.cm_GlobalNav .drop_down_menu .drop_down_menu_list {
  padding: 10px 0;
}

@media not screen and (min-width: 1024px) {
  .cm_GlobalNav .drop_down_menu .drop_down_menu_list {
    padding: 0;
  }
}

.cm_GlobalNav .drop_down_menu .drop_down_menu_list li {
  display: block;
  margin: 0px;
}

.cm_GlobalNav .drop_down_menu .drop_down_menu_list li a {
  width: auto;
  padding: 10px 25px;
  font-weight: normal;
  text-align: left;
}

@media not screen and (min-width: 1024px) {
  .cm_GlobalNav .drop_down_menu .drop_down_menu_list li a {
    border: none;
  }
}

.cm_FooterNav {
  background: #e4e6e6;
  color: #1b232a;
}

.cm_FooterNav .ft_container .menu_list li a {
  color: #1b232a;
  text-decoration: none;
}

@media screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container .menu_list li a {
    font-size: 1.3rem;
    letter-spacing: 1.3px;
    line-height: normal;
  }
  .cm_FooterNav .ft_container .menu_list li a:hover {
    color: #4c5459;
  }
}

@media not screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container .menu_list li a {
    display: block;
    padding: 7px 0;
    font-size: 1.1rem;
    letter-spacing: 1.54px;
    line-height: 2.04;
  }
}

@media screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container_top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 1440px; /* kelk */
    margin: 0 auto;
    padding: 40px 0;
    padding-right: 45px;
    padding-left: 45px;
  }
}

@media screen and (min-width: 1024px) and (min-width: 1024px) {
  .cm_FooterNav .ft_container_top {
    padding-left: calc(45px + 115 * (100vw - 1024px) / 671);
  }
}

@media screen and (min-width: 1024px) and (min-width: 1440px) {
  .cm_FooterNav .ft_container_top {
    padding-left: 160px;
  }
}

@media screen and (min-width: 1024px) and (min-width: 1024px) {
  .cm_FooterNav .ft_container_top {
    padding-right: calc(45px + 115 * (100vw - 1024px) / 671);
  }
}

@media screen and (min-width: 1024px) and (min-width: 1440px) {
  .cm_FooterNav .ft_container_top {
    padding-right: 160px;
  }
}

@media not screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container_top {
    padding: 23px 8vw 0;
  }
}

@media screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container_top .menu_box {
    /*-webkit-box-flex: 0;
        -ms-flex: 0 1 240px; */
            flex: 0 1 340px; /* kelk */
  }
}

@media not screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container_top .menu_box {
    border-bottom: 1px solid #a5abaf;
  }
}

.cm_FooterNav .ft_container_top .menu_box:last-of-type {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

@media not screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container_top .menu_box:last-of-type {
    border-bottom: none;
  }
}

@media not screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container_top .menu_box:last-of-type .menu_list:last-of-type li {
    border-bottom: 1px solid #a5abaf;
  }
}

@media screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container_top .menu_box:last-of-type .menu_list:last-of-type li a {
    font-size: 1.6rem;
    font-weight: normal;
    letter-spacing: 1.6px;
    line-height: normal;
  }
}

@media screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container_top .menu_box + .menu_box {
    margin-left: 40px;
  }
}

@media screen and (min-width: 1024px) and (min-width: 1024px) {
  .cm_FooterNav .ft_container_top .menu_box + .menu_box {
    margin-left: calc(40px + 55 * (100vw - 1024px) / 671);
  }
}

@media screen and (min-width: 1024px) and (min-width: 1440px) {
  .cm_FooterNav .ft_container_top .menu_box + .menu_box {
    margin-left: 95px;
  }
}

@media screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container_top .menu_list li {
    display: block !important;
    margin-bottom: 15px;
  }
}

@media not screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container_top .menu_list li {
    padding: 7px 0;
  }
}

@media screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container_top .menu_ttl {
    margin-bottom: 12px !important;
    padding-bottom: 13px;
    border-bottom: 1px #1b232a solid;
  }
  .cm_FooterNav .ft_container_top .menu_ttl + li {
    display: none !important;
  }
  .cm_FooterNav .ft_container_top .menu_ttl a {
    font-size: 1.6rem !important;
    font-weight: normal;
    letter-spacing: 1.6px !important;
    line-height: 2.13 !important;
  }
}

@media not screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container_top .menu_ttl {
    position: relative;
    padding-right: 28px !important;
    font-size: 1.1rem;
    letter-spacing: 1.54px;
    line-height: 2.04;
  }
  .cm_FooterNav .ft_container_top .menu_ttl + li {
    margin-top: 20px;
  }
  .cm_FooterNav .ft_container_top .menu_ttl ~ li {
    padding: 0;
  }
  .cm_FooterNav .ft_container_top .menu_ttl ~ li:last-of-type {
    margin-bottom: 20px;
  }
  .cm_FooterNav .ft_container_top .menu_ttl ~ li a {
    padding: 10px 25px;
  }
  .cm_FooterNav .ft_container_top .menu_ttl::before, .cm_FooterNav .ft_container_top .menu_ttl::after {
    display: block;
    position: absolute;
    top: 0;
    right: 9px;
    bottom: 0;
    width: 10px;
    height: 2px;
    margin: auto;
    background-color: #a5abaf;
    content: "";
  }
  .cm_FooterNav .ft_container_top .menu_ttl::after {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  .cm_FooterNav .ft_container_top .menu_ttl.open {
    border-bottom: 1px solid #a5abaf;
  }
  .cm_FooterNav .ft_container_top .menu_ttl.open::after {
    display: none !important;
  }
}

@media screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container_bottom {
    border-top: 1px solid #1b232a;
  }
}

@media not screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container_bottom {
    padding-bottom: 40px;
  }
}

@media screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container_bottom_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 1440px;  /* kelk */
    margin: 0 auto;
    padding: 0 20px 15px;
  }
}

@media not screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container_bottom_inner {
    position: relative;
    border-bottom: 1px solid #a5abaf;
  }
}

.cm_FooterNav .ft_container_bottom .menu_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container_bottom .menu_list {
    -webkit-box-flex: 10;
        -ms-flex: 10 1 auto;
            flex: 10 1 auto;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 25px;
    flex-wrap: wrap;
  }
}

@media not screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container_bottom .menu_list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 5.33333vw;
    padding: 0 8vw;
  }
}

@media not screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container_bottom .menu_list li {
    padding: 7px 0;
    border-bottom: 1px solid #a5abaf;
  }
}

.cm_FooterNav .ft_container_bottom .menu_list li:first-child {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
    margin-bottom: 10px;
    margin-right: 10px;
    font-size: 1.2rem;
}

@media not screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container_bottom .menu_list li:first-child {
    position: absolute;
    right: 0;
    bottom: -28px;
    left: 0;
    margin: auto;
    padding: 0;
    border: none;
    font-size: 1rem;
    text-align: center;
  }
}

@media screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container_bottom .menu_list li + li {
    margin-left: 0px;
  }
}

@media screen and (min-width: 1024px) and (min-width: 1024px) {
  .cm_FooterNav .ft_container_bottom .menu_list li + li {
    padding: 0 10px;
    margin-bottom: 10px;
  }
}

.cm_FooterNav .ft_container_bottom .menu_list li a {
  font-size: 1.1rem;
  letter-spacing: 0.6px;
}

.cm_FooterNav .ft_container_bottom .menu_sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container_bottom .menu_sns {
    margin-top: 20px;
    margin-left: auto;
    margin-bottom: 5px;
    padding-left: 20px;
  }
}

@media not screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container_bottom .menu_sns {
    min-height: 4vw;
    margin-top: -5.33333vw;
    padding: 0 8vw;
  }
}

@media not screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container_bottom .menu_sns li {
    padding: 35px 0 40px;
  }
}

.cm_FooterNav .ft_container_bottom .menu_sns li + li {
  margin-left: 20px;
}

.cm_FooterNav .ft_container_bottom .menu_sns li img {
  display: block;
  height: auto;
}

@media screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container_bottom .menu_sns li img {
    width: 30px;
  }
}

@media not screen and (min-width: 1024px) {
  .cm_FooterNav .ft_container_bottom .menu_sns li img {
    width: 29px;
  }
}

.cm_FooterNav .ft_container_bottom .menu_sns li a:hover img {
  opacity: 0.9;
}

.cp_pageTop {
  z-index: 20;
  position: fixed;
  right: 10px;
  bottom: 50px;
  opacity: 0;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}

.cp_pageTop.show {
  opacity: 1;
}

.cp_pageTop.show img {
  pointer-events: auto;
}

.cp_pageTop img {
  width: 40px;
  height: 40px;
  cursor: pointer;
  pointer-events: none;
}

@media screen and (min-width: 768px) {
  .cp_pageTop img:hover {
    opacity: 0.5;
  }
}

/* Notes */
.cp_base em > strong , .cp_base strong > em {
    font-weight: normal;
    font-style: normal;
    font-size: 0.85em;  /* kelk */
    display: inline-block;
    line-height: 1.6em;  /* kelk */
    color: #4c5459;
}

.cp_RightTeaser, .cp_LeftTeaser, .cp_HalfTeaser, .cp_RightImageCarousel {
  margin: 0 auto 64px;  /* kelk */
}

@media screen and (min-width: 768px), print {
  .cp_RightTeaser, .cp_LeftTeaser, .cp_HalfTeaser, .cp_RightImageCarousel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: var(--cp-max-width);
  }
}

.cp_RightTeaser .teaser_box, .cp_LeftTeaser .teaser_box, .cp_HalfTeaser .teaser_box, .cp_RightImageCarousel .teaser_box {
  -webkit-box-flex: 56;
      -ms-flex: 56 56 0px;
          flex: 56 56 0px;
}

@media screen and (max-width: 767px) {
  .cp_RightTeaser .teaser_box, .cp_LeftTeaser .teaser_box, .cp_HalfTeaser .teaser_box, .cp_RightImageCarousel .teaser_box {
    padding: 0 8vw;
  }
}

.cp_RightTeaser .teaser_ttl, .cp_LeftTeaser .teaser_ttl, .cp_HalfTeaser .teaser_ttl {
  border-bottom: solid 3px #ffc82f;
  font-weight: normal;
}


@media screen and (min-width: 768px), print {
  .cp_RightTeaser .teaser_ttl, .cp_LeftTeaser .teaser_ttl, .cp_HalfTeaser .teaser_ttl, .cp_RightImageCarousel .teaser_ttl {
    margin-bottom: 22px;
    padding-bottom: 22px;
    font-size: 3.0rem;    /* kelk */
    letter-spacing: 1.8;  /* kelk */
    line-height: 1.2;
  }
}

@media screen and (max-width: 767px) {
  .cp_RightTeaser .teaser_ttl, .cp_LeftTeaser .teaser_ttl, .cp_HalfTeaser .teaser_ttl, .cp_RightImageCarousel .teaser_ttl {
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom-width: 2px;
    font-size: 2rem;
    line-height: 1.5;    /* kelk */
  }
}

.cp_RightImageCarousel .teaser_ttl{
  font-weight: normal;
  padding-bottom: 3px;
}

.cp_RightTeaser .teaser_txt p + p, .cp_LeftTeaser .teaser_txt p + p, .cp_HalfTeaser .teaser_txt p + p, .cp_RightImageCarousel .teaser_txt p + p{
  margin-top: 1.5rem;
}

@media screen and (min-width: 768px), print {
  .cp_RightTeaser .teaser_txt, .cp_LeftTeaser .teaser_txt, .cp_HalfTeaser .teaser_txt, .cp_RightImageCarousel .teaser_txt {
    margin-bottom: 40px;
    font-size: 1.6rem;    /* kelk */
    letter-spacing: 0.95px;
    line-height: 2;    /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_RightTeaser .teaser_txt, .cp_LeftTeaser .teaser_txt, .cp_HalfTeaser .teaser_txt, .cp_RightImageCarousel .teaser_txt {
    margin-bottom: 25px;
    font-size: 1.4rem;
    letter-spacing: 1.43px;
    line-height: 1.8; /* kelk */
  }
}

.cp_RightTeaser .teaser_img, .cp_LeftTeaser .teaser_img, .cp_HalfTeaser .teaser_img , .cp_RightImageCarousel .teaser_img {
  -webkit-box-flex: 99;
      -ms-flex: 99 99 0px;
          flex: 99 99 0px;
}

@media screen and (min-width: 768px), print {
  .cp_RightTeaser .teaser_img, .cp_LeftTeaser .teaser_img, .cp_HalfTeaser .teaser_img, .cp_RightImageCarousel .teaser_img {
    max-width: 792px;
  }
}

@media screen and (max-width: 767px) {
  .cp_RightTeaser .teaser_img, .cp_LeftTeaser .teaser_img, .cp_HalfTeaser .teaser_img , .cp_RightImageCarousel .teaser_img {
    margin-bottom: 27px;
  }
}

.cp_RightTeaser .teaser_img_inner, .cp_LeftTeaser .teaser_img_inner, .cp_HalfTeaser .teaser_img_inner, .cp_RightImageCarousel .teaser_img_inner {
  position: relative;
  width: 100%;
}

.cp_RightTeaser .teaser_img_inner figure, .cp_LeftTeaser .teaser_img_inner figure, .cp_HalfTeaser .teaser_img_inner figure {
  margin: auto;
}

.cp_RightTeaser .teaser_img_inner figure img, .cp_LeftTeaser .teaser_img_inner figure img, .cp_HalfTeaser .teaser_img_inner figure img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.cp_RightTeaser .teaser_btn, .cp_LeftTeaser .teaser_btn, .cp_HalfTeaser .teaser_btn, .cp_RightImageCarousel .teaser_btn {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-right: 30px;
  padding-left: 30px;
  border-radius: 6px;
  background-color: #ffc82f;
  color: #2a3238;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 1;
  text-align: center;
}

@media screen and (min-width: 768px), print {
  .cp_RightTeaser .teaser_btn, .cp_LeftTeaser .teaser_btn, .cp_HalfTeaser .teaser_btn , .cp_RightImageCarousel .teaser_btn{
    width: 300px;
    height: 60px;
    font-size: 1.4rem;
    line-height: 1.3;
  }
}

.cp_RightTeaser .teaser_btn:hover, .cp_LeftTeaser .teaser_btn:hover, .cp_HalfTeaser .teaser_btn:hover, .cp_RightImageCarousel .teaser_btn:hover {
  background-color: #ffd359;
  color: #4c5459;
}

@media screen and (max-width: 767px) {
  .cp_RightTeaser .teaser_btn, .cp_LeftTeaser .teaser_btn, .cp_HalfTeaser .teaser_btn , .cp_RightImageCarousel .teaser_btn{
    width: 100%;
    height: 50px;
    font-size: 1.3rem;
    line-height: 1.2;
  }
}

.cp_RightTeaser.movie .teaser_img_inner, .cp_LeftTeaser.movie .teaser_img_inner, .cp_HalfTeaser.movie .teaser_img_inner {
  padding-top: 56.25%;
}

.cp_RightTeaser.movie .teaser_img_inner iframe, .cp_LeftTeaser.movie .teaser_img_inner iframe, .cp_HalfTeaser.movie .teaser_img_inner iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 768px), print {
  .cp_RightTeaser, .cp_HalfTeaser.right , .cp_RightImageCarousel{
    padding: 0 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_RightTeaser, .cp_HalfTeaser.right, .cp_RightImageCarousel {
    padding: 0 calc( 53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_RightTeaser, .cp_HalfTeaser.right, .cp_RightImageCarousel {
    padding: 0 100px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_RightTeaser .teaser_img, .cp_HalfTeaser.right .teaser_img, .cp_RightImageCarousel .teaser_img{
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-left: 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_RightTeaser .teaser_img, .cp_HalfTeaser.right .teaser_img, .cp_RightImageCarousel .teaser_img {
    margin-left: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_RightTeaser .teaser_img, .cp_HalfTeaser.right .teaser_img, .cp_RightImageCarousel .teaser_img {
    margin-left: 100px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_LeftTeaser, .cp_HalfTeaser.left {
    padding: 0 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_LeftTeaser, .cp_HalfTeaser.left {
    padding: 0 calc( 53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_LeftTeaser, .cp_HalfTeaser.left {
    padding: 0 100px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_LeftTeaser .teaser_img, .cp_HalfTeaser.left .teaser_img {
    margin-right: 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_LeftTeaser .teaser_img, .cp_HalfTeaser.left .teaser_img {
    margin-right: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_LeftTeaser .teaser_img, .cp_HalfTeaser.left .teaser_img {
    margin-right: 100px;
  }
}

.cp_HalfTeaser {
  margin: 0 auto 64px;  /* kelk */
}

.cp_HalfTeaser .teaser_box, .cp_RightImageCarousel .teaser_box {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (min-width: 768px), print {
  .cp_HalfTeaser .teaser_box, .cp_RightImageCarousel .teaser_box {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    width: 50%;
  }
}

@media screen and (max-width: 767px) {
  .cp_HalfTeaser .teaser_img, .cp_HalfTeaser .teaser_box, .cp_RightImageCarousel .teaser_img, .cp_RightImageCarousel .teaser_box {
    padding: 0 8vw;
  }
}

.cp_HalfTeaser .teaser_ttl {
  margin-bottom: 15px;
  padding-bottom: 0;
  border-bottom: none;
}

.cp_HalfTeaser .teaser_img, .cp_RightImageCarousel .teaser_img {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 50%;
          flex: 1 1 50%;
}

.cp_HalfTeaser.image .teaser_img_inner, .cp_RightImageCarousel .teaser_img_inner {
  height: auto;
  padding-top: 0;
}

.cp_HalfTeaser.image .teaser_img_inner figure {
  position: static;
}

.cp_Anchor {
  width: 100%;
  margin: 0 auto 64px;  /* kelk */
}

.cp_Anchor .anchor_inr {
  width: 100%;
/*  padding-bottom: 33px;
  border-top: 2px solid #d1d4d3;
  border-bottom: 2px solid #d1d4d3;  kelk */
}

.cp_Anchor .anchor_ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: var(--cp-max-width);
  margin: 0 auto;
  padding: 16px 40px;  /* kelk */
/*padding-right: 53px;
  padding-left: 53px; kelk */
  /* add kelk */
  column-gap: 58px;
  row-gap: 16px;
}

@media (min-width: 768px) {
  .cp_Anchor .anchor_ul {
    padding-left: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media (min-width: 1440px) {
  .cp_Anchor .anchor_ul {
    padding-left: 100px;
  }
}

@media (min-width: 768px) {
  .cp_Anchor .anchor_ul {
    padding-right: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media (min-width: 1440px) {
  .cp_Anchor .anchor_ul {
    padding-right: 100px;
  }
}

.cp_Anchor .anchor_ul li {
/* margin-right: 40px;
  padding: 33px 28px 0 0;  kelk */
  font-size: 1.6rem;  /* kelk */
  font-weight: normal;
  letter-spacing: normal;
  line-height: 2rem;  /* kelk */
}

.cp_Anchor .anchor_ul li + li {  /* kelk 追加 */
  position: relative;
}

.cp_Anchor .anchor_ul li + li::after {  /* kelk 追加 */
  content: "";
  display: block;
  height: 64px;
  border-right: 1px solid var(--cp-light-gray);
  position: absolute;
  top: 0%;
  bottom: 0;
  margin: auto;
}

.cp_Anchor .anchor_ul li > a {
  display: inline-block;
  position: relative;
  /* kelk 追加 */
  margin-left: 4rem;
  height: 64px;
  align-items: center;
  display: inline-flex;
}

.cp_Anchor .anchor_ul li > a::after { /* kelk */
  position: absolute;
  top: calc(50% - 7px);  /* kelk */
  right: -20px;
  width: 7px;  /* kelk */
  height: 7px;  /* kelk */
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  border-top: 3px solid var(--cp-light-gray);  /* kelk */
  border-right: 3px solid var(--cp-light-gray);  /* kelk */
  content: "";
}

.cp_Anchor .anchor_ul li:last-child {
  margin-right: 0px;
}

/*.link_layout {
  margin-bottom: 50px;
}*/

.cp_Link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 768px), print {
  .cp_Link {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    max-width: var(--cp-max-width);
    margin: 0 auto;
    padding: 0;
    padding-right: 53px;
    padding-left: 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_Link {
    padding-left: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_Link {
    padding-left: 100px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_Link {
    padding-right: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_Link {
    padding-right: 100px;
  }
}

@media screen and (max-width: 767px) {
  .cp_Link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
  }
}

.cp_Link .link_ul {
  border-bottom: solid 1px var(--cp-light-gray); /* kelk */
}

@media screen and (min-width: 768px), print {
  .cp_Link .link_ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 45.96774%;
  }
}

@media screen and (max-width: 767px) {
  .cp_Link .link_ul {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: calc(100% - 16vw);
    margin: 0 8vw;
  }
}

.cp_Link .link_ul li {
  position: relative;
}

@media screen and (min-width: 768px), print {
  .cp_Link .link_ul li {
    width: 100%;
    font-size: 1.6rem;    /* kelk */
    letter-spacing: normal;
    line-height: 2;    /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_Link .link_ul li {
    font-size: 1.4rem;
    line-height: 1.8;    /* kelk */
  }
}

.cp_Link .link_ul li::before {
  position: absolute;
  top: calc(50% - 6px);
  right: 3px;  /* kelk */
  width: 12px;
  height: 12px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  border-top: 3px solid var(--cp-gray);  /* kelk */
  border-right: 3px solid var(--cp-gray);  /* kelk */
  content: "";
}

@media screen and (max-width: 767px) {
  .cp_Link .link_ul li::before {
    top: calc(50% - 5px);
    right: 5px;
    width: 10px;
    height: 10px;
  }
}

.cp_Link .link_ul li > a {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  position: relative;
  width: 100%;
  padding: 24px 30px 24px 0;  /* kelk */
}

@media screen and (max-width: 767px) {
  .cp_Link .link_ul li > a {
    padding: 24px 30px 24px 0;    /* kelk */
  }
}

@media screen and (min-width: 768px), print {
  .link_layout .cp_Link:first-child {
      margin-top: -20px;
  }
}

@media screen and (max-width: 767px) {
  .link_layout .cp_Link:first-child {
      margin-top: -15px;
  }
}

.link_layout .cp_Link:last-child {
    margin-bottom: 50px;
}

.cp_SocialMedia {
  z-index: 90;
  position: relative;
  width: 100%;
}

.cp_SocialMedia_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}

@media screen and (min-width: 1024px) {
  .cp_SocialMedia_inner {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    max-width: 1440px; /* kelk */
    margin: 0 auto;
    padding-top: 10px;
    padding-right: 20px;
    padding-bottom: 10px;
    padding-left: 20px;
  }
}

@media screen and (min-width: 1024px) and (min-width: 1024px) {
  .cp_SocialMedia_inner {
    padding-left: calc(20px + 20 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 1024px) and (min-width: 1440px) {
  .cp_SocialMedia_inner {
    padding-left: 40px;
  }
}

@media screen and (min-width: 1024px) and (min-width: 1024px) {
  .cp_SocialMedia_inner {
    padding-right: calc(20px + 20 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 1024px) and (min-width: 1440px) {
  .cp_SocialMedia_inner {
    padding-right: 40px;
  }
}

@media not screen and (min-width: 1024px) {
  .cp_SocialMedia_inner {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding: 5px 20px 0;
  }
}

.cp_SocialMedia_inner > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (min-width: 1024px) {
  .cp_SocialMedia_inner > ul > li + li {
    margin-left: 20px;
  }
}

@media not screen and (min-width: 1024px) {
  .cp_SocialMedia_inner > ul > li + li {
    margin-left: 15px;
  }
}

.cp_SocialMedia_inner > ul > li > a {
  color: #a5abaf;
}

@media screen and (min-width: 1024px) {
  .cp_SocialMedia_inner > ul > li > a:hover {
    color: #140a9a;
  }
  .cp_SocialMedia_inner > ul > li > a:hover img {
    opacity: 0.8;
  }
}

@media screen and (min-width: 1024px) {
  .cp_SocialMedia_inner > ul > li > a > img {
    width: 40px;
    height: 40px;
  }
}

@media not screen and (min-width: 1024px) {
  .cp_SocialMedia_inner > ul > li > a > img {
    width: 30px;
    height: 30px;
  }
}

.cp_SocialMedia_inner .lst_right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: auto;
}

@media not screen and (min-width: 1024px) {
  .cp_SocialMedia_inner .lst_right {
    display: none;
  }
}

.cp_SocialMedia_inner .lst_right li {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (min-width: 1024px) {
  .cp_SocialMedia_inner .lst_right li {
    font-size: 1.4rem;
    letter-spacing: 1.96px;
    line-height: 2.64;
  }
}

.cp_SocialMedia_inner .lst_right li a img {
  display: inline-block;
  margin-left: 10px;
}

.cp_ImageModule {
  position: relative;
  max-width: 1440px;  /* kelk */
  margin: 0 auto 64px;  /* kelk */
}

.cp_ImageModule.movie {
    margin: 0 auto 64px;  /* kelk */
    padding-left: calc(53px + 47 * (100vw - 769px) / 671);
    padding-right: calc(53px + 47 * (100vw - 769px) / 671);
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px){
  .cp_ImageModule.movie{
    max-width: var(--cp-max-width);
    padding-right: 100px;
    padding-left: 100px;
  }
}

.cp_ImageModule.movie .im_img {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}

.cp_ImageModule.movie .im_img iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 768px) {
  .cp_ImageModule.movie.width_medium  {
    width: 80%;
    max-width: 100%;
  }

  .cp_ImageModule.movie.width_small {
    width:65%;
    max-width: 100%;
  }
}

@media screen and (min-width: 1240px), print {
  .cp_ImageModule.movie.width_medium  {
    width: 900px;
    padding: 0 50px!important;
  }

  .cp_ImageModule.movie.width_small {
    width: 750px;
    padding: 0 50px!important;
  }
}

/* kelk
@media screen and (max-width: 767px) {
  .cp_ImageModule.image .im_img {
    margin-bottom: 27px;
  }
}*/

@media screen and (min-width: 768px), print {
  .cp_ImageModule.image .im_img img {
    width: 100%;
    height: auto;
  }
}

/* cp_ImageModule full */
.cp_ImageModule.image.image-full {
  max-width: unset;
}

@media screen and (min-width: 768px), print {
  /* 画面より大きくならないように制御 */
  .cp_ImageModule.image.image-full img {
    max-height: calc(100vh - 100px); /* header高さ */
    object-fit: cover;
  }

  header.cm_GlobalNav_kcsj ~ div > .cp_TopBannerCarousel.image-full .topCorousel .slick-slide img {
    max-height: calc(100vh - 140px); /* header group */
    object-fit: cover;
  }

  .cp_ImageModule.image.image-full .im_box_inner {
    max-width: min(1100px, 90%); /* kelk */
  }
}

.cp_ImageModule.image .im_box {
  box-sizing: border-box;
}

@media screen and (min-width: 768px), print {
  .cp_ImageModule.image .im_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 0 50px;
  }
}

@media screen and (max-width: 767px) {
  .cp_ImageModule.image .im_box {
    padding: 0 8vw;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ImageModule.image .im_box_inner {
    max-width: 75%;
    color: #fff;
  }
  /* Notes */
  .cp_ImageModule.image .im_box_inner em > strong, .cp_ImageModule.image .im_box_inner strong > em {
    color: #fff;
  }
}

.cp_ImageModule.image .im_ttl {
  font-weight: normal;
}

@media screen and (min-width: 768px), print {
  .cp_ImageModule.image .im_ttl {
    margin-bottom: 30px;
    font-size: 3.2rem;
    letter-spacing: normal;
    line-height: normal;
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .cp_ImageModule.image .im_ttl {
    margin-bottom: 16px;
    font-size: 2rem;
    letter-spacing: normal;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ImageModule.image .im_txt {
    margin-bottom: 35px;
    font-size: 1.9rem;
    letter-spacing: 0.95px;
    line-height: normal;
  }
}

@media screen and (max-width: 767px) {
  .cp_ImageModule.image .im_txt {
    margin-bottom: 25px;
    font-size: 1.4rem;
    letter-spacing: 1.43px;
    line-height: normal;
  }
}

.cp_ImageModule.image .im_btn {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 30px;
  border-radius: 6px;
  background-color: #ffc82f;
  color: #2a3238;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 1;
  text-align: center;
}

@media screen and (min-width: 768px), print {
  .cp_ImageModule.image .im_btn {
    width: 300px;
    height: 60px;
    font-size: 1.5rem;
    line-height: 1.3;
  }
}

.cp_ImageModule.image .im_btn:hover {
  background-color: #ffd359;
  color: #4c5459;
}

@media screen and (max-width: 767px) {
  .cp_ImageModule.image .im_btn {
    width: 100%;
    height: 50px;
    font-size: 1.3rem;
    line-height: 1.2;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ImageModule.image .im_btn {
    margin: 0 auto;
  }
}

.cp_ImageModule.image.loLeft .im_box {
  justify-content: flex-start;
}

.cp_ImageModule.image.loCenter .im_box {
  justify-content: center;
}

.cp_ImageModule.image.loRight .im_box {
  justify-content: flex-end;
}

/* squareとる
@media screen and (max-width: 767px) {
  .cp_ImageModule.image.square .im_img figure {
    position: relative;
    height: 0;
    padding-top: 100%;
  }
  .cp_ImageModule.image.square .im_img figure img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}*/

@media screen and (max-width: 767px), print{
  .cp_ImageModule.image .im_img img {
    height: auto;
  }
}

@media print{
  .cp_ImageModule.image .im_box_inner {
    max-width: 1005px;
  }
  .cp_ImageModule.image .im_ttl, .cp_ImageModule.image .im_txt {
    margin-bottom: 15px;
  }
}

.cp_ImageModule + .cp_Anchor {
  margin-top: -50px;
}

.cp_PageTitle {
  max-width: var(--cp-max-width);
  margin: 64px auto;  /* kelk */
}

@media screen and (min-width: 1024px) {
  .cp_PageTitle {
    margin-top : 0;
  }
}

@media screen and (min-width: 768px), print {
  .cp_PageTitle .pageTitle_inr {
    padding: 0 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_PageTitle .pageTitle_inr {
    padding: 0 calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_PageTitle .pageTitle_inr {
    padding: 0 100px;
  }
}
/*
@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_PageTitle .pageTitle_inr {
    padding-right: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_PageTitle .pageTitle_inr {
    padding-right: 100px;
  }
}*/

@media screen and (max-width: 767px) {
  .cp_PageTitle .pageTitle_inr {
    width: 100%;
    padding: 0 8vw;
  }
}

.cp_PageTitle .pageTitle_inr > h1 {
  font-weight: normal;
  /*  text-align: center;  /* kelk */
}

@media screen and (min-width: 768px), print {
  .cp_PageTitle .pageTitle_inr > h1 {
    font-size: 4.4rem;  /* kelk */
    letter-spacing: normal;
    line-height: 1.2;
  }
}

@media screen and (max-width: 767px) {
  .cp_PageTitle .pageTitle_inr > h1 {
    font-size: 2.4rem;
    letter-spacing: normal;
    line-height: 1.2;
  }
}

.cp_2ColImage {
  max-width: var(--cp-max-width);
  margin: 0 auto 64px;  /* kelk */
}

@media screen and (min-width: 768px), print {
  .cp_2ColImage + .cp_2ColImage > .colImage2_line{
    margin-top: -30px;
  }
}

@media screen and (max-width: 767px) {
  .cp_2ColImage + .cp_2ColImage {
    margin-top: -15px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_2ColImage .colImage2_inr {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 0 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_2ColImage .colImage2_inr {
    padding: 0 calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_2ColImage .colImage2_inr {
    padding: 0 100px;
  }
}
/*
@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_2ColImage .colImage2_inr {
    padding-right: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_2ColImage .colImage2_inr {
    padding-right: 100px;
  }
}*/

@media screen and (max-width: 767px) {
  .cp_2ColImage .colImage2_inr {
    width: 100%;
    padding: 0 8vw;
  }
}

@media screen and (min-width: 768px), print {
  .cp_2ColImage .colImage2_line {
    position: relative;
  }
  .cp_2ColImage .colImage2_line::after {
    position: absolute;
    top: 6px;
    left: calc(50% - 1px);
    width: 1px;
    height: calc(100% - 10px);
    background-color: var(--cp-light-gray);  /* kelk */
    content: "";
  }
}

@media screen and (min-width: 768px), print {
  .cp_2ColImage .colImage2_line > .colImage2_col {
    width: 41.93548%;
  }
  .cp_2ColImage .colImage2_line > .colImage2_col:last-child {
    margin-left: auto;
  }
}

@media screen and (min-width: 768px), print {
  .cp_2ColImage .colImage2_col {
    width: 45.96774%;
  }
}

@media screen and (max-width: 767px) {
  .cp_2ColImage .colImage2_col {
    width: 100%;
    margin-bottom: 35px;
  }
  .cp_2ColImage .colImage2_col:last-child {
    margin-bottom: 0px;
  }
}

.cp_2ColImage .colImage2_col_img {
  position: relative;
  width: 100%;
}

.cp_2ColImage .colImage2_col_img figure, .cp_2ColImage .colImage2_col_img a {
  margin: auto;
  position: initial;
}

.cp_2ColImage .colImage2_col_img figure img, .cp_2ColImage .colImage2_col_img a img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* delate kelk 
.cp_2ColImage .colImage2_col_img a::after {
  position: absolute;
  right: 20px;
  bottom: 20px;
  width: 12px;
  height: 12px;
  transform: rotate(45deg);
  border-top: 4px solid #ffc82f;
  border-right: 4px solid #ffc82f;
  content: "";
  background: none;
}

@media screen and (max-width: 767px) {
  .cp_2ColImage .colImage2_col_img a::after {
    right: 15px;
    bottom: 15px;
    width: 10px;
    height: 10px;
    border-top: 3px solid #ffc82f;
    border-right: 3px solid #ffc82f;
  }
}
*/

.cp_2ColImage .colImage2_col_img a:hover {
  opacity: .8;
}

.cp_2ColImage .colImage2_col_cap > h4,
.cp_2ColImage .colImage2_col_cap > h4 > a {
  color: #140a9a;
  font-weight: normal;
  /* add kelk */
  position: relative;
  display: block;
  box-sizing: border-box;
}

.cp_2ColImage .colImage2_col_cap > h4 > a { /* add kelk */
  padding-right: 3.2rem;
}

.cp_2ColImage .colImage2_col_cap > h4 > a::after { /* add kelk */
  position: absolute;
  right: 4px;
  top: calc(50% - 6px);
  width: 12px;
  height: 12px;
  transform: rotate(45deg);
  border-top: 4px solid var(--cp-gray);
  border-right: 4px solid var(--cp-gray);
  content: "";
  background: none;
}

@media screen and (max-width: 767px) {
  .cp_2ColImage .colImage2_col_cap > h4 > a::after { /* add kelk */
    right: 4px;
    bottom: 15px;
    width: 10px;
    height: 10px;
    border-top: 3px solid var(--cp-gray);
    border-right: 3px solid var(--cp-gray);
  }
}


@media screen and (min-width: 768px), print {
  .cp_2ColImage .colImage2_col_cap > h4 {
    font-size: 2.2rem;
    letter-spacing: normal;
    line-height: 1.6;    /* kelk */
    margin-bottom: 1.6rem;    /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_2ColImage .colImage2_col_cap > h4 {
    font-size: 1.8rem;
    letter-spacing: normal;
    line-height: 1.5;    /* kelk */
  }
}

@media screen and (min-width: 768px), print {
  .cp_2ColImage .colImage2_col_cap.cap_top {
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 767px) {
  .cp_2ColImage .colImage2_col_cap.cap_top {
    margin-bottom: 15px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_2ColImage .colImage2_col_cap.cap_bottom {
    margin-top: 32px; /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_2ColImage .colImage2_col_cap.cap_bottom {
    margin-top: 24px; /* kelk */
  }

  .cp_2ColImage .colImage2_col_cap.cap_bottom:first-child {
  /* 画像なしパターン kelk */
    margin-top: 0;
  }
}

@media screen and (min-width: 768px), print {
  .cp_2ColImage .colImage2_col_cap div {
    margin-top: 16px; /* kelk */
    font-size: 1.6rem;
    letter-spacing: 0.95px;
    line-height: 2;    /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_2ColImage .colImage2_col_cap div {
    margin-top: 10px;
    font-size: 1.4rem;
    letter-spacing: 1.43px;
    line-height: 1.8;    /* kelk */
  }
}

.cp_2ColImage .colImage2_col_cap p + p {
  margin-top: 1.5rem;
}

@media screen and (min-width: 768px) and (max-width: 960px) {
  .cp_2ColImage .colImage2_col_cap > .colImage2_btn {
    width: 100%;
  }
}

@media screen and (min-width: 768px), print {
  .cp_2ColImage .colImage2_col_list {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .cp_2ColImage .colImage2_col_list {
    margin-top: 5px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_2ColImage .colImage2_col_list > div {
    margin-bottom: 13px;
    font-size: 1.9rem;
    letter-spacing: 0.95px;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .cp_2ColImage .colImage2_col_list > div {
    font-size: 1.6rem;
    letter-spacing: 1.43px;
    line-height: 1.7;
  }
}

.cp_2ColImage .colImage2_col_list > div > a {
  position: relative;
  padding-left: 1.8rem;
  text-indent: 0rem;
}

@media screen and (min-width: 768px), print {
  .cp_2ColImage .colImage2_col_list > div > a {
    display: inline-block;
  }
}

@media screen and (max-width: 767px) {
  .cp_2ColImage .colImage2_col_list > div > a {
    display: block;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

.cp_2ColImage .colImage2_col_list > div > a::before {
  position: absolute;
  top: 10px;
  left: -4px;
  width: 9px;
  height: 9px;
  transform: scaleY(0.65) rotate(45deg);
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  content: "";
}

@media screen and (max-width: 767px) {
  .cp_2ColImage .colImage2_col_list > div > a::before {
    top: 19px;
    left: -4px;
    width: 9px;
    height: 9px;
    transform: scaleY(0.65) rotate(45deg);
    border-top: 1px solid #000;
    border-right: 1px solid #000;
  }
}

@media screen and (min-width: 768px), print {
  .cp_2ColImage .colImage2_col_text {
    width: 100%;
    margin-bottom: 70px;
  }
}

@media screen and (max-width: 767px) {
  .cp_2ColImage .colImage2_col_text {
    margin-bottom: 35px;
  }
}

.cp_2ColImage .colImage2_col_text:last-child {
  margin-bottom: 0;
}

.cp_2ColImage .colImage2_col_text > h4 {
  color: #140a9a;
  font-weight: normal;
}

@media screen and (min-width: 768px), print {
  .cp_2ColImage .colImage2_col_text > h4 {
    font-size: 2.2rem;
    letter-spacing: 2.2px;
    line-height: 1.6;
  }
}

@media screen and (max-width: 767px) {
  .cp_2ColImage .colImage2_col_text > h4 {
    font-size: 1.8rem;
    letter-spacing: 1.8px;
    line-height: 1.5;
  }
}

@media screen and (min-width: 768px), print {
  .cp_2ColImage .colImage2_col_text div {
    margin-top: 15px;
    font-size: 1.9rem;
    letter-spacing: 0.95px;
    line-height: 2;
  }
}

@media screen and (max-width: 767px) {
  .cp_2ColImage .colImage2_col_text div {
    margin-top: 10px;
    font-size: 1.4rem;
    letter-spacing: 1.43px;
    line-height: 2.04;
  }
}

.cp_2ColImage .colImage2_col_text p + p {
  margin-top: 1.5rem;
}

.cp_2ColImage .colImage2_btn {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-right: 30px;
  padding-left: 30px;
  border-radius: 6px;
  background-color: #ffc82f;
  color: #2a3238;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 1;
  text-align: center;
}

@media screen and (min-width: 768px), print {
  .cp_2ColImage .colImage2_btn {
    width: 300px;
    height: 60px;
    font-size: 1.4rem;
    line-height: 1.3;
  }
}

.cp_2ColImage .colImage2_btn:hover {
  background-color: #ffd359;
  color: #4c5459;
}

@media screen and (max-width: 767px) {
  .cp_2ColImage .colImage2_btn {
    width: 100%;
    height: 50px;
    font-size: 1.3rem;
    line-height: 1.2;
  }
}

@media screen and (min-width: 768px), print {
  .cp_2ColImage .colImage2_btn {
    margin-top: 40px;
  }
}

@media screen and (max-width: 767px) {
  .cp_2ColImage .colImage2_btn {
    margin-top: 25px;
  }
}

.cp_HeadingText1 {
  max-width: var(--cp-max-width);
  margin: 0 auto 40px;
}

@media screen and (min-width: 768px), print {
  .cp_HeadingText1 .headingText1_inr {
    padding: 0 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_HeadingText1 .headingText1_inr {
    padding: 0 calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_HeadingText1 .headingText1_inr {
    padding: 0 100px;
  }
}
/*
@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_HeadingText1 .headingText1_inr {
    padding-right: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_HeadingText1 .headingText1_inr {
    padding-right: 100px;
  }
}*/

@media screen and (max-width: 767px) {
  .cp_HeadingText1 .headingText1_inr {
    width: 100%;
    padding: 0 8vw;
  }
}

@media screen and (min-width: 768px), print {
  .cp_HeadingText1 .headingText1_inr div {
    font-size: 1.6rem; /* kelk */
    letter-spacing: 0.95px;
    line-height: 2; /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_HeadingText1 .headingText1_inr div {
    font-size: 1.4rem;
    letter-spacing: 1.43px;
    line-height: 1.8;  /* kelk */
  }
}

.cp_HeadingText1 .headingText1_inr p + p {
  margin-top: 1.5rem;
}

.cp_HeadingText1 .headingText1_inr img {
  width: auto;
  max-width: 100%;
  height: auto !important;
}

.cp_HeadingText1 .headingText1_inr div a {
  color: #3366cc;
}

.cp_HeadingText1 .headingText1_inr div a:hover {
  color: #3366cc;
  text-decoration: underline;
}

.cp_HeadingText1 .headingText1_inr div, .cp_2ColList > dl dd, .cp_TextWithImages .common_inr div  {
  word-wrap : break-word;
  overflow-wrap : break-word;
}

:is(.cp_HeadingText1 .headingText1_inr div, .cp_2ColList > dl dd, .cp_TextWithImages .common_inr div) a[href*='http'] {
  word-break: break-all;
}

.cp_HeadingText1 .headingText1_inr ul, .cp_HeadingText1 .headingText1_inr ol, .cp_2ColList > dl dd ul, .cp_2ColList > dl dd ol,
.cp_RightImageCarousel .teaser_txt ul, .cp_RightImageCarousel .teaser_txt ol, .cp_2ColImage .colImage2_col_cap ul, .cp_2ColImage .colImage2_col_cap ol,
.cp_LeftImageText .leftImageText_txt ul, .cp_LeftImageText .leftImageText_txt ol, .cp_RightImageText .rightImageText_txt ul, .cp_RightImageText .rightImageText_txt ol,
.multiple_col .multiple_txt ul, .multiple_col .multiple_txt ol {
  margin-left: 25px;
  font-size: 1.6rem;  /* kelk */
}

.cp_2ColList > dl dd ul:first-child , .cp_2ColList > dl dd ol:first-child {
  margin-top: 0;
}


@media screen and (max-width: 767px) {
  .cp_HeadingText1 .headingText1_inr ul, .cp_HeadingText1 .headingText1_inr ol, .cp_2ColList > dl dd ul, .cp_2ColList > dl dd ol,
  .cp_RightImageCarousel .teaser_txt ul, .cp_RightImageCarousel .teaser_txt ol, .cp_2ColImage .colImage2_col_cap ul, .cp_2ColImage .colImage2_col_cap ol,
  .cp_LeftImageText .leftImageText_txt ul, .cp_LeftImageText .leftImageText_txt ol, .cp_RightImageText .rightImageText_txt ul, .cp_RightImageText .rightImageText_txt ol,
  .multiple_col .multiple_txt ul, .multiple_col .multiple_txt ol {
    margin-left: 20px;
    font-size: 1.4rem;
  }
}

.cp_HeadingText1 .headingText1_inr ul, .cp_2ColList > dl dd ul, .cp_RightImageCarousel .teaser_txt ul, .cp_2ColImage .colImage2_col_cap ul,
.cp_LeftImageText .leftImageText_txt ul, .cp_RightImageText .rightImageText_txt ul, .multiple_col .multiple_txt ul {
  list-style: disc;
}

.cp_HeadingText1 .headingText1_inr ol , .cp_2ColList > dl dd ol, .cp_RightImageCarousel .teaser_txt ol, .cp_2ColImage .colImage2_col_cap ol,
.cp_LeftImageText .leftImageText_txt ol, .cp_RightImageText .rightImageText_txt ol, .multiple_col .multiple_txt ol {
  list-style: decimal;
}

.cp_RightImageCarousel .teaser_txt ul + *, .cp_RightImageCarousel .teaser_txt ol + *,
.cp_2ColImage .colImage2_col_cap ul + *, .cp_2ColImage .colImage2_col_cap ol + *,
.cp_LeftImageText .leftImageText_txt ul + *, .cp_LeftImageText .leftImageText_txt ol + *,
.cp_RightImageText .rightImageText_txt ul + *, .cp_RightImageText .rightImageText_txt ol + *,
.multiple_col .multiple_txt ul + *, .multiple_col .multiple_txt ol + * {
    margin-top: 1.5rem;
}

.cp_HeadingText1 .headingText1_inr sup, .cp_HeadingText1 .headingText1_inr sub {
  position: relative;
  font-size: 70%;
}

.cp_HeadingText1 .headingText1_inr sup {
  vertical-align: text-top;
}

.cp_HeadingText1 .headingText1_inr sub {
  vertical-align: baseline;
}

.cp_HeadingText1 .headingText1_h2 {
  font-weight: normal;
  text-align: left;
}

@media screen and (min-width: 768px), print {
  .cp_HeadingText1 .headingText1_h2 {
    margin-bottom: 32px; /* kelk */
    font-size: 3rem;
    letter-spacing: normal;
    line-height: 1.6; /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_HeadingText1 .headingText1_h2 {
    margin-bottom: 24px; /* kelk */
    font-size: 2.4rem;
    letter-spacing: normal;
    line-height: 1.2;
  }
}

.cp_HeadingText1 .headingText1_h3 {
  color: #140a9a;
  font-weight: normal;
  text-align: left;
}

@media screen and (min-width: 768px), print {
  .cp_HeadingText1 .headingText1_h3 {
    margin-bottom: 24px; /* kelk */
    font-size: 2.2rem;
    letter-spacing: normal;
    line-height: 1.6;    /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_HeadingText1 .headingText1_h3 {
    margin-bottom: 16px; /* kelk */
    font-size: 1.8rem;   /* kelk */
    letter-spacing: normal;
    line-height: 1.5;    /* kelk */
  }
}

.cp_HeadingText1 .headingText1_btn {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-right: 30px;
  padding-left: 30px;
  border-radius: 6px;
  background-color: #ffc82f;
  color: #2a3238;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 1;
  text-align: center;
  text-decoration: none!important;
}

@media screen and (min-width: 768px), print {
  .cp_HeadingText1 .headingText1_btn {
    width: 300px;
    height: 60px;
    font-size: 1.6rem;   /* kelk */
    line-height: 2.0;    /* kelk */
  }
}

.cp_HeadingText1 .headingText1_btn:hover {
  background-color: #ffd359;
  color: #4c5459;
}

@media screen and (max-width: 767px) {
  .cp_HeadingText1 .headingText1_btn {
    width: 100%;
    height: 50px;
    font-size: 1.4rem;   /* kelk */
    line-height: 1.8;    /* kelk */
  }
}

@media screen and (min-width: 768px), print {
  .cp_HeadingText1 .headingText1_btn {
    margin-top: 40px;
  }
}

@media screen and (max-width: 767px) {
  .cp_HeadingText1 .headingText1_btn {
    margin-top: 25px;
  }
}

.cp_HeadingText1 .headingText1_txt-lnk {
  display: inline-block;
  position: relative;
  color: #3366cc;
}

@media screen and (min-width: 768px), print {
  .cp_HeadingText1 .headingText1_txt-lnk {
    margin-top: 20px;
    font-size: 1.6rem;    /* kelk */
    line-height: 1.1;
  }
}

@media screen and (max-width: 767px) {
  .cp_HeadingText1 .headingText1_txt-lnk {
    margin-top: 10px;
    padding: 7px 0;
    font-size: 14px;
    line-height: 1.1;
  }
}

.cp_HeadingText1 .headingText1_txt-lnk::before {
  position: absolute;
  top: 45%;
  right: -15px;
  width: 9px;
  height: 9px;
  -webkit-transform: scaleY(0.65) rotate(45deg) translateY(-50%);
          transform: scaleY(0.65) rotate(45deg) translateY(-50%);
  border-top: 2px solid #3366cc;
  border-right: 2px solid #3366cc;
  content: "";
}

@media screen and (max-width: 767px) {
  .cp_HeadingText1 .headingText1_txt-lnk::before {
    right: -15px;
    width: 9px;
    height: 9px;
    -webkit-transform: scaleY(0.65) rotate(45deg) translateY(-50%);
            transform: scaleY(0.65) rotate(45deg) translateY(-50%);
    border-top: 1px solid #3366cc;
    border-right: 1px solid #3366cc;
  }
}

.cp_HeadingText1 .headingText1_txt-lnk:hover::before {
  border-color: #3366cc;
}

.cp_tab {
    max-width: var(--cp-max-width);
    margin: 0 auto 40px;
}

.cp_tab .tab_inr {
    width: 100%;
    padding: 0 8vw;
}

@media screen and (min-width: 768px), print {
  .cp_tab .tab_inr {
    padding: 0 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_tab .tab_inr{
    padding: 0 calc( 53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px){
  .cp_tab .tab_inr {
    padding: 0 100px;
  }
}

/* HeadingText+Tab */
.cp_HeadingText1 .cp_tab{
    margin: 0;
}
.cp_HeadingText1 .cp_tab .tab_inr {
    padding: 0;
}

.cp_tab .tab_inr .tab_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
  list-style: none;
}

.cp_tab .tab_inr .tab_link li {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-bottom: 1px solid #A6ABAF;
  font-size: 15px;
  letter-spacing: 0.95px;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .cp_tab .tab_inr .tab_small li {
    font-size: 1.2rem;
  }
}

.cp_tab .tab_inr .tab_link li.active {
  border-top: 1px solid #A6ABAF;
  border-right: 1px solid #A6ABAF;
  border-bottom: 0;
  border-left: 1px solid #A6ABAF;
}

.cp_tab .tab_inr .tab_link li.active a {
  color: #3366cc;
}

.cp_tab .tab_inr .tab_link li a {
  width: 100%;
  padding: 12px 0;
  color: #000;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.cp_tab .tab_inr .tab_link li a:hover {
  color: #3366cc;
  text-decoration: underline;
}

/* ---- unused
.cp_tab.cp_2tab ul li {
  width: 50%;
}

.cp_tab.cp_6tab ul li {
  width: calc(100% / 6);
}*/

.cp_tab_contents .cp_tab_content {
  display: none;
  padding: 50px 20px;
}

.cp_tab_contents .cp_tab_content.active {
  display: block;
}

.cp_TabContents .tab_content_wrap {
    padding-top:  40px;
}

.cp_TabContents .tab_content_wrap .tab_content {
    display:none;
}

.cp_TabContents .tab_content_wrap .tab_content.active {
    display: block;
}

.cp_TabContents .cp_Banner .bnr_inner, 
.cp_TabContents .cp_Link, .cp_TabContents .link_layout .cp_Link:first-child ,
.cp_TabContents .headingText1_inr,
.cp_TabContents .cp_2ColImage .colImage2_inr,
.cp_TabContents .cp_3ColMojule .colMojule3_inr,
.cp_TabContents .cp_3ColVideo .colVideo3_inr,
.cp_TabContents .cp_5ColMojule .colMojule5_inr,
.cp_TabContents .cp_LeftImageText .leftImageText_inr,
.cp_TabContents .cp_RightImageText .rightImageText_inr,
.cp_TabContents .cp_2ColList > dl, .cp_TabContents .cp_3ColList > dl,
.cp_TabContents .cp_MultipleModule .multiple_inr,
.cp_TabContents .cp_ScrollTable .listResult_inr {
    margin-top: 0;
    padding-right: 0;
    padding-left: 0;
}

@media screen and (max-width: 767px) {
  .cp_TabContents .cp_Link .link_ul {
    margin: 0;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .cp_TabContents .contact_ifame {
    margin: 0 -15px; /* reCAPTCHAサイズ対応 */
  }
}

.cp_TabContents .contact_ifame iframe {
    border: 0;
    width: 100%;
    opacity: 0;
}

.cp_TabContents .contact_ifame iframe.lazyloaded {
  opacity: 1;
}

.cp_ColText1 {
  max-width: var(--cp-max-width);
  margin: 0 auto 100px;
}

@media screen and (min-width: 768px), print {
  .cp_ColText1 .colText1_inr {
    padding: 0;
    padding-right: 53px;
    padding-left: 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_ColText1 .colText1_inr {
    padding-left: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_ColText1 .colText1_inr {
    padding-left: 100px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_ColText1 .colText1_inr {
    padding-right: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_ColText1 .colText1_inr {
    padding-right: 100px;
  }
}

@media screen and (max-width: 767px) {
  .cp_ColText1 .colText1_inr {
    width: 100%;
    padding: 0 8vw;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ColText1 .colText1_inr > p {
    font-size: 1.9rem;
    letter-spacing: 0.95px;
    line-height: 2;
  }
}

@media screen and (max-width: 767px) {
  .cp_ColText1 .colText1_inr > p {
    font-size: 1.4rem;
    letter-spacing: 1.43px;
    line-height: 2.04;
  }
}

.cp_ColText1 .colText1_h2 {
  font-weight: normal;
  text-align: left;
}

@media screen and (min-width: 768px), print {
  .cp_ColText1 .colText1_h2 {
    font-size: 3.2rem;
    letter-spacing: 6.4px;
    line-height: 1.45;
  }
}

@media screen and (max-width: 767px) {
  .cp_ColText1 .colText1_h2 {
    font-size: 2.4rem;
    letter-spacing: 4.16px;
    line-height: 1.4;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ColText1 .colText1_h2 + p {
    margin-top: 28px;
  }
}

@media screen and (max-width: 767px) {
  .cp_ColText1 .colText1_h2 + p {
    margin-top: 14px;
  }
}

.cp_ColText1 .colText1_btn {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-right: 30px;
  padding-left: 30px;
  border-radius: 6px;
  background-color: #ffc82f;
  color: #fff;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 1;
  text-align: center;
}

@media screen and (min-width: 768px), print {
  .cp_ColText1 .colText1_btn {
    width: 300px;
    height: 60px;
    font-size: 1.5rem;
    line-height: 1.3;
  }
  .cp_ColText1 .colText1_btn:hover {
    background-color: #ffd359;
    color: #fff;
  }
}

.cp_ColText1 .colText1_btn:hover {
  background-color: #ffd359;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .cp_ColText1 .colText1_btn {
    width: 100%;
    height: 50px;
    font-size: 1.3rem;
    line-height: 1.2;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ColText1 .colText1_btn {
    margin-top: 40px;
  }
}

@media screen and (max-width: 767px) {
  .cp_ColText1 .colText1_btn {
    margin-top: 25px;
  }
}

.cp_2ColList {
  margin: 0 auto 64px;  /* kelk */
}

@media screen and (min-width: 768px), print {
  .cp_2ColList {
    max-width: var(--cp-max-width);
  }
}

@media screen and (min-width: 768px), print {
  .cp_2ColList > dl {
    padding-right: 47.7px;
    padding-left: 47.7px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_2ColList > dl {
    padding: 0 calc(47.7px + 42.3 * (100vw - 769px) / 671); /* kelk */
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_2ColList > dl {
    padding: 0 100px; /* kelk */
  }
}
/* kelk 
@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_2ColList > dl {
    padding-right: calc(47.7px + 42.3 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_2ColList > dl {
    padding-right: 90px;
  }
}*/

@media screen and (max-width: 767px) {
  .cp_2ColList > dl {
    padding: 0 8vw;
  }
}

.cp_2ColList > dl > div {
  border-bottom: solid 1px var(--cp-light-gray);  /* kelk */
}

/* kelk
.cp_2ColList > dl > div:first-of-type {
  border-top: solid 1px var(--cp-light-gray);
}*/

@media screen and (min-width: 768px), print {
  .cp_2ColList > dl > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding: 20px 0;
  }
}

@media screen and (max-width: 767px) {
  .cp_2ColList > dl > div {
    padding: 10px 0;
  }
}

.cp_2ColList > dl dt {
  color: #000000; /* kelk */
  font-weight: bold;
}

@media screen and (min-width: 768px), print {
  .cp_2ColList > dl dt {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 159px;
    margin-right: 40px;    /* kelk */
    font-size: 1.6rem;     /* kelk */
    letter-spacing: 0.95px;
    line-height: 2.0;      /* kelk */
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_2ColList > dl dt {
    width: calc(159px + 141 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_2ColList > dl dt {
    width: 300px;
  }
}

@media screen and (max-width: 767px) {
  .cp_2ColList > dl dt {
    margin-bottom: 12px;
    font-size: 1.4rem;
    letter-spacing: 1.43px;
    line-height: 1.8;    /* kelk */
  }
}

.cp_2ColList > dl dt a, 
.cp_2ColList > dl dd a {
  color: #3366cc;
}

.cp_2ColList > dl dt a:hover, 
.cp_2ColList > dl dd a:hover {
  color: #3366cc;
  text-decoration: underline;
}

.cp_2ColList > dl dd {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  width: auto;
}

@media screen and (min-width: 768px), print {
  .cp_2ColList > dl dd {
    display: block !important;
    font-size: 1.6rem;  /* kelk */
    letter-spacing: 1.95px;
    line-height: 2;     /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_2ColList > dl dd {
    font-size: 1.4rem;
    letter-spacing: 1.43px;
    line-height: 1.8;    /* kelk */
  }
}

.cp_2ColList.half > dl > div dt,
.cp_2ColList.half > dl > div dd {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}

@media screen and (max-width: 767px) {
  .cp_2ColList.table > dl > div {
    padding: 10px 0;
  }
}

.cp_2ColList.table > dl > div dt {
  color: #000;
}

@media screen and (max-width: 767px) {
  .cp_2ColList.table > dl > div dt {
    position: relative;
    margin-bottom: 0;
    padding: 15px 27px 15px 0;
    font-size: 1.4rem;
    letter-spacing: 1.43px;
  }
  .cp_2ColList.table > dl > div dt::before, .cp_2ColList.table > dl > div dt::after {
    display: block;
    position: absolute;
    top: 0;
    right: 5px;
    bottom: 0;
    width: 20px;
    height: 3px;
    margin: auto;
    border-radius: 3px;
    background-color: #a5abaf;
    content: "";
  }
  .cp_2ColList.table > dl > div dt::after {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  .cp_2ColList.table > dl > div dt.open::after {
    display: none;
  }
}

@media screen and (min-width: 768px), print {
  .cp_2ColList.table > dl > div dd {
    -webkit-box-flex: 3;
        -ms-flex: 3 1 0px;
            flex: 3 1 0px;
    margin-right: 30px;
    font-size: 1.6rem;    /* kelk */
    letter-spacing: 0.95px;
    line-height: 2;       /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_2ColList.table > dl > div dd {
    margin-top: 5px;
    font-size: 1.4rem;
    letter-spacing: 1.43px;
    text-align: right;
  }
}

.cp_2ColList.table > dl > div dd:last-of-type {
  -webkit-box-flex: 2;
      -ms-flex: 2 1 0px;
          flex: 2 1 0px;
  margin-right: 0;
}

.cp_2ColList.table > dl > div dd.headline {
  margin-top: 10px;
  border-bottom: 1px dotted #a5abaf;
  font-weight: bold;
  text-align: left;
}

@media screen and (min-width: 768px), print {
  .cp_2ColList.table > dl > div dd.headline {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .cp_2ColList.table > dl > div:first-of-type {
    display: none !important;
  }
}

.cp_2ColList.table > dl > div:first-of-type dt,
.cp_2ColList.table > dl > div:first-of-type dd {
  font-size: 1.6rem;  /* kelk */
  font-weight: bold;
  letter-spacing: 2.9px;
  line-height: 2.15;
}

.cp_2ColList.table > dl > div:first-of-type dt {
  text-align: left;
}

.cp_3ColList {
  margin: 0 auto 64px;  /* kelk */
}

@media screen and (min-width: 768px), print {
  .cp_3ColList {
    max-width: var(--cp-max-width);
  }
}

@media screen and (min-width: 768px), print {
  .cp_3ColList > dl {
    padding-right: 47.7px;
    padding-left: 47.7px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_3ColList > dl {
    padding-left: calc(47.7px + 42.3 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_3ColList > dl {
    padding: 0 100px;  /* kelk */
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_3ColList > dl {
    padding-right: calc(47.7px + 42.3 * (100vw - 769px) / 671);
  }
}
/* kelk
@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_3ColList > dl {
    padding-right: 90px;
  }
}*/

@media screen and (max-width: 767px) {
  .cp_3ColList > dl {
    padding: 0 8vw;
  }
}

.cp_3ColList > dl > div {
  border-bottom: solid 1px var(--cp-light-gray);  /* kelk */
}

/* kelk
.cp_3ColList > dl > div:first-of-type {
  border-top: solid 1px var(--cp-light-gray);
} */

@media screen and (min-width: 768px), print {
  .cp_3ColList > dl > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding: 20px 0;
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColList > dl > div {
    padding: 10px 0;
  }
}

.cp_3ColList > dl > div dt {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #000000;  /* kelk */
  font-weight: bold;
}

@media screen and (min-width: 768px), print {
  .cp_3ColList > dl > div dt {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 180.2px;
    margin-right: 40px;    /* kelk */
    font-size: 1.6rem;    /* kelk */
    letter-spacing: 0.95px;
    line-height: 2.0;    /* kelk */
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_3ColList > dl > div dt {
    width: calc(180.2px + 159.8 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_3ColList > dl > div dt {
    width: 340px;
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColList > dl > div dt {
    position: relative;
    padding: 15px 27px 15px 0;
    font-size: 1.4rem;
    letter-spacing: 1.43px;
  }
  .cp_3ColList > dl > div dt::before, .cp_3ColList > dl > div dt::after {
    display: block;
    position: absolute;
    top: 0;
    right: 5px;
    bottom: 0;
    width: 20px;
    height: 3px;
    margin: auto;
    border-radius: 3px;
    background-color: #a5abaf;
    content: "";
  }
  .cp_3ColList > dl > div dt::after {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  .cp_3ColList > dl > div dt.open::after {
    display: none;
  }
}

.cp_3ColList > dl > div dt a,
.cp_3ColList > dl > div dd a {
  color: #3366cc;
}

.cp_3ColList > dl > div dt a:hover,
.cp_3ColList > dl > div dd a:hover {
  color: #3366cc;
  text-decoration: underline;
}

.cp_3ColList > dl > div dd {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}

@media screen and (min-width: 768px), print {
  .cp_3ColList > dl > div dd {
    display: block !important;
    font-size: 15px;
    letter-spacing: 1.5px;
    line-height: normal;
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColList > dl > div dd {
    margin-top: 5px;
    font-size: 1.4rem;    /* kelk */
    letter-spacing: 1.43px;
    line-height: 1.8;    /* kelk */
  }
}

@media screen and (min-width: 768px), print {
  .cp_3ColList > dl > div dd:first-of-type {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-right: 30px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_3ColList > dl > div dd:last-of-type {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 240px;
            flex: 0 0 240px;
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColList > dl > div dd:last-of-type {
    margin: 15px 0;
  }
}

.cp_3ColList > dl > div dd figure img {
  display: block;
  width: 240px;
  max-width: 100%;
  height: 240px;
  -o-object-fit: contain;
     object-fit: contain;
}

@media screen and (min-width: 768px), print {
  .cp_3ColList > dl > div dd figure img {
    margin-left: auto;
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColList > dl > div dd figure img {
    margin: 0 auto;
  }
}

.cp_3ColList > dl > div dd.aspect3-2 figure img {
  width: 240px;
  height: 160px;
}

.cp_3ColList > dl > div dd.aspect2-3 figure img {
  width: 160px;
  height: 240px;
}

.cp_3ColList > dl > div dd .name {
  font-weight: bold;
}

@media screen and (min-width: 768px), print {
  .cp_3ColList > dl > div dd strong {
    font-size: 2.1rem;
    letter-spacing: 2.1px;
    line-height: 1.68;
  }
  /* Notes */
  .cp_3ColList > dl > div dd em > strong, .cp_3ColList > dl > div dd strong > em {
    font-size: 1.2rem;
    letter-spacing: 1.6px;    /* kelk */
    line-height: 2;    /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColList > dl > div dd strong {
    font-size: 1.4rem;
    letter-spacing: 1.43px;
  }
  /* Notes */
  .cp_3ColList > dl > div dd em > strong, .cp_3ColList > dl > div dd strong > em {
    font-size: 1.4rem;    /* kelk */
    line-height: 1.8;    /* kelk */
  }
}

@media screen and (min-width: 768px), print {
  .cp_3ColList > dl > div dd .caption {
    margin-top: 7px;
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColList > dl > div dd .caption {
    margin-top: 5px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_3ColList.text > dl div dt,
  .cp_3ColList.text > dl div dd {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto;
  }
}

.cp_3ColList.img33 > dl > div dd figure img {
  width: 100%;
}

.cp_3ColList.img33 > dl > div dd:last-of-type {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 33%;
          flex: 0 0 33%;
}

.cp_3ColList.table > dl > div dt {
  -webkit-box-flex: 4;
      -ms-flex: 4 1 0px;
          flex: 4 1 0px;
  color: #000;
}

.cp_3ColList.table > dl > div dd {
  text-align: right;
}

@media screen and (min-width: 768px), print {
  .cp_3ColList.table > dl > div dd {
    -webkit-box-flex: 3;
        -ms-flex: 3 1 0px;
            flex: 3 1 0px;
    margin-right: 30px;
    font-size: 1.6rem;    /* kelk */
    letter-spacing: 2.9px;
    line-height: 2.15;
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColList.table > dl > div dd {
    font-size: 1.4rem;
    letter-spacing: 1.8px;    /* kelk */
  }
}

.cp_3ColList.table > dl > div dd:last-of-type {
  -webkit-box-flex: 2;
      -ms-flex: 2 1 0px;
          flex: 2 1 0px;
  margin-right: 0;
}

.cp_3ColList.table > dl > div dd.headline {
  margin-top: 10px;
  border-bottom: 1px dotted #a5abaf;
  font-weight: bold;
  text-align: left;
}

@media screen and (min-width: 768px), print {
  .cp_3ColList.table > dl > div dd.headline {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColList.table > dl > div:first-of-type {
    display: none !important;
  }
}

.cp_3ColList.table > dl > div:first-of-type dt,
.cp_3ColList.table > dl > div:first-of-type dd {
  font-size: 1.9rem;
  font-weight: bold;
  letter-spacing: 2.9px;
  line-height: 2.15;
  text-align: right;
}

.cp_3ColList.table > dl > div:first-of-type dt {
  text-align: left;
}

.cp_LinkInfoBox {
  margin: 0 auto 64px;  /* kelk */
  background-color: #f6f6f6;
}

@media screen and (min-width: 768px), print {
  .cp_LinkInfoBox {
    padding-bottom: 19px;
  }
}

@media screen and (max-width: 767px) {
  .cp_LinkInfoBox {
    padding-bottom: 25px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_LinkInfoBox .linkInfoBox_inr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: var(--cp-max-width);
    margin: 0 auto;
    padding: 50px 0 30px;
    padding-right: 53px;
    padding-left: 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_LinkInfoBox .linkInfoBox_inr {
    padding-left: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_LinkInfoBox .linkInfoBox_inr {
    padding-left: 100px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_LinkInfoBox .linkInfoBox_inr {
    padding-right: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_LinkInfoBox .linkInfoBox_inr {
    padding-right: 100px;
  }
}

@media screen and (max-width: 767px) {
  .cp_LinkInfoBox .linkInfoBox_inr {
    width: 100%;
    padding: 25px 8vw 0;
  }
}

@media screen and (min-width: 768px), print {
  .cp_LinkInfoBox .linkInfoBox_title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-right: 100px;
    padding-right: 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_LinkInfoBox .linkInfoBox_title {
    padding-right: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_LinkInfoBox .linkInfoBox_title {
    padding-right: 100px;
  }
}

@media screen and (max-width: 767px) {
  .cp_LinkInfoBox .linkInfoBox_title {
    padding-bottom: 10px;
    border-bottom: 1px solid var(--cp-light-gray);    /* kelk */
  }
}

.cp_LinkInfoBox .linkInfoBox_title-h3 {
  font-family: Arial, "Noto Sans Japanese", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Myriad Pro, Myriad, sans-serif;
  font-weight: normal;
  text-align: left;
}

@media screen and (min-width: 768px), print {
  .cp_LinkInfoBox .linkInfoBox_title-h3 {
    font-size: 4.0rem;    /* kelk */
    letter-spacing: normal;
    line-height: 1.6;    /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_LinkInfoBox .linkInfoBox_title-h3 {
    font-size: 2.4rem;    /* kelk */
    letter-spacing: normal;
    line-height: 1.5;    /* kelk */
  }
}

@media screen and (min-width: 768px), print {
  .cp_LinkInfoBox .linkInfoBox_contents {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

@media screen and (max-width: 767px) {
  .cp_LinkInfoBox .linkInfoBox_contents {
    margin-top: 18px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_LinkInfoBox .linkInfoBox_dl {
    position: relative;
    padding-left: 30px;
  }
  .cp_LinkInfoBox .linkInfoBox_dl::after {
    position: absolute;
    top: 6px;
    left: 0;
    width: 1px;
    height: calc(100% - 10px);
    background-color: var(--cp-light-gray);
    content: "";
  }
}

@media screen and (min-width: 768px), print {
  .cp_LinkInfoBox .linkInfoBox_dl div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 12px;    /* kelk */
  }
}

.cp_LinkInfoBox .linkInfoBox_dl div:last-child {
  margin-bottom: 0;
}

.cp_LinkInfoBox .linkInfoBox_dl div dt {
  color: #4C5459;  /* kelk */
  /*  font-weight: bold; kelk */
}

@media screen and (min-width: 768px), print {
  .cp_LinkInfoBox .linkInfoBox_dl div dt {
    width: 11em;
    font-size: 16px;
    letter-spacing: 0.95px;
    line-height: 2;    /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_LinkInfoBox .linkInfoBox_dl div dt {
    font-size: 16px;
    letter-spacing: normal;
    line-height: 2;    /* kelk */
  }
}

@media screen and (min-width: 768px), print {
  .cp_LinkInfoBox .linkInfoBox_dl div dd {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    font-size: 16px;
    letter-spacing: 0.95px;
    line-height: 2;    /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_LinkInfoBox .linkInfoBox_dl div dd {
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 14px;    /* kelk */
    letter-spacing: normal;
    line-height: 1.8;    /* kelk */
  }
}

.cp_LinkInfoBox .linkInfoBox_dl div dd a {
  position: relative;
  text-indent: 0rem;
}

@media screen and (min-width: 768px), print {
  .cp_LinkInfoBox .linkInfoBox_dl div dd a {
    display: inline-block;
  }
}

@media screen and (max-width: 767px) {
  .cp_LinkInfoBox .linkInfoBox_dl div dd a {
    display: block;
  }
}

.cp_LinkInfoBox .linkInfoBox_for {
  text-align: right;
}

@media screen and (min-width: 768px), print {
  .cp_LinkInfoBox .linkInfoBox_for {
    max-width: 1440px; /* kelk */
    margin: 12px auto 0;    /* kelk */
    padding-right: 40px;
  }
}

@media screen and (max-width: 767px) {
  .cp_LinkInfoBox .linkInfoBox_for {
    width: 100%;
    margin: 20px auto 0;    /* kelk */
    padding-right: 50px;
  }
}

.cp_LinkInfoBox .linkInfoBox_for > a {
  position: relative;
  color: #3366cc;
}

.cp_LinkInfoBox .linkInfoBox_for > a:hover {
  color: #3366cc;
  text-decoration: underline;
}

@media screen and (min-width: 768px), print {
  .cp_LinkInfoBox .linkInfoBox_for > a {
    font-size: 16px;
    line-height: 1.1;
  }
}

@media screen and (max-width: 767px) {
  .cp_LinkInfoBox .linkInfoBox_for > a {
    padding: 7px 0;
    font-size: 14px;
    line-height: 1.1;
  }
}

.cp_LinkInfoBox .linkInfoBox_for > a::before {
  position: absolute;
  top: 7px;
  right: -15px;
  width: 9px;
  height: 9px;
  -webkit-transform: scaleY(0.65) rotate(45deg);
          transform: scaleY(0.65) rotate(45deg);
  border-top: 2px solid #3366cc;
  border-right: 2px solid #3366cc;
  content: "";
}

@media screen and (max-width: 767px) {
  .cp_LinkInfoBox .linkInfoBox_for > a::before {
    top: 13px;
    right: -15px;
    width: 9px;
    height: 9px;
    -webkit-transform: scaleY(0.65) rotate(45deg);
            transform: scaleY(0.65) rotate(45deg);
    border-top: 1px solid #3366cc;
    border-right: 1px solid #3366cc;
  }
}

.cp_Banner {
  margin: 0 auto 64px;  /* kelk */
}

@media screen and (min-width: 768px), print {
  .cp_Banner {
    max-width: var(--cp-max-width);
  }
}

@media screen and (min-width: 768px), print {
  .cp_Banner .bnr_inner {
    padding: 0 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_Banner .bnr_inner {
    padding: 0 calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_Banner .bnr_inner {
    padding: 0 100px;
  }
}

@media screen and (max-width: 767px) {
  .cp_Banner + .cp_Banner {
    margin-top: -25px;
  }

  .cp_Banner .bnr_inner {
    padding: 0 8vw;
  }
}

.cp_Banner .bnr_inner > ul {
    display: flex;
    justify-content: flex-start;
}

@media screen and (max-width: 767px) {
  .cp_Banner .bnr_inner > ul {
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 25px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_Banner .bnr_inner > ul > li {
    width: calc((100% - 20px* 3) / 4);
  }
  .cp_Banner .bnr_inner > ul > li + li {
    margin-left: 20px;
  }
}

@media screen and (max-width: 767px) {
  .cp_Banner .bnr_inner > ul > li {
    width: calc(50% - 5px);
  }
}

.cp_Banner .bnr_inner > ul > li figure img {
    width: 100%;
    height: auto!important;
}

.cp_Banner .bnr_inner > ul > li figure a::after {
    content: none;
}

@media screen and (min-width: 768px), print {
  .cp_Banner .bnr_inner > ul > li a:hover img {
    opacity: 0.9;
  }
}

.cp_Banner .bnr_inner h4 ,.cp_Banner .bnr_inner h4 a{
    color: #140a9a;
    font-weight: normal;
    margin-top: 5px;
    letter-spacing: normal;
}

@media screen and (min-width: 768px), print {
  .cp_Banner .bnr_inner h4 {
    font-size: 1.8rem;
    line-height: 1.5;    /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_Banner .bnr_inner h4 {
    font-size: 1.6rem;
    line-height: 1.5;    /* kelk */
  }
}

.cp_Banner .bnr_inner .bnr_text {
    margin-top: 16px; /* kelk */
    line-height: normal;
}

@media screen and (min-width: 768px), print {
  .cp_Banner .bnr_inner .bnr_text {
    font-size: 1.6rem;
    line-height: 2;    /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_Banner .bnr_inner .bnr_text {
    font-size: 1.4rem;
    letter-spacing: 1.2px;
    line-height: 1.8;    /* kelk */
  }
}

@media screen and (min-width: 768px), print {
  .cp_Banner .bnr_btn {
    max-width: 300px;
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .cp_Banner .bnr_btn {
    margin-top: 15px;
  }
}

.cp_Accordion {
  max-width: var(--cp-max-width);
  margin: 0 auto 64px;  /* kelk */
}

@media screen and (min-width: 768px), print {
  .cp_Accordion .accordion_inr {
    padding: 0;
    padding-right: 53px;
    padding-left: 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_Accordion .accordion_inr {
    padding-left: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_Accordion .accordion_inr {
    padding-left: 100px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_Accordion .accordion_inr {
    padding-right: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_Accordion .accordion_inr {
    padding-right: 100px;
  }
}

@media screen and (max-width: 767px) {
  .cp_Accordion .accordion_inr {
    width: 100%;
    padding: 0 8vw;
  }
}

/* kelk
.cp_Accordion .accordion_dl {
  border-top: 1px solid #a5abaf;
}*/

.cp_Accordion .accordion_dl-wrap {
  border-bottom: 1px solid var(--cp-light-gray);  /* kelk */
}

.cp_Accordion .accordion_dt {
  position: relative;
/*  border-bottom: 1px solid #fff; kelk */
  -webkit-transition: .2s;
  transition: .2s;
  cursor: pointer;
}

@media screen and (min-width: 768px), print {
  .cp_Accordion .accordion_dt {
    padding: 24px 65px 24px 0;    /* kelk */
    height: 80px; /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_Accordion .accordion_dt {
    padding: 20px 35px 20px 0;
  }
}

.cp_Accordion .accordion_dt::before, .cp_Accordion .accordion_dt::after {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 20px;
  height: 3px;
  margin: auto;
  border-radius: 3px;
  background-color: #a5abaf;
  content: "";
}

@media screen and (min-width: 768px), print {
  .cp_Accordion .accordion_dt::before, .cp_Accordion .accordion_dt::after {
    right: 0;    /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_Accordion .accordion_dt::before, .cp_Accordion .accordion_dt::after {
    right: 5px;
  }
}

.cp_Accordion .accordion_dt::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.cp_Accordion .accordion_dt.open {
  border-bottom: 1px solid var(--cp-light-gray); /* kelk */
  -webkit-transition: .2s;
  transition: .2s;
}

.cp_Accordion .accordion_dt.open::after {
  display: none;
}

.cp_Accordion .accordion_dt-inr {
  text-align: left;
  cursor: pointer;
}

@media screen and (min-width: 768px), print {
  .cp_Accordion .accordion_dt-inr {
    font-size: 1.6rem;    /* kelk */
    letter-spacing: 0.95px;
    line-height: 2;
  }
}

@media screen and (max-width: 767px) {
  .cp_Accordion .accordion_dt-inr {
    font-size: 1.4rem;
    letter-spacing: 1.43px;
    line-height: 2.04;
  }
}

.cp_Accordion .accordion_dd {
  display: none;
}

@media screen and (min-width: 768px), print {
  .cp_Accordion .accordion_dd-inr {
    padding: 20px 0px 25px 0;
  }
}

@media screen and (max-width: 767px) {
  .cp_Accordion .accordion_dd-inr {
    padding: 15px 0px 20px 0;
  }
}

@media screen and (min-width: 768px), print {
  .cp_Accordion .accordion_dd-inr > p {
    font-size: 1.9rem;
    letter-spacing: 0.95px;
    line-height: 2;
  }
}

@media screen and (max-width: 767px) {
  .cp_Accordion .accordion_dd-inr > p {
    font-size: 1.4rem;
    letter-spacing: 1.43px;
    line-height: 2.04;
  }
}

.cp_Accordion .accordion_dd-inr > p > a {
  color: #140a9a;
}

.cp_Accordion .headingText1_inr,
.cp_Accordion .cp_2ColList > dl,
.cp_Accordion .cp_3ColList > dl,
.cp_Accordion .cp_Link,
.cp_Accordion .link_layout .cp_Link:first-child,
.cp_Accordion .cp_5ColMojule .colMojule5_inr,
.cp_Accordion .cp_TableList .listResult_inr,
.cp_Accordion .cp_Banner .bnr_inner {
  margin-top: 0;
  padding-right: 0;
  padding-left: 0;
}

@media screen and (max-width: 767px) {
  .cp_Accordion .cp_Link .link_ul {
    width: inherit;
    margin: 0;
  }
}

.cp_Accordion .accordion_dd-h5 {
  font-weight: bold;
}

@media screen and (min-width: 768px), print {
  .cp_Accordion .accordion_dd-h5 {
    margin-top: 15px;
    font-size: 1.9rem;
    letter-spacing: 0.95px;
    line-height: 2;
  }
}

@media screen and (max-width: 767px) {
  .cp_Accordion .accordion_dd-h5 {
    margin-top: 10px;
    font-size: 1.4rem;
    letter-spacing: 1.43px;
    line-height: 2.04;
  }
}

@media screen and (min-width: 768px), print {
  .cp_Accordion .accordion_dd-img {
    margin-top: 15px;
  }
  .cp_Accordion .accordion_dd-img > img {
    width: auto;
  }
}

@media screen and (max-width: 767px) {
  .cp_Accordion .accordion_dd-img {
    margin-top: 10px;
  }
  .cp_Accordion .accordion_dd-img > img {
    display: block;
    width: 100%;
  }
}

.cp_Accordion .accordion_btn {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-right: 30px;
  padding-left: 30px;
  border-radius: 6px;
  background-color: #ffc82f;
  color: #fff;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 1;
  text-align: center;
}

@media screen and (min-width: 768px), print {
  .cp_Accordion .accordion_btn {
    width: 300px;
    height: 60px;
    font-size: 1.5rem;
    line-height: 1.3;
  }
  .cp_Accordion .accordion_btn:hover {
    background-color: #ffd359;
    color: #fff;
  }
}

.cp_Accordion .accordion_btn:hover {
  background-color: #ffd359;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .cp_Accordion .accordion_btn {
    width: 100%;
    height: 50px;
    font-size: 1.3rem;
    line-height: 1.2;
  }
}

@media screen and (min-width: 768px), print {
  .cp_Accordion .accordion_btn {
    margin-top: 15px;
  }
}

@media screen and (max-width: 767px) {
  .cp_Accordion .accordion_btn {
    margin-top: 10px;
  }
}

.cp_Accordion .accordion_lnk {
  display: inline-block;
  position: relative;
  color: #140a9a;
}

@media screen and (min-width: 768px), print {
  .cp_Accordion .accordion_lnk {
    margin-top: 10px;
    padding-left: 20px;
    font-size: 1.9rem;
    line-height: 1.7;
  }
  .cp_Accordion .accordion_lnk:first-child {
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .cp_Accordion .accordion_lnk {
    padding: 8px 20px 0 20px;
    font-size: 1.4rem;
    line-height: 1.7;
  }
}

.cp_Accordion .accordion_lnk::before {
  position: absolute;
  top: 11px;
  left: 0px;
  width: 9px;
  height: 9px;
  -webkit-transform: scaleY(0.65) rotate(45deg);
          transform: scaleY(0.65) rotate(45deg);
  border-top: 2px solid #140a9a;
  border-right: 2px solid #140a9a;
  content: "";
}

@media screen and (max-width: 767px) {
  .cp_Accordion .accordion_lnk::before {
    top: 15px;
    left: 0px;
    width: 9px;
    height: 9px;
    -webkit-transform: scaleY(0.65) rotate(45deg);
            transform: scaleY(0.65) rotate(45deg);
    border-top: 1px solid #140a9a;
    border-right: 1px solid #140a9a;
  }
}

.cm_BreadcrumbNav {
  background: #a5abaf;
}

.cm_BreadcrumbNav .scroll {
  overflow-x: auto;
}

@media screen and (min-width: 768px), print {
  .cm_BreadcrumbNav .scroll {
    max-width: 1440px; /* kelk */
    margin: 0 auto;
  }
}

.cm_BreadcrumbNav .paths_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  white-space: nowrap;
}

@media screen and (min-width: 768px), print {
  .cm_BreadcrumbNav .paths_link {
    padding: 28px 0 28px 20px;
  }
}

@media screen and (max-width: 767px) {
  .cm_BreadcrumbNav .paths_link {
    padding: 14px 0px 14px 30px;
  }
}

.cm_BreadcrumbNav .paths_link > * {
  color: #ffffff;
  line-height: 1.6;
  text-decoration: none;
}

@media screen and (min-width: 768px), print {
  .cm_BreadcrumbNav .paths_link > * {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 767px) {
  .cm_BreadcrumbNav .paths_link > * {
    font-size: 1.2rem;
  }
}

.cm_BreadcrumbNav .paths_link > a {
  display: block;
  position: relative;
  text-decoration: none;
}

@media screen and (min-width: 768px), print {
  .cm_BreadcrumbNav .paths_link > a {
    padding-right: 55px;
  }
}

@media screen and (max-width: 767px) {
  .cm_BreadcrumbNav .paths_link > a {
    padding-right: 22px;
    line-height: 1.6;
  }
}

.cm_BreadcrumbNav .paths_link > a::after {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  -webkit-transform: scale(1, 0.65) rotate(45deg);
          transform: scale(1, 0.65) rotate(45deg);
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  content: "";
}

@media screen and (min-width: 768px), print {
  .cm_BreadcrumbNav .paths_link > a::after {
    right: 22px;
    width: 8px;
    height: 8px;
  }
}

@media screen and (max-width: 767px) {
  .cm_BreadcrumbNav .paths_link > a::after {
    right: 8px;
    width: 5px;
    height: 5px;
  }
}

.cm_BreadcrumbNav .paths_link > a:hover {
  text-decoration: underline;
}

@media screen and (min-width: 768px), print {
  .cm_BreadcrumbNav .paths_link > div {
    padding-right: 20px;
  }
}

@media screen and (max-width: 767px) {
  .cm_BreadcrumbNav .paths_link > div {
    padding-right: 30px;
  }
}

.cp_3ColMojule {
  max-width: var(--cp-max-width);
  margin: 0 auto 64px;  /* kelk */
}

@media screen and (min-width: 768px), print {
  .cp_3ColMojule .colMojule3_inr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0;
    padding-right: 53px;
    padding-left: 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_3ColMojule .colMojule3_inr {
    padding-left: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_3ColMojule .colMojule3_inr {
    padding-left: 100px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_3ColMojule .colMojule3_inr {
    padding-right: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_3ColMojule .colMojule3_inr {
    padding-right: 100px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_3ColMojule .colMojule3_inr:after {
    display: block;
    width: 30.16129%;
    height: 0;
    content: "";
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColMojule .colMojule3_inr {
    width: 100%;
    padding: 0 8vw;
  }
}

@media screen and (min-width: 768px), print {
  .cp_3ColMojule .colMojule3_inr.caption_top {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}

@media screen and (min-width: 768px), print {
  .cp_3ColMojule .colMojule3_col {
    width: 30.16129%;
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColMojule .colMojule3_col {
    width: 100%;
    margin-bottom: 40px;    /* kelk */
  }
  .cp_3ColMojule .colMojule3_col:last-child {
    margin-bottom: 0px;
  }
}

.cp_3ColMojule .colMojule3_col_img {
  position: relative;
  width: 100%;
}

.cp_3ColMojule .colMojule3_col_img figure, .cp_3ColMojule .colMojule3_col_img a {
  margin: auto;
  position: initial;
}

.cp_3ColMojule .colMojule3_col_img figure img, .cp_3ColMojule .colMojule3_col_img a img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

/* kelk
.cp_3ColMojule .colMojule3_col_img a::after {
  position: absolute;
  right: 20px;
  bottom: 20px;
  width: 12px;
  height: 12px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  border-top: 4px solid #ffc82f;
  border-right: 4px solid #ffc82f;
  content: "";
  background: none;
}

@media screen and (max-width: 767px) {
  .cp_3ColMojule .colMojule3_col_img a::after {
    right: 15px;
    bottom: 15px;
    width: 10px;
    height: 10px;
    border-top: 3px solid #ffc82f;
    border-right: 3px solid #ffc82f;
  }
}*/

.cp_3ColMojule .colMojule3_col_img a:hover {
  opacity: .8;
}

.cp_3ColMojule .colMojule3_col_cap > h4 {
  color: var(--cp-blue);
  font-weight: normal;
}

@media screen and (min-width: 768px), print {
  .cp_3ColMojule .colMojule3_col_cap > h4 {
    font-size: 2.2rem;
    letter-spacing: normal;
    line-height: 1.6; /* kelk */
    margin-bottom: 1.6rem; /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColMojule .colMojule3_col_cap > h4 {
    font-size: 1.8rem; /* kelk */
    letter-spacing: normal;
    line-height: 1.5; /* kelk */
  }
}

.cp_3ColMojule .colMojule3_col_cap > h4 > a {
  color: #140a9a;
  /* add kelk */
  position: relative;
  display: block;
  padding-right: 3.2rem;
  box-sizing: border-box;

}

.cp_3ColMojule .colMojule3_col_cap > h4 > a::after { /* add kelk */
  position: absolute;
  right: 4px;
  top: calc(40% - 6px);
  width: 12px;
  height: 12px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  border-top: 4px solid var(--cp-gray);
  border-right: 4px solid var(--cp-gray);
  content: "";
  background: none;
}

@media screen and (max-width: 767px) {
  .cp_3ColMojule .colMojule3_col_cap > h4 > a::after {
    right: 15px;
    bottom: 15px;
    top: calc(45% - 6px);
    width: 10px;
    height: 10px;
    border-top: 3px solid var(--cp-gray);
    border-right: 3px solid var(--cp-gray);
  }
}

@media screen and (min-width: 768px), print {
  .cp_3ColMojule .colMojule3_col_cap.cap_top {
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColMojule .colMojule3_col_cap.cap_top {
    margin-bottom: 15px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_3ColMojule .colMojule3_col_cap.cap_bottom {
    margin-top: 24px; /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColMojule .colMojule3_col_cap.cap_bottom {
    margin-top: 16px; /* kelk */
  }

  .cp_3ColMojule .colMojule3_col_cap.cap_bottom:first-child {
    /* 画像なしパターン kelk*/
    margin-top: 0;
  }
}

@media screen and (min-width: 768px), print {
  .cp_3ColMojule .colMojule3_col_cap div {
    margin-top: 16px; /* kelk */
    font-size: 1.6rem;    /* kelk */
    letter-spacing: 0.95px;
    line-height: 2;    /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColMojule .colMojule3_col_cap div {
    margin-top: 16px; /* kelk */
    font-size: 1.4rem;
    letter-spacing: 1.43px;
    line-height: 1.8; /* kelk */
  }
}

.cp_3ColMojule .colMojule3_col_cap p + p {
  margin-top: 1.5rem;
}

@media screen and (min-width: 768px), print {
  .cp_3ColMojule .colMojule3_col_list {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColMojule .colMojule3_col_list {
    margin-top: 5px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_3ColMojule .colMojule3_col_list > div {
    margin-bottom: 13px;
    font-size: 1.9rem;
    letter-spacing: 0.95px;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColMojule .colMojule3_col_list > div {
    font-size: 1.6rem;
    letter-spacing: 1.43px;
    line-height: 1.7;
  }
}

.cp_3ColMojule .colMojule3_col_list > div > a {
  position: relative;
  padding-left: 1.8rem;
  text-indent: 0rem;
}

@media screen and (min-width: 768px), print {
  .cp_3ColMojule .colMojule3_col_list > div > a {
    display: inline-block;
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColMojule .colMojule3_col_list > div > a {
    display: block;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

.cp_3ColMojule .colMojule3_col_list > div > a::before {
  position: absolute;
  top: 10px;
  left: -4px;
  width: 9px;
  height: 9px;
  -webkit-transform: scaleY(0.65) rotate(45deg);
          transform: scaleY(0.65) rotate(45deg);
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  content: "";
}

@media screen and (max-width: 767px) {
  .cp_3ColMojule .colMojule3_col_list > div > a::before {
    top: 19px;
    left: -4px;
    width: 9px;
    height: 9px;
    -webkit-transform: scaleY(0.65) rotate(45deg);
            transform: scaleY(0.65) rotate(45deg);
    border-top: 1px solid #000;
    border-right: 1px solid #000;
  }
}

.cp_3ColMojule .colMojule3_btn, .cp_Banner .bnr_btn {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-right: 30px;
  padding-left: 30px;
  border-radius: 6px;
  background-color: #ffc82f;
  color: #2a3238;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 1;
  text-align: center;
}

@media screen and (min-width: 768px), print {
  .cp_3ColMojule .colMojule3_btn , .cp_Banner .bnr_btn {
    width: 100%;
    height: 60px;
    font-size: 1.6rem;   /* kelk */
    line-height: 1.3;    /* kelk */
  }
}

.cp_3ColMojule .colMojule3_btn:hover, .cp_Banner .bnr_btn:hover {
  background-color: #ffd359;
  color: #4c5459;
}

@media screen and (max-width: 767px) {
  .cp_3ColMojule .colMojule3_btn , .cp_Banner .bnr_btn {
    width: 100%;
    height: 50px;
    font-size: 1.4rem;   /* kelk */
    line-height: 1.2;    /* kelk */
  }
}

@media screen and (min-width: 768px), print {
  .cp_3ColMojule .colMojule3_btn {
    max-width: 300px;
    margin-top: 40px;
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColMojule .colMojule3_btn {
    margin-top: 25px;
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColMojule + .cp_3ColMojule {
    margin-top: -15px;
  }
}

.cp_HR {
  width: 100%;
  margin: 0 auto 64px;  /* kelk */
}

.cp_HR > hr {
  height: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
}

.cp_HR .hR-line {
  height: 1px;
  background-color: #F7C952;
}

.cp_MapModule {
  max-width: var(--cp-max-width);
  margin: 0 auto 64px;  /* kelk */
}

@media screen and (min-width: 768px), print {
  .cp_MapModule .mapModule_inr {
    width: 600px;
    margin: 0 auto;
    padding: 0;
  }
}

@media screen and (max-width: 767px) {
  .cp_MapModule .mapModule_inr {
    width: 100%;
    padding: 0 8vw;
  }
}

@media screen and (min-width: 768px), print {
  .cp_MapModule .mapModule_inr > p {
    font-size: 1.6rem;    /* kelk */
    letter-spacing: 0.95px;
    line-height: 2;    /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_MapModule .mapModule_inr > p {
    font-size: 1.4rem;
    letter-spacing: 1.43px;
    line-height: 1.8;    /* kelk */
  }
}

@media screen and (min-width: 768px), print {
  .cp_MapModule .mapModule_map {
    margin: 20px 0;
  }
}

@media screen and (max-width: 767px) {
  .cp_MapModule .mapModule_map {
    position: relative;
    height: 0;
    margin: 15px 0;
    padding-bottom: 75%;
    overflow: hidden;
  }
  .cp_MapModule .mapModule_map > iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
  }
}

.cp_MapModule .mapModule_h3 {
  font-weight: normal;
  text-align: left;
}

@media screen and (min-width: 768px), print {
  .cp_MapModule .mapModule_h3 {
    font-size: 2.2rem;
    letter-spacing: 2.2px;
    line-height: 1.45;
  }
}

@media screen and (max-width: 767px) {
  .cp_MapModule .mapModule_h3 {
    font-size: 2.0rem;
    letter-spacing: 2.2px;
    line-height: 1.5;
  }
}

@media screen and (min-width: 768px), print {
  .cp_MapModule .mapModule_h3 + p {
    margin-top: 10px;
  }
}

@media screen and (max-width: 767px) {
  .cp_MapModule .mapModule_h3 + p {
    margin-top: 8px;
  }
}

.cp_5ColMojule {
  max-width: var(--cp-max-width);
  margin: 0 auto 64px;  /* kelk */
}

.cp_5ColMojule .colMojule5_inr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (min-width: 768px), print {
  .cp_5ColMojule .colMojule5_inr {
    padding: 0 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_5ColMojule .colMojule5_inr {
    padding: 0 calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_5ColMojule .colMojule5_inr {
    padding: 0 100px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_5ColMojule .colMojule5_inr:after {
    display: block;
    width: 20%;
    height: 0;
    content: "";
  }
}

@media screen and (max-width: 767px) {
  .cp_5ColMojule .colMojule5_inr {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    padding: 0 8vw;
  }
}

.cp_5ColMojule .colMojule5_img {
/*  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
         flex-direction: row;
      flex-wrap: wrap;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;*/
  margin-bottom: 50px;
}

.cp_5ColMojule .colMojule5_img img {
  width: 100%;
  height: auto;
}

@media screen and (min-width: 768px), print {
  .cp_5ColMojule .colMojule5_img {
    width: 20%;
    padding: 0 8px;
  }
}

@media screen and (max-width: 767px) {
  .cp_5ColMojule .colMojule5_img {
    width: calc(50% - 4vw);
    padding: 0 8px;
  }
}

.cp_5ColMojule .colMojule5_img figure a::after {
    content: none;
}

@media screen and (min-width: 768px), print {
  .cp_5ColMojule .colMojule5_img a:hover img {
    opacity: 0.9;
  }
}


.cp_5ColMojule .colMojule5_img h4, .cp_5ColMojule .colMojule5_img h4 a {
    margin: 5px 0;
    color: #140a9a;
    font-weight: normal;
    letter-spacing: normal;
    line-height: 1.2;
}

@media screen and (min-width: 768px), print {
  .cp_5ColMojule .colMojule5_img h4 {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 767px) {
  .cp_5ColMojule .colMojule5_img h4 {
    font-size: 1.4rem;
  }
}

.cp_5ColMojule .colMojule5_img .colMojule5_text {
    line-height: normal;
    margin-top: 10px;
}

@media screen and (min-width: 768px), print {
  .cp_5ColMojule .colMojule5_img .colMojule5_text {
    font-size: 1.6rem;    /* kelk */
    line-height: 2;    /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_5ColMojule .colMojule5_img .colMojule5_text {
    font-size: 1.4rem;
    letter-spacing: 1.2px;
    line-height: 1.8;    /* kelk */
  }
}

.cp_5ColMojule .colMojule5_img .colMojule5_text p + p {
    margin-top: 0.7rem;
}

.cp_5ColMojule + .cp_5ColMojule {
    margin-top: -50px;
}

.cp_LeftImageText,
.cp_RightImageText {
  max-width: var(--cp-max-width);
  margin: 0 auto 64px;  /* kelk */
}

@media screen and (min-width: 768px), print {
  .cp_LeftImageText .leftImageText_inr,
  .cp_RightImageText .rightImageText_inr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0;
    padding-right: 53px;
    padding-left: 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_LeftImageText .leftImageText_inr,
  .cp_RightImageText .rightImageText_inr {
    padding-left: calc(53px + 47 * (100vw - 769px) / 671);
    padding-right: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_LeftImageText .leftImageText_inr,
  .cp_RightImageText .rightImageText_inr {
    padding-left: 100px;
    padding-right: 100px;
  }
}
/*
@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_LeftImageText .leftImageText_inr {
    padding-right: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_LeftImageText .leftImageText_inr {
    padding-right: 100px;
  }
}
*/

@media screen and (max-width: 767px) {
  .cp_LeftImageText .leftImageText_inr,
  .cp_RightImageText .rightImageText_inr {
    width: 100%;
    padding: 0 8vw;
    /* add kelk */
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
  }
}

@media screen and (min-width: 768px), print {
  .cp_LeftImageText .leftImageText_txt,
  .cp_RightImageText .rightImageText_txt {
    width: 62.90323%;
    /* add kelk */
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
  }
}

  /* add kelk */
@media screen and (max-width: 767px) {
  .cp_LeftImageText .leftImageText_txt,
  .cp_RightImageText .rightImageText_txt {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
  }
}

@media screen and (min-width: 768px), print {
  .cp_LeftImageText .leftImageText_txt div,
  .cp_RightImageText .rightImageText_txt div {
    font-size: 1.6rem;  /* kelk */
    letter-spacing: 0.95px;
    line-height: 2;     /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_LeftImageText .leftImageText_txt div,
  .cp_RightImageText .rightImageText_txt div {
    font-size: 1.4rem;
    letter-spacing: 1.43px;
    line-height: 1.8;    /* kelk */
  }
}

.cp_LeftImageText .leftImageText_txt div a,
.cp_RightImageText .rightImageText_txt div a {
  color: #3366cc;
}

.cp_LeftImageText .leftImageText_txt div a:hover,
.cp_RightImageText .rightImageText_txt div a:hover{
/*  color: #3366cc; */
  text-decoration: underline;
}

.cp_LeftImageText .leftImageText_txt img,
.cp_RightImageText .rightImageText_txt img {
    max-width: 100%;
    height: auto !important;
}

.cp_LeftImageText .leftImageText_txt p + p,
.cp_RightImageText .rightImageText_txt p + p {
  margin-top: 1.5rem;
}

.cp_LeftImageText .leftImageText_h3,
.cp_RightImageText .rightImageText_h3 {
  font-weight: normal;
  text-align: left;
  /*  margin-bottom: 15px; kelk */
}

@media screen and (min-width: 768px), print {
  .cp_LeftImageText .leftImageText_h3,
  .cp_RightImageText .rightImageText_h3 {
    font-size: 3.0rem;
    letter-spacing: normal;
    line-height: 1.2;
  }
}

@media screen and (max-width: 767px) {
  .cp_LeftImageText .leftImageText_h3,
  .cp_RightImageText .rightImageText_h3 {
    font-size: 2.0rem;
    letter-spacing: 2.2px;
    line-height: 1.5;
  }
}

/*@media screen and (min-width: 768px), print {
  .cp_LeftImageText .leftImageText_h3 + p {
    margin-top: 15px;
  }
}

@media screen and (max-width: 767px) {
  .cp_LeftImageText .leftImageText_h3 + p {
    margin-top: 8px;
  }
}*/

@media screen and (min-width: 768px), print {
  .cp_LeftImageText .leftImageText_img {
    width: 29.03226%;
  }
  .cp_RightImageText .rightImageText_img {
    width: 29.03226%;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}

@media screen and (max-width: 767px) {
  .cp_LeftImageText .leftImageText_img,
  .cp_RightImageText .rightImageText_img {
    margin-bottom: 15px;
  }
  .cp_LeftImageText.sp_small_img .leftImageText_img,
  .cp_RightImageText.sp_small_img .rightImageText_img {
    text-align: center;
  }
}

.cp_LeftImageText .leftImageText_img-inr,
.cp_RightImageText .rightImageText_img-inr {
  position: relative;
  width: 100%;
}

.cp_LeftImageText .leftImageText_img-inr figure,
.cp_RightImageText .rightImageText_img-inr figure {
  margin: auto;
}

.cp_LeftImageText .leftImageText_img-inr figure img,
.cp_RightImageText .rightImageText_img-inr figure img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (max-width: 767px){
  .cp_LeftImageText.sp_small_img .leftImageText_img-inr figure img,
  .cp_RightImageText.sp_small_img .rightImageText_img-inr figure img {
    width: 60%;
  }
}

.cp_LeftImageText .leftImageText_txt-lnk,
.cp_RightImageText .rightImageText_txt-lnk {
  display: inline-block;
  position: relative;
  color: #3366cc;
}

.cp_LeftImageText .leftImageText_txt-lnk:hover,
.cp_RightImageText .rightImageText_txt-lnk:hover{
  color: #3366cc;
  text-decoration: underline;
}

@media screen and (min-width: 768px), print {
  .cp_LeftImageText .leftImageText_txt-lnk,
  .cp_RightImageText .rightImageText_txt-lnk {
    /* margin-top: 10px;*/
    /*  margin-top: 20px; kelk */
    padding-left: 20px;
    font-size: 1.6rem;    /* kelk */
    letter-spacing: normal;
    line-height: normal;
  }
  .cp_LeftImageText .leftImageText_txt-lnk:first-child {
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .cp_LeftImageText .leftImageText_txt-lnk,
  .cp_RightImageText .rightImageText_txt-lnk {
    /*padding: 8px 0 0px 20px;*/
    margin-top: 9px;
    padding: 8px 0 0px 20px;
    font-size: 14px;
    line-height: 1.1;
  }
}

.cp_LeftImageText .leftImageText_txt-lnk::before,
.cp_RightImageText .rightImageText_txt-lnk::before {
  position: absolute;
  top: calc(50% - 4.5px);
  left: 0px;
  width: 9px;
  height: 9px;
  -webkit-transform: scaleY(0.65) rotate(45deg);
          transform: scaleY(0.65) rotate(45deg);
  border-top: 2px solid #3366cc;
  border-right: 2px solid #3366cc;
  content: "";
}

@media screen and (max-width: 767px) {
  .cp_LeftImageText .leftImageText_txt-lnk::before,
  .cp_RightImageText .rightImageText_txt-lnk::before {
    top: calc(50% - 2px);
    border-top: 1px solid #3366cc;
    border-right: 1px solid #3366cc;
  }
}

.cp_StockArea {
  margin-bottom: 50px;
}

.cp_StockArea_inner {
  background-color: #a5abaf;
  color: #fff;
}

@media screen and (min-width: 768px), print {
  .cp_StockArea_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
        flex-direction: row;
    -webkit-box-pack: justify;
       -ms-flex-pack: justify;
    justify-content: space-between;
    max-width: var(--cp-max-width);
    margin: 0 auto;
    padding-top: 32px;
    padding-bottom: 33px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_StockArea_list {
    padding-left: calc(10px + 90 * (100vw - 769px) / 671);
    padding-right: calc(10px + 90 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_StockArea_list {
    padding-left: 100px;
    padding-right: 100px;
  }
}

@media screen and (max-width: 767px) {
  .cp_StockArea_list {
    padding: 4px 8vw 25px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_StockArea_list > dt,
  .cp_StockArea_list > dd {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 19%;
            flex: 0 1 19%;
  }
}

@media screen and (max-width: 767px) {
  .cp_StockArea_list > dt,
  .cp_StockArea_list > dd {
    padding: 8px 0 10px;
  }
}

.cp_StockArea_list > dt {
  font-size: 2.2rem;
  font-weight: normal;
  letter-spacing: 1px;
  line-height: 2;
}

@media screen and (min-width: 768px), print {
  .cp_StockArea_list > dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    box-sizing: border-box;
  }
}

@media screen and (min-width: 768px), print {
  .cp_StockArea_list > dd {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    box-sizing: border-box;
    padding: 0 0 0 14px;
    border-left: 1px solid #fff;
  }
}

@media screen and (max-width: 767px) {
  .cp_StockArea_list > dd {
    border-top: 1px solid #fff;
  }
}

.cp_StockArea_list > dd:last-of-type {
  padding: 0;
  border: none;
}

@media screen and (max-width: 767px) {
  .cp_StockArea_list > dd:last-of-type {
    margin-top: 20px;
  }
}

.cp_StockArea_list > dd a.btn_chart {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding:0 5px;
  border-radius: 6px;
  background-color: #ffc82f;
  color: #2a3238;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 1;
  text-align: center;
}

@media screen and (min-width: 768px), print {
  .cp_StockArea_list > dd a.btn_chart {
    width: 100%;
    height: 60px;
    font-size: 1.5rem;
    line-height: 1.3;
  }
}

.cp_StockArea_list > dd a.btn_chart:hover {
  background-color: #ffd359;
  color: #4c5459;
}

@media screen and (max-width: 767px) {
  .cp_StockArea_list > dd a.btn_chart {
    width: 100%;
    height: 50px;
    font-size: 1.3rem;
    line-height: 1.2;
  }
}

.cp_StockArea_note {
  margin: 5px auto 0;
}

@media screen and (min-width: 768px), print {
  .cp_StockArea_note {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    max-width: var(--cp-max-width);
    padding-left: 10px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_StockArea_note {
    padding-left: calc(10px + 90 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_StockArea_note {
    padding-left: 100px;
  }
}

@media screen and (max-width: 767px) {
  .cp_StockArea_note {
    padding: 0 8vw;
  }
}

.cp_StockArea_note li {
  letter-spacing: 0.75px;
}

@media screen and (min-width: 768px), print {
  .cp_StockArea_note li {
    font-size: 1.5rem;
    line-height: 2;
  }
}

@media screen and (max-width: 767px) {
  .cp_StockArea_note li {
    font-size: 1.2rem;
  }
}

@media screen and (min-width: 768px), print {
  .cp_StockArea_note li + li {
    margin-left: 1rem;
  }
}

.cp_StockArea .stock > dt {
  letter-spacing: 4.68px;
}

@media screen and (min-width: 768px), print {
  .cp_StockArea .stock > dt {
    font-size: 1.8rem;
    line-height: 2.11;
  }
}

@media screen and (max-width: 767px) {
  .cp_StockArea .stock > dt {
    font-size: 1.6rem;
  }
}

.cp_StockArea .stock > dd {
  letter-spacing: 1.68px;
  line-height: 1.36;
}

@media screen and (min-width: 768px), print {
  .cp_StockArea .stock > dd {
    font-size: 2.6rem;
    letter-spacing: 1.3px;
  }
}

@media screen and (max-width: 767px) {
  .cp_StockArea .stock > dd {
    font-size: 1.6rem;
  }
}

@media print {
  .cp_StockArea {
    margin: 0 auto 64px;    /* kelk */
  }
}

@media print and (max-width: 767px) {
  .cp_StockArea_inner {
    padding: 0 53px;
  }
  .cp_StockArea_note{
    padding-left: 53px;
  }
}

.cp_NewsFilter {
  max-width: var(--cp-max-width);
  margin: 0 auto 64px;  /* kelk */
}

@media screen and (min-width: 768px), print {
  .cp_NewsFilter .newsFilter_inr {
    padding: 0;
    padding-right: 53px;
    padding-left: 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_NewsFilter .newsFilter_inr {
    padding-left: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_NewsFilter .newsFilter_inr {
    padding-left: 100px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_NewsFilter .newsFilter_inr {
    padding-right: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_NewsFilter .newsFilter_inr {
    padding-right: 100px;
  }
}

@media screen and (max-width: 767px) {
  .cp_NewsFilter .newsFilter_inr {
    width: 100%;
    padding: 0 8vw;
  }
}

.cp_NewsFilter .newsFilter_label {
  display: block;
  position: relative;
  background-color: #fff;
}

@media screen and (min-width: 768px), print {
  .cp_NewsFilter .newsFilter_label {
    width: 50%;
    height: 60px;
  }
}

@media screen and (max-width: 767px) {
  .cp_NewsFilter .newsFilter_label {
    width: 100%;
    height: 40px;
  }
}

.cp_NewsFilter .newsFilter_label::before {
  position: absolute;
  top: calc(50% - 9px);
  right: 20px;
  width: 9px;
  height: 9px;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  border-top: 3px solid var(--cp-charcoal-gray);    /* kelk */
  border-right: 3px solid var(--cp-charcoal-gray);  /* kelk */
  content: "";
  pointer-events: none;
}

.cp_NewsFilter .newsFilter_select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 100%;
  border: 1px solid #f6f7f9;            /* kelk */
  border-radius: 4px;
  background-color: var(--cp-gp-gray);  /* kelk */
  color: var(--cp-charcoal-gray);       /* kelk */
  font-family: "Noto Sans Japanese", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Myriad Pro, Myriad, Arial, sans-serif;
}

@media screen and (min-width: 768px), print {
  .cp_NewsFilter .newsFilter_select {
    padding-left: 15px;
    font-size: 1.6rem;  /* kelk */
    line-height: 2;     /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_NewsFilter .newsFilter_select {
    padding-left: 10px;
    font-size: 1.6rem;
    line-height: 40px;
  }
}

.cp_NewsFilter .newsFilter_select.choices {
  color: #000;
}

.cp_NewsFilter .newsFilter_select option {
  color: #000;
}

.cp_NewsList {
  max-width: var(--cp-max-width);
  margin: 0 auto 64px;  /* kelk */
}

@media screen and (min-width: 768px), print {
  .cp_NewsList .newsList_inr {
    padding: 0;
    padding-right: 53px;
    padding-left: 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_NewsList .newsList_inr {
    padding-left: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_NewsList .newsList_inr {
    padding-left: 100px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_NewsList .newsList_inr {
    padding-right: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_NewsList .newsList_inr {
    padding-right: 100px;
  }
}

@media screen and (max-width: 767px) {
  .cp_NewsList .newsList_inr {
    width: 100%;
    padding: 0 8vw;
  }
}

.cp_NewsList .newsList_h3 {
  font-weight: normal;
}

@media screen and (min-width: 768px), print {
  .cp_NewsList .newsList_h3 {
    margin-bottom: 25px;
    font-size: 3.2rem;
    letter-spacing: normal;
    line-height: 1.22;
  }
}

@media screen and (max-width: 767px) {
  .cp_NewsList .newsList_h3 {
    margin-bottom: 10px;
    font-size: 2.2rem;
    letter-spacing: normal;
    line-height: 1.3;
  }
}

.cp_NewsList .newsList_dl > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid var(--cp-light-gray);  /* kelk */
  align-items: center; /* kelk */
}

.cp_NewsList .newsList_dl > div:last-child {
  border: none;
}

@media screen and (min-width: 768px), print {
  .cp_NewsList .newsList_dl > div {
    padding: 32px 0;    /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_NewsList .newsList_dl > div {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 0px 0px 24px 0px;    /* kelk */
  }

  /* add kelk */
  .cp_NewsList .newsList_dl > div:not(:first-child) {
    padding-top: 24px;
  }
}

.cp_NewsList .newsList_dt-inr {
  color: var(--cp-charcoal-gray);  /* kelk */
  font-weight: normal; /* kelk */
}

@media screen and (min-width: 768px), print {
  .cp_NewsList .newsList_dt-inr {
    margin-right: 22px;
    font-size: 1.6rem;    /* kelk */
    letter-spacing: normal;
    line-height: 2.0;    /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_NewsList .newsList_dt-inr {
    margin-right: 12px;
    font-size: 1.4rem;
    letter-spacing: 1.43px;
    line-height: 1.8;    /* kelk */
  }
}

.cp_NewsList .newsList_tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items:flex-start;
  -webkit-align-items:flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  justify-content: center;
  color: #fff;
}

@media screen and (min-width: 768px), print {
  .cp_NewsList .newsList_tag {
    width: 125px;
    margin-right: 22px;
  }
}

@media screen and (max-width: 767px) {
  .cp_NewsList .newsList_tag {
    min-width: 130px;
    height: 24px;
    margin-top: 2px;
    background-color: #140a9a;
  }
}

@media screen and (min-width: 768px), print {
  .cp_NewsList .newsList_tag-inr {
    font-size: 1.5rem;
    letter-spacing: normal;
    line-height: 1;
    background: #140a9a;
    text-align: center;
    margin-top: 2px;
    padding: 7px 2px 9px;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .cp_NewsList .newsList_tag-inr {
    font-size: 1.3rem;
    letter-spacing: normal;
    line-height: 1;
    text-align: center;
    padding: 5px 3px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_NewsList .newsList_dd {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

@media screen and (max-width: 767px) {
  .cp_NewsList .newsList_dd {
    width: 100%;
  }
}

.cp_NewsList .newsList_dd-inr {
  position: relative;
}

@media screen and (min-width: 768px), print {
  .cp_NewsList .newsList_dd-inr {
    font-size: 1.6rem;    /* kelk */
    letter-spacing: 0.08px;
    line-height: 2; /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_NewsList .newsList_dd-inr {
    margin-top: 10px;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    font-size: 1.4rem;
    letter-spacing: 1.43px;
    line-height: 1.8;    /* kelk */
  }
}

.cp_NewsList .newsList_dd-inr > a {
  display: inline-block;
}

@media screen and (min-width: 768px), print {
  .cp_NewsList .newsList_dd-inr > a {
    padding-right: 30px;
  }
}

@media screen and (max-width: 767px) {
  .cp_NewsList .newsList_dd-inr > a {
    padding-right: 30px;
  }
}

.cp_NewsList .newsList_dd-inr > a.new::after {
  display: inline-block;
  color: #c00;
  vertical-align: middle;
  content: "New";
}

@media screen and (min-width: 768px), print {
  .cp_NewsList .newsList_dd-inr > a.new::after {
    margin-top: -2px;
    margin-left: 12px;
    font-size: 14px;
  }
}

@media screen and (max-width: 767px) {
  .cp_NewsList .newsList_dd-inr > a.new::after {
    margin-top: -3px;
    margin-left: 8px;
    font-size: 12px;
  }
}

/* delate kelk 
.cp_NewsList .newsList_dd-inr::before {
  position: absolute;
  top: calc(50% - 3px);
  right: 0px;
  width: 6px;
  height: 6px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  border-top: 2px solid #ffc82f;
  border-right: 2px solid #ffc82f;
  content: "";
  pointer-events: none;
} */

@media screen and (max-width: 767px) {
  .cp_NewsList .newsList_dd-inr::before {
    right: 15px;
  }
}

.cp_NewsList .newsList_more {
  width: 100%;
  height: 60px;
  background-color: #f6f6f6;
}

@media screen and (max-width: 767px) {
  .cp_NewsList .newsList_more {
    height: 40px;
  }
}

.cp_NewsList .newsList_more > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  color: #000;
  font-weight: normal;
}

@media screen and (min-width: 768px), print {
  .cp_NewsList .newsList_more > a {
    font-size: 1.9rem;
    letter-spacing: normal;
    line-height: 1.8;
  }
}

@media screen and (max-width: 767px) {
  .cp_NewsList .newsList_more > a {
    font-size: 1.4rem;
    letter-spacing: normal;
    line-height: 1.8;
  }
}

.cp_NewsList .newsList_more > a::before {
  position: absolute;
  top: calc(50% - 10px);
  right: 27px;
  width: 12px;
  height: 12px;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  content: "";
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  .cp_NewsList .newsList_more > a::before {
    top: calc(50% - 8px);
    right: 16px;
    width: 10px;
    height: 10px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_NewsList.cp_BusinessList .newsList_tag {
    width: 160px;
  }
}

@media screen and (max-width: 767px) {
  .cp_NewsList.cp_BusinessList .newsList_tag {
    width: 140px;
  }

  .cp_NewsList.cp_BusinessList .newsList_tag-inr {
    padding: 6px 3px;
    width:100%;
  }
}

.cp_HomeHero {
  z-index: 1;
  position: relative;
  margin: 0 auto 100px;
}

@media screen and (min-width: 768px), print {
  .cp_HomeHero.over {
    margin-top: -90px;
  }
}

@media screen and (max-width: 767px) {
  .cp_HomeHero.over {
    margin-top: -60px;
  }
}

.cp_HomeHero_container {
  position: relative;
}

.cp_HomeHero_container::before {
  display: block;
  content: "";
}

@media screen and (min-width: 768px), print {
  .cp_HomeHero_container::before {
    padding-top: 56.25%;
  }
}

@media screen and (max-width: 767px) {
  .cp_HomeHero_container::before {
    padding-top: 100%;
  }
}

.cp_HomeHero_inner {
  position: relative;
  top: -22.46377%;
  left: -22.46377%;
  width: 144.92754vw;
}

@media screen and (min-width: 768px), print {
  .cp_HomeHero_inner {
    height: 81.52174vw;
  }
}

@media screen and (max-width: 767px) {
  .cp_HomeHero_inner {
    height: 144.92754vw;
  }
}

.cp_HomeHero_inner iframe {
  display: block;
  z-index: 9;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.cp_HomeHero .clip {
  z-index: 10;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  overflow: hidden;
}

.cp_HomeHero_imgContainer {
  position: relative;
  width: 100%;
  height: 0;
}

@media screen and (min-width: 768px), print {
  .cp_HomeHero_imgContainer {
    padding-top: 75%;
  }
}

@media screen and (max-width: 767px) {
  .cp_HomeHero_imgContainer {
    padding-top: 100%;
  }
}

.cp_HomeHero_imgContainer figure {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

.cp_HomeHero_imgContainer figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (max-width: 767px) {
  .cp_PageTitle {
    margin: 40px auto; /* kelk */
  }
}

/* title_black for 3ColModule 2ColImage MultipleModule */
.cp_base .title_black h4, .cp_base .title_black h4 a, .cp_base .title_black span.cap{
    color: black!important;
}

.cp_base .title_black h4 a:hover{
    color: #140a9a!important;
}

/* 3ColVideo */
.cp_3ColVideo {
  max-width: var(--cp-max-width);
  margin: 0 auto 64px;  /* kelk */
}

@media screen and (max-width: 767px) {
  .cp_3ColVideo + .cp_3ColVideo {
    margin-top: -15px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_3ColVideo .colVideo3_inr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 0 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_3ColVideo .colVideo3_inr {
    padding: 0 calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_3ColVideo .colVideo3_inr {
    padding: 0 100px;
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColVideo .colVideo3_inr {
    width: 100%;
    padding: 0 8vw;
  }
}

@media screen and (min-width: 768px), print {
  .cp_3ColVideo .colVideo3_col {
    width: 30.16129%;
  }
  .colVideo3_col:not(:first-child){
      margin-left: 4.758%;
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColVideo .colVideo3_col {
    width: 100%;
    margin-bottom: 35px;
  }
  .cp_3ColVideo .colVideo3_col:last-child {
    margin-bottom: 0px;
  }
}

.cp_3ColVideo .colVideo3_col_img {
  position: relative;
  width: 100%;
}

.cp_3ColVideo .colVideo3_col_img figure, .cp_3ColVideo .colVideo3_col_img a {
  margin: auto;
  position: initial;
}

.cp_3ColVideo .colVideo3_col_img img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.cp_3ColVideo .colVideo3_col_img a::after {
    position: absolute;
    content: "";
    background: url(../images/btn_play.png) no-repeat;
    width: 40px;
    height: 40px;
    background-size: contain;
    top: calc(50% - 20px);
    left: calc(50% - 20px);
}

.cp_3ColVideo .colVideo3_col_img a:hover {
  opacity: .8;
}

.cp_3ColVideo .colVideo3_col_cap > h4,
.cp_3ColVideo .colVideo3_col_cap > h4 > a {
  color: #140a9a;
  font-weight: normal;
}

@media screen and (min-width: 768px), print {
  .cp_3ColVideo .colVideo3_col_cap > h4 {
    font-size: 2.2rem;
    letter-spacing: normal;
    line-height: 1.6; /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColVideo .colVideo3_col_cap > h4 {
    font-size: 1.8rem;
    letter-spacing: normal;
    line-height: 1.5; /* kelk */
  }
}

@media screen and (min-width: 768px), print {
  .cp_3ColVideo .colVideo3_col_cap.cap_bottom {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColVideo .colVideo3_col_cap.cap_bottom {
    margin-top: 16px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_3ColVideo .colVideo3_col_cap div {
    margin-top: 16px;     /* kelk */
    font-size: 1.6rem;    /* kelk */
    letter-spacing: 0.95px;
    line-height: 2;    /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColVideo .colVideo3_col_cap div {
    margin-top: 16px;  /* kelk */
    font-size: 1.4rem;
    letter-spacing: 1.43px;
    line-height: 1.8;    /* kelk */
  }
}

.cp_3ColVideo .colVideo3_col_cap p + p {
  margin-top: 1.5rem;
}

.cp_TopBannerCarousel {
    max-width: 1440px; /* kelk */
    margin: 0 auto 64px;  /* kelk */
}

.cp_TopBannerCarousel.image-full {
    max-width: unset;
}

.cp_TopBannerCarousel.image-full .topThumbnail {
    max-width:  calc(1440px * .85);
}

/*
.cp_TopBannerCarousel .topCorousel_inr{
    max-width: var(--cp-max-width);
    margin:0 auto 40px;
}*/

.cp_TopBannerCarousel .topCorousel {
    opacity: 0;
    transition: opacity .3s ease;
    margin:0 auto 5px;
}

.cp_TopBannerCarousel .topCorousel.slick-initialized {
    opacity: 1;
}

.cp_TopBannerCarousel :is(.topCorousel, .topThumbnail) .slick-slide img {
    width:100%!important;
    height:auto!important;
}

@media screen and (min-width: 768px), print {
  /* 画面より大きくならないように制御 */
  .cp_TopBannerCarousel.image-full .topCorousel .slick-slide img {
    max-height: calc(100vh - 100px);
    object-fit: cover;
  }

  header.cm_GlobalNav_kcsj ~ div > .cp_TopBannerCarousel.image-full .topCorousel .slick-slide img {
    max-height: calc(100vh - 140px);
    object-fit: cover;
  }
}

.cp_TopBannerCarousel .topCorousel .slick-slide a::after {
    background: none;
}

.cp_TopBannerCarousel .topCorousel :is(.slick-prev, .slick-next) {
    position: absolute;
    z-index: 3;
    top: 45%;
    cursor: pointer;
    outline: none;
    border-top: 3px solid #ffc82f;
    border-right: 3px solid #ffc82f;
    height: 20px;
    width: 20px;
    display: none !important;
}

@media screen and not (min-width: 768px) {
  /* サムネイルある時のみ表示 */
  .cp_TopBannerCarousel .topCorousel_inr:has(.topThumbnail) :is(.slick-prev, .slick-next) {
    display: block !important;
  }
}

.cp_TopBannerCarousel .topCorousel .slick-prev {
    left:2%;
    transform: rotate(-135deg);
}

.cp_TopBannerCarousel .topCorousel .slick-next {
    right: 2%;
    transform: rotate(45deg);
}

.slick-next.slick-disabled {
    visibility: hidden;
}

.slick-prev.slick-disabled {
    visibility: hidden;
}

.cp_TopBannerCarousel .slick-next:before , .cp_TopBannerCarousel .slick-prev:before ,
.cp_RightImageCarousel .slick-next:before , .cp_RightImageCarousel .slick-prev:before ,
.cp_4ColCarousel .slick-next:before , .cp_4ColCarousel .slick-prev:before {
    content: ""!important;
}

.cp_TopBannerCarousel .topThumbnail , print {
    margin: 15px auto;
    width: 85%;
}

@media screen and (max-width: 767px) {
  .cp_TopBannerCarousel .topThumbnail {
    display: none;
  }
}

.cp_TopBannerCarousel .topThumbnail div {
    cursor: pointer;
    outline: none;
    margin: 0 5px;
}

.cp_TopBannerCarousel .topThumbnail .slick-current img {
    outline: 2px solid #140a9a;
    outline-offset: -2px;
    opacity:unset!important;
}

@media screen and (min-width: 768px) {
  .cp_TopBannerCarousel .topThumbnail .slick-current img {
    outline: 4px solid #140a9a;
    outline-offset: -3px;
  }
}

.cp_TopBannerCarousel .topThumbnail div img:hover {
    opacity: 0.8;
}

.cp_TopBannerCarousel .topThumbnail .slick-prev,
.cp_TopBannerCarousel .topThumbnail .slick-next {
    position: absolute;
    z-index: 4;
    top: 25%;
    cursor: pointer;
    outline: none;
    border-top: 2px solid #a5abaf;
    border-right: 2px solid #a5abaf;
    height: 20px;
    width: 20px;
}

@media screen and (min-width: 768px) {
  .cp_TopBannerCarousel .topThumbnail .slick-prev,
  .cp_TopBannerCarousel .topThumbnail .slick-next {
    top: 35%;
    height: 25px;
    width: 25px;
  }
}


.cp_TopBannerCarousel .topThumbnail .slick-prev {
    left: -6%;
    transform: rotate(-135deg);
}

.cp_TopBannerCarousel .topThumbnail .slick-next {
    right: -6%;
    transform: rotate(45deg);
}

.cp_TopBannerCarousel .topThumbnail .slick-track {
    margin: 0 auto;
}

.cp_TopBannerCarousel .pos-fixed .slick-track {
     transform: unset!important;
}

.cp_RightImageCarousel {
    margin: 0 auto 64px;  /* kelk */
}

.cp_RightImageCarousel .teaser_box .teaser_txt a {
    color: #3366cc;
}

.cp_RightImageCarousel .teaser_img {
    width:40%;
}

@media screen and (max-width: 767px) {
  .cp_RightImageCarousel .teaser_img {
    width:100%;
  }
}

.cp_RightImageCarousel .rightCorousel {
    opacity: 0;
    transition: opacity .3s ease;
    margin:0 auto 20px;
}

.cp_RightImageCarousel .rightCorousel.slick-initialized {
  opacity: 1;
}

.cp_RightImageCarousel .rightCorousel img {
    width:100%;
    object-fit: contain;
    height: 50vh;
    max-height:400px;
}
@media screen and (max-width: 767px) {
  .cp_RightImageCarousel .rightCorousel img {
    height: 30vh;
    max-height:300px;
  }
}

.cp_RightImageCarousel .rightCorousel .slick-prev, 
.cp_RightImageCarousel .rightCorousel .slick-next {
    position: absolute;
    z-index: 3;
    top: 45%;
    cursor: pointer;
    outline: none;
    border-top: 3px solid #ffc82f;
    border-right: 3px solid #ffc82f;
    height: 20px;
    width: 20px;
}

@media screen and (min-width: 768px) {
  .cp_RightImageCarousel .rightCorousel .slick-next,
  .cp_RightImageCarousel .rightCorousel .slick-prev {
    display: none;
  }
}

.cp_RightImageCarousel .rightCorousel .slick-prev {
    left:-6%;
    transform: rotate(-135deg);
}

.cp_RightImageCarousel .rightCorousel .slick-next {
    right:-6%;
    transform: rotate(45deg);
}

.cp_RightImageCarousel .slick-dots > li:first-child:last-child {
    display: none;
}

@media screen and (min-width: 768px) {
  .cp_RightImageCarousel .slick-num {
    display:none;
  }
}
@media screen and (max-width: 767px) {
  .cp_RightImageCarousel .slick-num {
    display:block;
    text-align: center;
    margin-top: 5px;
  }
}

.cp_RightImageCarousel .slick-dots li.slick-active button::before{
    color: #ffc82f;
}

.cp_RightImageCarousel .slick-dots li button:hover:before {
    color: #ffc82f;
}

.cp_RightImageCarousel .rightThumbnail {
    width: 100%;
    margin:0 auto;
}

@media screen and (max-width: 767px) {
  .cp_RightImageCarousel .rightThumbnail {
    display:none;
  }
}

.cp_RightImageCarousel .rightThumbnail .slick-prev, 
.cp_RightImageCarousel .rightThumbnail .slick-next {
    position: absolute;
    z-index: 3;
    top: 35%;
    cursor: pointer;
    outline: none;
    border-top: 2px solid #a5abaf;
    border-right: 2px solid #a5abaf;
    height: 20px;
    width: 20px;
}

.cp_RightImageCarousel .rightThumbnail .slick-prev {
    left:-4%;
    transform: rotate(-135deg);
}

.cp_RightImageCarousel .rightThumbnail .slick-next {
    right:-4%;
    transform: rotate(45deg);
}

.cp_RightImageCarousel .rightThumbnail .slick-track .slick-slide:only-of-type{
    display:none;
}

.cp_RightImageCarousel .rightThumbnail .slick-slide {
    padding:0 2px;
    margin:auto;
}

.cp_RightImageCarousel .rightThumbnail .slick-slide img {
    width:100%;
    height: 60px;
    object-fit: contain;
    vertical-align:middle;
}

.cp_RightImageCarousel .rightThumbnail div {
    cursor: pointer;
    outline: none;
}

.cp_RightImageCarousel .rightThumbnail div img:hover {
    opacity: 0.8;
}

.cp_RightImageCarousel .rightThumbnail.pos-fixed .slick-track {
    transform:unset!important;
}

.cp_RightImageCarousel .btn_2col {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 10px;
}

.cp_RightImageCarousel .btn_2col .teaser_btn {
    width: calc(50% - 5px);
}

@media screen and (max-width: 767px) {
  .cp_RightImageCarousel h3.teaser_ttl {
    font-size: 1.8rem;
    color: #140a9a;
    margin-bottom: 0;
 }
}

@media screen and (min-width: 768px) {
  .cp_RightImageCarousel h3.teaser_ttl {
    font-size: 2.2rem;
    color: #140a9a;
    margin-bottom: 15px;
 }
}

.cp_RightImageCarousel .price_area {
    margin-bottom:40px;
    padding: 20px 0;
    border-top: solid 1px #a5abaf;
    border-bottom: solid 1px #a5abaf;
    line-height: normal;
}

@media screen and (max-width: 767px) {
  .cp_RightImageCarousel .price_area {
    font-size: 1.4rem;
    letter-spacing: 1.43px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_RightImageCarousel .price_area {
    font-size: 1.9rem;
    letter-spacing: 0.95px;
   }
}

@media screen and (max-width: 767px) {
  .cp_RightImageCarousel .price_area .price {
    font-size: 2rem;
    letter-spacing: normal;
  }
}

@media screen and (min-width: 768px) {
  .cp_RightImageCarousel .price_area .price {
    font-size: 3.2rem;
    letter-spacing: normal;
  }
}

.cp_4ColCarousel {
    margin: 0 auto 64px;  /* kelk */
}

@media screen and (min-width: 768px), print {
  .cp_4ColCarousel {
    max-width: var(--cp-max-width);
  }
}

@media screen and (min-width: 768px), print {
  .cp_4ColCarousel .fourCarousel_inr, .cp_4ColCarousel .fourCarousel_for {
    padding: 0 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_4ColCarousel .fourCarousel_inr, .cp_4ColCarousel .fourCarousel_for {
    padding: 0 calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_4ColCarousel .fourCarousel_inr, .cp_4ColCarousel .fourCarousel_for {
    padding: 0 100px;
  }
}

@media screen and (max-width: 767px) {
  .cp_4ColCarousel .fourCarousel_inr, .cp_4ColCarousel .fourCarousel_for {
    padding: 0 8vw;
  }
}

.cp_4ColCarousel .fourCarousel.slick-initialized {
    opacity: 1;
}

.cp_4ColCarousel .fourCarousel {
    opacity: 0;
    cursor: default;
    outline: none;
}

@media screen and (min-width: 768px), print {
  .cp_4ColCarousel .fourCarousel .slick-slide {
    margin: 0 9px;
  }
}

.cp_4ColCarousel .fourCarousel .slick-slide img {
    height:auto!important;
}

.cp_4ColCarousel .fourCarousel .slick-slide a img:hover {
    opacity: .85;
}

.cp_4ColCarousel .fourCarousel .slick-prev, 
.cp_4ColCarousel .fourCarousel .slick-next {
    position: absolute;
    z-index: 6;
    top: 44%;
    cursor: pointer;
    outline: none;
    border-top: 3px solid #ffc82f;
    border-right: 3px solid #ffc82f;
    height: 20px;
    width: 20px;
}

.cp_4ColCarousel .fourCarousel .slick-prev {
    left:-5%;
    transform: rotate(-135deg);
}

.cp_4ColCarousel .fourCarousel .slick-next {
    right:-5%;
    transform: rotate(45deg);
}

@media screen and (max-width: 767px) {

  .cp_4ColCarousel .fourCarousel .slick-prev {
    left: -6%;
    transform: rotate(-135deg);
  }

  .cp_4ColCarousel .fourCarousel .slick-next {
    right: -6%;
    transform: rotate(45deg);
  }
}

.cp_4ColCarousel .fourCarousel .pos-fixed .slick-track {
    transform: unset!important;
}

.cp_4ColCarousel h4 {
    color: #140a9a;
    font-weight: normal;
    letter-spacing: normal;
}

@media screen and (max-width: 767px) {
  .cp_4ColCarousel h4 {
    font-size: 1.8rem;
    line-height: 1.5;   /* kelk */
    margin-top: 16px;   /* kelk */
  }
}

@media screen and (min-width: 768px), print {
  .cp_4ColCarousel h4 {
    font-size: 1.8rem;
    letter-spacing: normal;
    line-height: 1.5;   /* kelk */
    margin-top: 16px;   /* kelk */
  }
}

.cp_4ColCarousel h4 a, .cp_4ColCarousel h4 a:hover {
    color: #140a9a;
}

@media screen and (max-width: 767px) {
  .cp_4ColCarousel .slick-slide .fourCarousel_text {
    margin-top: 16px;  /* kelk */
    padding-bottom: 10px;
    font-size: 1.4rem;
    letter-spacing: 1.2px;
    line-height: 1.8;  /* kelk */
  }
}

@media screen and (min-width: 768px), print {
  .cp_4ColCarousel .slick-slide .fourCarousel_text {
    margin-top: 16px;    /* kelk */
    padding-bottom: 10px;
    font-size: 1.6rem;   /* kelk */
    letter-spacing: normal;
    line-height: 2.0;    /* kelk */
  }
}

.cp_4ColCarousel .fourCarousel_for {
/*  margin-right: 20px; kelk */
    margin: auto; /* kelk */
    max-width: var(--cp-max-width); /* kelk */
    text-align: right;
}

@media screen and (max-width: 767px) {
  .cp_4ColCarousel .fourCarousel_for {
/*  margin-top: 10px; kelk */
    margin: 10px 20px auto auto; /* kelk */
  }
}
.cp_4ColCarousel  .fourCarousel_for  a {
    position: relative;
    color: #3366cc
}
@media screen and (min-width: 768px), print {
  .cp_4ColCarousel  .fourCarousel_for a {
    font-size: 16px;
    line-height: 1.1;
  }
}
.cp_4ColCarousel .fourCarousel_for > a::before {
    position: absolute;
    top: 7px;
    right: -15px;
    width: 9px;
    height: 9px;
    -webkit-transform: scaleY(0.65) rotate(45deg);
    transform: scaleY(0.65) rotate(45deg);
    border-top: 2px solid #3366cc;
    border-right: 2px solid #3366cc;
    content: "";
}

.cp_4ColCarousel  .fourCarousel_for  a:hover {
    color: #3366cc;
    text-decoration: underline;
}

.cp_3ColResult, .cp_pager, .cp_TableList, .cp_DetailList, .cp_ScrollTable {
  max-width: var(--cp-max-width);
  margin: 0 auto 50px;
}

.cp_3ColResult .colResult3_count, .cp_TableList .colResult3_count {
    font-size: 1.9rem;
    margin-bottom: 30px;
    align-items: end;
}

@media screen and (min-width: 768px), print {
  .cp_3ColResult .colResult3_inr, .cp_TableList .listResult_inr, .colResult3_count, .cp_pager .pager_inr,
  .cp_DetailList .listResult_inr, .cp_ScrollTable .listResult_inr{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_3ColResult .colResult3_inr, .cp_TableList .listResult_inr, .colResult3_count,
  .cp_pager .pager_inr, .cp_DetailList .listResult_inr, .cp_ScrollTable .listResult_inr {
    padding: 0 calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_3ColResult .colResult3_inr, .cp_TableList .listResult_inr, .colResult3_count,
  .cp_pager .pager_inr, .cp_DetailList .listResult_inr, .cp_ScrollTable .listResult_inr {
    padding: 0 100px;
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColResult .colResult3_inr, .cp_TableList .listResult_inr, .colResult3_count,
  .cp_pager .pager_inr, .cp_DetailList .listResult_inr, .cp_ScrollTable .listResult_inr {
    width: 100%;
    padding: 0 8vw;
  }
}


@media screen and (min-width: 768px), print {
  .cp_3ColResult .colResult3_inr:after {
    display: block;
    width: 30.16129%;
    height: 0;
    content: "";
  }
}

@media screen and (min-width: 768px), print {
  .cp_3ColResult .colResult3_col {
    width: 30.16129%;
  }
  .cp_3ColResult .colResult3_col:nth-child(n + 4) {
    margin-top: 35px;
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColResult .colResult3_col {
    width: 100%;
    margin-bottom: 35px;
  }
  .cp_3ColResult .colResult3_col:last-child {
    margin-bottom: 0px;
  }
}

.cp_3ColResult .colResult3_img {
  position: relative;
  width: 100%;
}

.cp_3ColResult .colResult3_img figure, .cp_3ColResult .colResult3_img a {
  margin: auto;
  position: initial;
}

.cp_3ColResult .colResult3_img figure img, .cp_3ColResult .colResult3_img a img {
  width: 100%;
  height: auto!important;
  -o-object-fit: cover;
     object-fit: cover;
}

.cp_3ColResult .colResult3_img a:hover {
  opacity: .8;
}

.cp_3ColResult .colResult3_cap > h4 {
  color: #140a9a;
  font-weight: normal;
  letter-spacing: normal;
}

@media screen and (min-width: 768px), print {
  .cp_3ColResult .colResult3_cap > h4 {
    font-size: 2.2rem;
    line-height: 1.3;
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColResult .colResult3_cap > h4 {
    font-size: 1.8rem;
    line-height: 1.2;
  }
}

.cp_3ColResult .colResult3_cap > h4 > a {
  color: #140a9a;
}

@media screen and (min-width: 768px), print {
  .cp_3ColResult .colResult3_cap {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColResult .colResult3_cap{
    margin-top: 15px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_3ColResult .colResult3_cap .colResult3_text {
    margin-top: 15px;
    font-size: 1.3rem;
    letter-spacing: 0.95px;
    line-height: normal;
  }
}

@media screen and (max-width: 767px) {
  .cp_3ColResult .colResult3_cap .colResult3_text {
    margin-top: 10px;
    font-size: 1.4rem;
    letter-spacing: 1.43px;
    line-height: normal;
  }
}
.cp_3ColResult .colResult3_text .colResult3_lead {
     display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    margin-bottom: 10px;
}

.cp_3ColResult .colResult3_text .colResult3_lead br{
    display: none;
}

.cp_3ColResult .colResult3_text .colResult3_area {
    border-top: solid 1px #a5abaf;
}

.cp_3ColResult .colResult3_text .colResult3_area ,
.cp_3ColResult .colResult3_text .colResult3_category {
    padding-top: 10px;
}

.cp_3ColResult .colResult3_cap p + p {
  margin-top: 1.5rem;
}

.cp_pager .pagination {
    list-style: none;
    text-align: center;
    width: 100%;
}

.cp_pager .pagination li {
    display: inline-block;
    margin: 0 5px;
    font-size: 1.4rem;
    letter-spacing: normal;
}

@media screen and (min-width: 768px) {
  .cp_pager .pagination li {
    margin: 0 10px;
  }
}

.cp_pager .pagination li a {
    cursor: pointer;
}

.cp_pager .pagination li.current a{
    color: #140a9a;
}

.cp_pager .prev, .cp_pager .next {
     position: relative;
}

.cp_pager .prev  {
    padding-right: 30px;
}

.cp_pager .next{
  padding-left: 30px;
}

.cp_pager .prev a::after , .cp_pager .next a::before{
    position: absolute;
    top: calc(50% - 6px);
    width: 12px;
    height: 12px;
    border-top: 3px solid #ffc82f;
    border-right: 3px solid #ffc82f;
    content: "";
}

.cp_pager .prev a::after {
    left: 50px;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}

.cp_pager .next a::before{
    right: 50px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

:where(.cp_TableList, .cp_DetailList, .cp_ScrollTable) table.result_list {
/*.cp_TableList table.result_list, .cp_DetailList table.result_list {*/
    width: 100%;
    line-height: 1.4;
    font-size: 1.4rem;
    border-spacing: 5px;
    table-layout: fixed;
    word-wrap : break-word;
    overflow-wrap : break-word;
}

:where(.cp_TableList, .cp_DetailList, .cp_ScrollTable) .result_list thead th ,
:where(.cp_TableList, .cp_DetailList, .cp_ScrollTable) .result_list td {
/*.cp_TableList .result_list thead th , .cp_TableList .result_list td, .cp_DetailList .result_list thead th , .cp_DetailList .result_list td  {*/
    text-align: center;
    padding: 5px;
}

:where(.cp_TableList, .cp_DetailList, .cp_ScrollTable) .result_list thead th {
/*.cp_TableList .result_list thead th, .cp_DetailList .result_list thead th {*/
    background-color: #140a9a;
    color: #fff;
    font-weight: normal;
}

.cp_DetailList .result_list tbody th {
    font-weight: normal;
}

:where(.cp_TableList, .cp_ScrollTable) .result_list td , .cp_DetailList .result_list tbody tr {
/*.cp_TableList .result_list td, .cp_DetailList .result_list tbody tr {*/
    background-color: #e4e6e6;
}

:where(.cp_TableList, .cp_DetailList, .cp_ScrollTable) .result_list td:empty::after {
/*.cp_TableList .result_list td:empty::after, .cp_DetailList .result_list td:empty::after {*/
    content: "-";
}
@media screen and (min-width: 768px) {
  .cp_TableList .result_list td.list_dl span.list_pdf:empty::after {
    content: "-";
  }
}

:where(.cp_TableList, .cp_ScrollTable) .result_list thead th:first-of-type {
/*.cp_TableList .result_list thead th:first-of-type {*/
    width: 162px;
}

:where(.cp_TableList, .cp_ScrollTable) .result_list thead th:nth-child(2) {
/*.cp_TableList .result_list thead th:nth-child(2) {*/
    width: 22%;
}

.cp_OldList .result_list thead th:first-of-type, .cp_OldList .result_list thead th:nth-child(2) {
    width: auto;
}

:where(.cp_TableList, .cp_ScrollTable) .result_list td.list_img {
/*.cp_TableList .result_list td.list_img {*/
    position: relative;
    background-color: unset;
    border: 1px solid #e4e6e6;
    padding: 0;
}

:where(.cp_TableList, .cp_ScrollTable) .result_list td.list_img a::after {
/*.cp_TableList .result_list td.list_img a::after {*/
    position: absolute;
    right: 10px;
    bottom: 12px;
    width: 10px;
    height: 10px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: 3px solid #ffc82f;
    border-right: 3px solid #ffc82f;
    content: "";
}

:where(.cp_TableList, .cp_ScrollTable) .result_list td.list_img a:hover {
/*.cp_TableList .result_list td.list_img a:hover {*/
    opacity: .8;
}

:where(.cp_TableList, .cp_ScrollTable) .result_list td.list_img img {
/*.cp_TableList .result_list td.list_img img {*/
    object-fit: contain;
    height: 90px!important;
    image-rendering: -webkit-optimize-contrast;
}

:where(.cp_DetailList, .cp_OldList) .result_list th span,
:where(.cp_TableList, .cp_DetailList, .cp_ScrollTable) .result_list td span {
/*.cp_TableList .result_list td span, .cp_DetailList .result_list th span , .cp_DetailList .result_list td span , .cp_OldList .result_list th span{*/
    display: block;
}

.cp_TableList .result_list th.list_title {
    display: none;
    font-weight: normal;
}

@media screen and (min-width: 768px) {
  .cp_OldList .result_list th.list_title {
    display: revert;
    background-color: #e4e6e6;
    height: 90px;
  }
}

:where(.cp_TableList, .cp_ScrollTable) .result_list td.list_link a, .cp_CarList a.car_detail_btn {
/*.cp_TableList .result_list td.list_link a, .cp_CarList a.car_detail_btn {*/
    color: #3366cc;
}

:where(.cp_TableList, .cp_ScrollTable) .result_list td.list_link a:hover, .cp_CarList a.car_detail_btn:hover {
/*.cp_TableList .result_list td.list_link a:hover, .cp_CarList a.car_detail_btn:hover {*/
    text-decoration: underline;
}

.cp_TableList .result_list td.list_link div {
    display: none;
}

:where(.cp_TableList, .cp_ScrollTable) .result_list td.list_dl span.list_pdf a::after  {
/*.cp_TableList .result_list td.list_dl span.list_pdf a::after {*/
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-top: -4px;
    margin-left: 3px;
    background: url(../images/ico_pdf.png) no-repeat;
    background-size: cover;
    vertical-align: middle;
    content: " ";
}

/* ScrollTable */
.cp_ScrollTable .scrol_wrap {
    overflow: auto;
}

.cp_ScrollTable table.result_list {
    min-width: 1000px;
    width:100%;
}

.cp_ScrollTable.cp_ProductList .result_list thead th:first-of-type {
    width: 22%;
}

.cp_ScrollTable .result_list thead th:nth-child(2) {
    width: 15%;
}

.cp_ScrollTable .result_list thead th.list_left,
.cp_ScrollTable .result_list td.list_left,
.cp_ScrollTable .result_list td.list_link {
    text-align: left;
    padding: 5px 10px;
}

@media not screen and (min-width: 768px) {
  .cp_ScrollTable .result_list thead th:first-of-type {
    width: 100px;
  }
  .cp_ScrollTable .result_list td.list_img img {
    height: 75px!important;
  }
}

/* usedcer */
.cp_CarList .msg_area {
  margin-bottom: -20px;
}

.cp_CarList .msg_area p {
    font-weight: normal;
    font-style: normal;
    font-size: 0.8em;
    display: inline-block;
    line-height: 1.4em;
    color: #4c5459;
}

.cp_CarList .car_all_contact {
    width: 250px;
    height: 50px;
    font-size: 1.3rem;
    line-height: 1.2;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0 30px;
    border-radius: 6px;
    background-color: #ffc82f;
    color: #2a3238;
    font-weight: bold;
    letter-spacing: 2px;
    margin-top: -15px;
    border: none;
}

.cp_CarList div:nth-of-type(3) {
    justify-content: flex-end;
}

.cp_CarList div:nth-of-type(3) .car_all_contact {
    margin-top: 30px;
}

.cp_CarList .car_all_contact:hover {
    background-color: #ffd359;
    color: #4c5459;
}

.cp_CarList .car_all_contact:disabled {
    background-color: #a5abaf;
    border-color: #a5abaf;
    color: #fff;
}

.cp_CarList .list_contact {
    position: relative;
}

.cp_CarList .list_contact input[type="checkbox"]{
    display: none;
}

.cp_CarList .list_contact input[type="checkbox"]+label{
    cursor: pointer;
    position: absolute;
    right: 20px;
    top: 10px;
}

.cp_CarList .list_contact input[type="checkbox"]+label::before{
    content: "";
    position: absolute;
    display: block;
    box-sizing: border-box;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    left: 0;
    top: 50%;
    border: 1px solid;
    border-color:  #a5abaf;
    background-color: #FFF;
}

.cp_CarList .list_contact input[type="checkbox"]:checked+label::after{
    content: "";
    position: absolute;
    display: block;
    box-sizing: border-box;
    width: 14px;
    height: 9px;
    margin-top: -7px;
    top: 50%;
    left: 3px;
    transform: rotate(-45deg);
    border-bottom: 3px solid;
    border-left: 3px solid;
    border-color:  #ffc82f;
}

@media screen and (max-width: 767px) {
  .cp_TableList thead, .cp_TableList .result_list td.list_img,
  .cp_DetailList thead {
      display:none!important;
  }

  .cp_TableList .result_list th.list_title {
     display: block;
     text-align: left;
     background-color: #e4e6e6;
     padding: 10px 25px 10px 5px;
     position: relative;
  }

  .cp_DetailList .result_list th.list_title {
     display: block;
     padding: 10px 20px 10px 5px;
  }

  .cp_TableList .result_list th.list_title::before, .cp_TableList .result_list th.list_title::after {
    display: block;
    position: absolute;
    top: 0;
    right: 5px;
    bottom: 0;
    width: 20px;
    height: 3px;
    margin: auto;
    border-radius: 3px;
    background-color: #a5abaf;
    content: "";
  }

  .cp_TableList .result_list th.list_title::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }

  .cp_TableList .result_list th.open::after {
    -webkit-transform: none;
    transform: none;
  }

  .cp_TableList .result_list td,
  .cp_DetailList .result_list td {
    display: block!important;
    width: 100%;
    background-color: #fff;
    text-align: right;
    border-bottom: 1px solid #a5abaf;
    padding: 5px 0;
  }

  .cp_TableList .result_list td.list_label::before, .cp_DetailList .result_list td.list_label::before {
    content: attr(data-label);
    float: left;
    margin-right: 5px;
  }

  .cp_TableList .result_list td.list_link div {
    display: block;
    text-align: left;
  }

  .cp_TableList .result_list td.list_link span {
    display: none;
  }
  
  .cp_TableList .result_list td.list_dl {
    text-align: left;
    border: 0;
  }
  
  .cp_TableList .result_list td span, .cp_DetailList .result_list th span, .cp_DetailList .result_list td span, .cp_OldList .result_list th span, .cp_carList .result_list th span {
    display: inline-block;
  }

  .cp_TableList .slash span + span::before {
    content: "／ ";
  }

  .cp_TableList .result_list td.list_dl span {
    border-bottom: 1px solid #a5abaf;
    padding: 5px 0;
    display: block;
  }
  
  .cp_TableList .result_list td.list_dl span:empty {
    border-bottom: none;
    padding: 0;
  }

  .cp_TableList .result_list td.td_hidden { /* 非表示列トグルクラスの打消し */
    display:none!important;
  }
  
  .cp_TableList .result_list td a {
    color: #3366cc;
  }

  .cp_CarList .result_list td .car_detail_btn {
    width: 100%;
    height: 50px;
    font-size: 1.3rem;
    line-height: 1.2;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0 30px;
    border-radius: 6px;
    background-color: #ffc82f;
    color: #2a3238;
    font-weight: bold;
    letter-spacing: 2px;
    margin: 10px 0;
    border: none;
  }

  .cp_CarList .msg_area, .cp_CarList .list_contact input[type="checkbox"]+label {
    display: none;
  }
}

/* 機械質量・バケット容量 */
.list_dump_truck table th:nth-child(3), .list_dump_truck table td:nth-child(4),
.list_bulldozer_01 table th:nth-child(5), .list_bulldozer_01 table td:nth-child(6),
.list_bulldozer_02 table th:nth-child(5), .list_bulldozer_02 table td:nth-child(6),
.list_dump_truck table th:nth-child(5), .list_dump_truck table td:nth-child(6),
.list_recycling_equipment table th:nth-child(5), .list_recycling_equipment table td:nth-child(6),
.list_motor_grader table th:nth-child(5), .list_motor_grader table td:nth-child(6) {
    display: none!important;
}

/* 最大積載量・空車質量・ブレード容量・ブレード長さ */
.cp_ListResult table th:nth-child(4), .cp_ListResult table td:nth-child(5),
.cp_ListResult table th:nth-child(7), .cp_ListResult table td:nth-child(8),
.cp_ListResult table th:nth-child(8), .cp_ListResult table td:nth-child(9),
.cp_ListResult table th:nth-child(9), .cp_ListResult table td:nth-child(10) {
    display: none!important;
}

.list_dump_truck table th:nth-child(4), .list_dump_truck table td:nth-child(5),
.list_dump_truck table th:nth-child(7), .list_dump_truck table td:nth-child(8),
.list_bulldozer_01 table th:nth-child(8), .list_bulldozer_01 table td:nth-child(9),
.list_bulldozer_02 table th:nth-child(8), .list_bulldozer_02 table td:nth-child(9),
.list_motor_grader table th:nth-child(9), .list_motor_grader table td:nth-child(10) {
    display: block!important;
}

@media screen and (min-width: 768px) {
  .list_dump_truck table th:nth-child(4), .list_dump_truck table td:nth-child(5),
  .list_dump_truck table th:nth-child(7), .list_dump_truck table td:nth-child(8),
  .list_bulldozer_01 table th:nth-child(8), .list_bulldozer_01 table td:nth-child(9),
  .list_bulldozer_02 table th:nth-child(8), .list_bulldozer_02 table td:nth-child(9),
  .list_motor_grader table th:nth-child(9), .list_motor_grader table td:nth-child(10) {
    display: table-cell!important;
  }
}

.cp_SearchCriteria {
}

.cp_SearchCriteria .accordion_dd-inr {
    padding: 0;
}
.cp_SearchCriteria .accordion_dt-inr {
    font-size: 1.8rem;
    text-align: center;
}

@media screen and (min-width: 768px), print {
  .cp_SearchCriteria .accordion_dt-inr {
    font-size: 2.2rem;
  }
}

.cp_SearchCriteria .cp_2ColList > dl > div:first-of-type{
    border-top: none;
}

.cp_SearchCriteria .cp_2ColList > dl dt {
    font-size: 1.4rem;
}

@media screen and (min-width: 768px) , print{
  .cp_SearchCriteria .cp_2ColList > dl dt {
    width: 15%;
  }
}

.cp_SearchCriteria .checkarea {
    display: flex;
     flex-wrap: wrap; 
}

.cp_SearchCriteria .checkarea div {
    width: 49%;
    margin: 0 0.5%;
    font-size:1.3rem;
    letter-spacing: normal;
}

@media screen and (min-width: 768px) , print{
  .cp_SearchCriteria .checkarea div {
    width: 15.5%;
  }
  .cp_SearchCriteria .checkarea_col4 div {
    width: 23.5%;
  }
}

.cp_SearchCriteria .checkarea label{
    cursor: pointer;
    padding: 5px;
    background-color: #e4e6e6;
    display: inline-block;
    margin: 5px;
    width: 100%;
    text-align: center;
}

.cp_SearchCriteria .checkarea input[type="checkbox"] {
    display: none;
}

.cp_SearchCriteria .checkarea input[type="checkbox"]:checked + label {
    background-color: #140a9a;
    color:#FFF;
}

.cp_SearchCriteria input[type="text"] {
    width: 100%;
    height: 45px;
    padding: 0 15px;
    font-size: 1.4rem;
    letter-spacing: normal;
    line-height: normal;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    border: none;
    background-color: #e4e6e6;
}

.cp_SearchCriteria .select_area div{
    display: inline-block;
}

.cp_SearchCriteria .select_from_to {
    width: 43.5%;
    position: relative;
    background: #e4e6e6;
}

@media screen and (min-width: 768px), print {
  .cp_SearchCriteria .select_from_to {
    width: 25%;
  }
}

.cp_SearchCriteria .select_from_to::before {
    position: absolute;
    top: 13px;
    right: 13px;
    width: 10px;
    height: 10px;
    padding: 0;
    content: '';
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    pointer-events: none;
    z-index: 1;
    transform: rotate(135deg);
}

.cp_SearchCriteria .select_from_to::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 38px;
    content: '';
    background: #a5abaf;
    pointer-events: none;
}

.cp_SearchCriteria .select_area select {
    width: 100%;
    height: 45px;
    cursor: pointer;
    border: none;
    background: transparent;
    -webkit-appearance: none;
    appearance: none;
    padding: 15px;
}

.cp_SearchCriteria .select_area select::-ms-expand {
    display: none;
}

.cp_SearchCriteria .select_area .select_tilde {
    width: 8%;
    text-align: center;
}


@media screen and (min-width: 768px), print {
  .search_submit {
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 500px;
    margin: 0px auto 40px;
    padding-top: 0px;
  }
}
@media screen and (min-width: 768px), print{
  .search_btn {
    width: 200px;
    height: 60px;
    font-size: 1.8rem;
    line-height: 1.3;
  }
}

.search_btn {
    appearance: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    padding-right: 30px;
    padding-left: 30px;
    border: none;
    border-radius: 6px;
    background-color: #ffc82f;
    color: #2a3238;
    font-weight: bold;
    letter-spacing: 2px;
    line-height: 1;
    text-align: center;
    cursor: pointer;
}

.search_btn.gray {
    background-color: #a5abaf;
    color: #fff;
}

.search_btn#search_clear {
    background-color: #1b232a;
    color: #fff;
}

@media screen and (max-width: 767px){
  .search_btn {
    width: 100%;
    height: 50px;
    font-size: 1.4rem;
    line-height: 1.2;
        margin-bottom: 20px;
  }
}

.cp_SearchCriteria .search_btn{
    font-size: 1.4rem;
    height: 50px;
}

@media screen and (max-width: 767px){
  .cp_SearchCriteria .search_submit{
    display:flex;
    justify-content: space-around;
  }
  
  .cp_SearchCriteria .search_btn{
    width:48%;
    font-size: 1.2rem;
  }
}


/**/
.contactUs .cp_HeadingText1 {
  margin-bottom: 50px;
}

@media screen and (min-width: 768px), print {
  .contactUs .cp_HeadingText1 .headingText1_h2 {
    font-size: 2.6rem;
  }
}

@media screen and (max-width: 767px) {
  .contactUs .cp_HeadingText1 .headingText1_h2 {
    font-size: 2.2rem;
  }
}

@media screen and (min-width: 768px), print {
  .contactUs .cp_HeadingText1 .headingText1_h2 + p {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .contactUs .cp_HeadingText1 .headingText1_h2 + p {
    margin-top: 10px;
  }
}

@media screen and (max-width: 767px) {
  .contactUs .link_layout, .contactUs .cp_2ColImage, .contactUs .cp_HR {
    margin-bottom: 50px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-nav {
    max-width: var(--cp-max-width);
    margin: 0px auto 80px;
    padding-top: 30px;
    padding-right: 53px;
    padding-left: 53px;
  }
  .cp_ContactUs-nav.noninput {
    padding-top: 0px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_ContactUs-nav {
    padding-left: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_ContactUs-nav {
    padding-left: 100px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_ContactUs-nav {
    padding-right: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_ContactUs-nav {
    padding-right: 100px;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-nav {
    width: 100%;
    margin-bottom: 60px;
    padding: 0 8vw;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-nav_ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
  }
  .cp_ContactUs-nav_ul::after, .cp_ContactUs-nav_ul::before {
    position: absolute;
    top: calc(50% - 10px);
    left: calc(33.3% - 15px);
    width: 0;
    height: 0;
    border-width: 10px 0 10px 16px;
    border-style: solid;
    border-color: transparent transparent transparent #140a9a;
    content: "";
  }
  .cp_ContactUs-nav_ul::after {
    top: calc(50% - 10px);
    right: calc(33.3% - 20px);
    left: auto;
    width: 0;
    height: 0;
  }
}

.cp_ContactUs-nav_ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-nav_ul li {
    width: 100%;
    height: 60px;
    margin: 0 30px;
    border-right: 1px solid #D2D4D3;
    border-left: 1px solid #D2D4D3;
    font-size: 1.8rem;
    letter-spacing: normal;
    text-align: center;
  }
  .cp_ContactUs-nav_ul li:first-child {
    margin-left: 0;
  }
  .cp_ContactUs-nav_ul li:last-child {
    margin-right: 0;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-nav_ul li {
    position: relative;
    width: 100%;
    height: 50px;
    margin: 0 0 50px;
    border-top: 1px solid #D2D4D3;
    border-bottom: 1px solid #D2D4D3;
    font-size: 1.5rem;
  }
  .cp_ContactUs-nav_ul li::after {
    position: absolute;
    bottom: -32px;
    left: calc(50% - 8px);
    width: 0;
    height: 0;
    border-width: 12px 9px 0 9px;
    border-style: solid;
    border-color: #140a9a transparent transparent transparent;
    content: "";
  }
  .cp_ContactUs-nav_ul li:last-child {
    margin-bottom: 0;
  }
  .cp_ContactUs-nav_ul li:last-child::after {
    content: none;
  }
}

.cp_ContactUs-nav_ul li.active {
  border: 0;
  background-color: #140a9a;
  color: #fff;
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-filter {
/*  margin-bottom: 100px;
    padding-right: 53px;
    padding-left: 53px;  kelk */
    margin-bottom: 0;
    padding: 0!important;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_ContactUs-filter {
    padding-left: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_ContactUs-filter {
    padding-left: 100px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_ContactUs-filter {
    padding-right: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_ContactUs-filter {
    padding-right: 100px;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-filter {
    margin-bottom: 50px;
  }
}

.cp_ContactUs-filter_label {
  display: block;
  position: relative;
  background-color: #fff;
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-filter_label {
    width: 440px !important; /* kelk */
    height: 60px;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-filter_label {
    width: 100%;
    height: 50px; /* kelk */
    margin: 8px 0 20px; /* kelk */
  }
}

.cp_ContactUs-filter_label::before {
  position: absolute;
  top: calc(50% - 9px);
  right: 20px;
  width: 9px;
  height: 9px;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  border-top: 3px solid var(--cp-charcoal-gray);    /* kelk */
  border-right: 3px solid var(--cp-charcoal-gray);  /* kelk */
  content: "";
  pointer-events: none;
}

.cp_ContactUs-filter_select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 100%;
  border: 1px solid #ffffff;  /* kelk */
  border-radius: 4px;
  background-color: #f6f6f6;  /* kelk */
  color: #a5abaf;
  font-family: "Noto Sans Japanese", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Myriad Pro, Myriad, Arial, sans-serif;
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-filter_select {
    padding-left: 15px;
    font-size: 1.6rem;  /* kelk */
    line-height: 2;     /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-filter_select {
    padding-left: 10px;
    font-size: 1.6rem;
    line-height: 40px;
  }
}

.cp_ContactUs-filter_select.choices {
  color: #000;
}

.cp_ContactUs-filter_select option {
  color: #000;
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-attention {
    max-width: var(--cp-max-width);
    margin: 0px auto 80px;
    padding-right: 53px;
    padding-left: 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_ContactUs-attention {
    padding-left: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_ContactUs-attention {
    padding-left: 100px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_ContactUs-attention {
    padding-right: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_ContactUs-attention {
    padding-right: 100px;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-attention {
    width: 100%;
    margin-bottom: 60px;
    padding: 0 8vw;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-attention > p {
    font-size: 1.9rem;
    letter-spacing: 0.95px;
    line-height: normal;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-attention > p {
    font-size: 1.4rem;
    letter-spacing: 1.43px;
    line-height: normal;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-doc {
    margin-bottom: 100px;
    padding-right: 53px;
    padding-left: 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_ContactUs-doc {
    padding-left: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_ContactUs-doc {
    padding-left: 100px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_ContactUs-doc {
    padding-right: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_ContactUs-doc {
    padding-right: 100px;
  }
}

.cp_ContactUs-doc > hr {
  height: 1px;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  background-color: var(--cp-light-gray);  /* kelk */
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-doc > hr {
    margin: 50px 0;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-doc > hr {
    margin: 40px 0;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-doc > p {
    font-size: 1.5rem;
    letter-spacing: normal;
    line-height: 1.8;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-doc > p {
    font-size: 1.4rem;
    letter-spacing: normal;
    line-height: 2.04;
  }
}

.cp_ContactUs-doc > p a {
  color: #3366cc;
  text-decoration: none;
}

.cp_ContactUs-doc > p a:hover {
  color: #3366cc;
  text-decoration: underline;
}

/* ---- unused
.cp_ContactUs-doc_txt-lnk {
  display: inline-block;
  position: relative;
  color: #000;
  text-decoration: none;
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-doc_txt-lnk {
    margin-top: 25px;
    padding-left: 23px;
    font-size: 1.5rem;
    letter-spacing: normal;
    line-height: 1.8;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-doc_txt-lnk {
    margin-top: 10px;
    padding: 7px 0 7px 20px;
    font-size: 14px;
    line-height: 1.1;
  }
}

.cp_ContactUs-doc_txt-lnk:hover {
  color: #140a9a;
}

.cp_ContactUs-doc_txt-lnk::before {
  position: absolute;
  top: 8px;
  left: 0;
  width: 9px;
  height: 9px;
  -webkit-transform: scaleY(0.65) rotate(45deg);
          transform: scaleY(0.65) rotate(45deg);
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  content: "";
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-doc_txt-lnk::before {
    top: 10px;
    right: -15px;
    width: 9px;
    height: 9px;
    -webkit-transform: scaleY(0.65) rotate(45deg);
            transform: scaleY(0.65) rotate(45deg);
    border-top: 1px solid #000;
    border-right: 1px solid #000;
  }
}
----*/

@media screen and (min-width: 768px), print {
  .cp_ContactUs-agree {
    margin-bottom: 110px;
    padding-right: 53px;
    padding-left: 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_ContactUs-agree {
    padding-left: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_ContactUs-agree {
    padding-left: 100px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_ContactUs-agree {
    padding-right: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_ContactUs-agree {
    padding-right: 100px;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-agree {
    margin-bottom: 70px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-agree > p {
    font-size: 1.9rem;
    letter-spacing: normal;
    line-height: normal;
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-agree > p {
    font-size: 1.4rem;
    letter-spacing: normal;
    line-height: normal;
  }
}

.cp_ContactUs-agree_check {
  text-align: center;
  
  label {
    cursor: pointer;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-agree_check {
    margin-top: 40px;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-agree_check {
    margin-top: 26px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-agree_check span {
    margin-left: 8px;
    font-size: 1.9rem;
    letter-spacing: 0.95px;
    line-height: 1.7;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-agree_check span {
    margin-left: 6px;
    font-size: 1.6rem;
    letter-spacing: 1.43px;
    line-height: 1.7;
  }
}

.cp_ContactUs-agree .row {
    text-align: center;
}

.cp_ContactUs-agree .g-recaptcha > div {
    max-width:100%;
    margin: 20px auto 10px;
}
.cp_ContactUs-agree .Captchalabel {
    color: #c00;
    font-weight: bold;
    font-size: 1.4rem;
    letter-spacing: normal;
}

@media screen and (min-width: 768px){
  .cp_ContactUs-agree .Captchalabel {
    font-size: 1.5rem;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-submit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 660px;
    margin: 0px auto 100px;
    padding-top: 30px;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-submit {
    margin: 0px auto 70px;
  }
}

.cp_ContactUs-submit .cp_ContactUs-form_btn {
  margin: 0;
}


@media screen and (max-width: 767px) {
  .cp_ContactUs-submit .cp_ContactUs-form_btn.gray {
    margin-bottom: 15px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-form {
    max-width: var(--cp-max-width);
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-form {
    width: 100%;
    padding: 0 8vw;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-form_dl {
    margin-bottom: 40px;
    padding-right: 53px;
    padding-left: 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_ContactUs-form_dl {
    padding-left: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_ContactUs-form_dl {
    padding-left: 100px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_ContactUs-form_dl {
    padding-right: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_ContactUs-form_dl {
    padding-right: 100px;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-form_dl {
    margin-bottom: 50px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-form_dl > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    margin-bottom: 25px;
  }
  .cp_ContactUs-form_dl > div.message dt {
    min-width: 200px;
    padding-top: 98px;
  }
}

.cp_ContactUs-form_dl > div:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-form_dl > div dt {
    width: 200px;
    margin-right: 20px;
    padding-top: 9px;
    font-size: 1.9rem;
    letter-spacing: normal;
    line-height: 2;
  }
  .cp_ContactUs-form_dl > div dt.address_title {
    padding-top: 46px;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-form_dl > div dt {
    margin-bottom: 10px;
    font-size: 1.6rem;
    letter-spacing: normal;
    line-height: 1.6;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-form_dl > div dd {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-form_dl > div dd {
    margin-bottom: 20px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-form_dl > div dd.required-non {
    padding-bottom: 34px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-form_dl > div dd.address {
    margin-bottom: 10px;
  }
}

.cp_ContactUs-form_dl > div dd.address .address-inr > input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  border: none;
  background-color: #f6f6f6;
  font-family: "Noto Sans Japanese", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Myriad Pro, Myriad, Arial, sans-serif;
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-form_dl > div dd.address .address-inr > input {
    width: 440px; /* kelk */
    height: 60px;
    margin-bottom: 23px;
    padding: 0 15px;
    font-size: 1.9rem;
    letter-spacing: normal;
    line-height: 1.9;
  }

  .cp_ContactUs-form_dl > div dd.address .address-inr > #contactus_add {
    width: 100%;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_ContactUs-form_dl > div dd.address .address-inr > input {
    width: calc(425.34px + 84.66 * (100vw - 769px) / 101);
  }
}

@media screen and (min-width: 768px) and (min-width: 870px), print and (min-width: 870px) {
  .cp_ContactUs-form_dl > div dd.address .address-inr > input {
    width: 440px; /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-form_dl > div dd.address .address-inr > input {
    width: 100%;
    height: 50px;
    margin-top: 8px;
    margin-bottom: 20px;
    padding: 0 10px 0 15px;
    font-size: 1.6rem;
    letter-spacing: normal;
    line-height: 1.6;
  }
}

.cp_ContactUs-form_dl > div dd.address .address-inr > input::-webkit-input-placeholder {
  color: #a5abaf;
}

.cp_ContactUs-form_dl > div dd.address .address-inr > input::-moz-placeholder {
  color: #a5abaf;
}

.cp_ContactUs-form_dl > div dd.address .address-inr > input:-ms-input-placeholder {
  color: #a5abaf;
}

.cp_ContactUs-form_dl > div dd.address .address-inr > input::-ms-input-placeholder {
  color: #a5abaf;
}

.cp_ContactUs-form_dl > div dd.address .address-inr > input::placeholder {
  color: #a5abaf;
}

.cp_ContactUs-form_dl > div dd.address .address-inr > input.form-error {
  border-color: #eac2c2;
  background-color: #fae9e9;
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-form_dl > div dd.address .address-inr > input.form-error {
    margin-bottom: 8px;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-form_dl > div dd.address .address-inr > input.form-error {
    margin-bottom: 8px;
  }
}

.cp_ContactUs-form_dl > div dd.address .address-inr .item-error {
  color: #c00;
  font-weight: bold;
  display: none; /* kelk */
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-form_dl > div dd.address .address-inr .item-error {
    margin-bottom: 12px;
    font-size: 1.5rem;
    letter-spacing: normal;
    line-height: 1.7;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-form_dl > div dd.address .address-inr .item-error {
    margin-bottom: 15px;
    font-size: 1.4rem;
    letter-spacing: normal;
    line-height: 1.6;
  }
}

.cp_ContactUs-form_dl > div dd.address .address-inr > label { /* kelk */
  margin-bottom: 23px;
}

.cp_ContactUs-form_dl > div dd > textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  width: 100%;
  border: none;
  background-color: #f6f6f6;
  font-family: "Noto Sans Japanese", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Myriad Pro, Myriad, Arial, sans-serif;
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-form_dl > div dd > textarea {
    padding: 10px 15px;
    font-size: 1.9rem;
    letter-spacing: normal;
    line-height: 1.9;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-form_dl > div dd > textarea {
    padding: 10px 10px 0px 15px;
    font-size: 1.6rem;
    letter-spacing: normal;
    line-height: 1.6;
  }
}

.cp_ContactUs-form_dl > div dd > textarea::-webkit-input-placeholder {
  color: #a5abaf;
}

.cp_ContactUs-form_dl > div dd > textarea::-moz-placeholder {
  color: #a5abaf;
}

.cp_ContactUs-form_dl > div dd > textarea:-ms-input-placeholder {
  color: #a5abaf;
}

.cp_ContactUs-form_dl > div dd > textarea::-ms-input-placeholder {
  color: #a5abaf;
}

.cp_ContactUs-form_dl > div dd > textarea::placeholder {
  color: #a5abaf;
}

.cp_ContactUs-form_dl > div dd > input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  border: none;
  background-color: #f6f6f6;
  font-family: "Noto Sans Japanese", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Myriad Pro, Myriad, Arial, sans-serif;
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-form_dl > div dd > input {
    width: 100%;
    height: 60px;
    padding: 0 15px;
    font-size: 1.9rem;
    letter-spacing: normal;
    line-height: 1.9;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-form_dl > div dd > input {
    width: 100%;
    height: 50px;
    padding: 0 10px 0 15px;
    font-size: 1.6rem;
    letter-spacing: normal;
    line-height: 1.6;
  }
}

.cp_ContactUs-form_dl > div dd > input::-webkit-input-placeholder {
  color: #a5abaf;
}

.cp_ContactUs-form_dl > div dd > input::-moz-placeholder {
  color: #a5abaf;
}

.cp_ContactUs-form_dl > div dd > input:-ms-input-placeholder {
  color: #a5abaf;
}

.cp_ContactUs-form_dl > div dd > input::-ms-input-placeholder {
  color: #a5abaf;
}

.cp_ContactUs-form_dl > div dd > input::placeholder {
  color: #a5abaf;
}

.cp_ContactUs-form_dl > div dd > input + input { /* mail2 */
  margin-top: 12px;
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-form_dl > div dd .item-address {
    margin-bottom: 12px;
    font-size: 1.5rem;
    letter-spacing: normal;
    line-height: 1.7;
  }
}

.cp_ContactUs-form_dl > div dd .item-address > span {
  color: #140a9a;
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-form_dl > div dd .item-address > span {
    margin-left: 5px;
  }
}

.cp_ContactUs-form_dl > div dd .form-error {
  border-color: #eac2c2;
  background-color: #fae9e9;
}

.cp_ContactUs-form_btn {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  padding-right: 30px;
  padding-left: 30px;
  border: none;
  border-radius: 6px;
  background-color: #ffffff;  /* kelk */
  color: var(--cp-blue);  /* kelk */
  border: 2px solid var(--cp-blue); /* kelk */
  font-family: "Noto Sans Japanese", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Myriad Pro, Myriad, Arial, sans-serif;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 1;
  text-align: center;
  cursor: pointer;
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-form_btn {
    width: 300px;
    height: 60px;
    font-size: 1.8rem;
    line-height: 1.3;
  }
}

.cp_ContactUs-form_btn:hover {
  background-color: var(--cp-blue);  /* kelk */
  color: #ffffff;  /* kelk */
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-form_btn {
    width: 100%;
    height: 50px;
    font-size: 1.4rem;
    line-height: 1.2;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-form_btn {
    margin-top: 40px;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-form_btn {
    margin-top: 30px;
  }
}

.cp_ContactUs-form_btn.gray,
.cp_ContactUs-form_btn:disabled {
  background-color: #a5abaf;
  color: #fff;
  border: unset; /* kelk */
  cursor: unset;
}

.cp_ContactUs-form_btn.gray:hover {
  background-color: #afb5b9;
  color: #fff;
}


@media screen and (min-width: 768px), print {
  .cp_ContactUs-confirm_dl {
    margin-bottom: 40px;
    padding-right: 53px;
    padding-left: 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_ContactUs-confirm_dl {
    padding-left: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_ContactUs-confirm_dl {
    padding-left: 100px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_ContactUs-confirm_dl {
    padding-right: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_ContactUs-confirm_dl {
    padding-right: 100px;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-confirm_dl {
    margin-bottom: 50px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-confirm_dl > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    margin-bottom: 25px;
  }
  .cp_ContactUs-confirm_dl > div.message dt {
    padding-top: 80px;
  }
  .cp_ContactUs-confirm_dl > div.message dd p {
    height: 200px;
    overflow-y: scroll;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-confirm_dl > div.message dd p {
    height: 160px;
    overflow-y: scroll;
  }
}

.cp_ContactUs-confirm_dl > div:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-confirm_dl > div dt {
    width: 200px;
    margin-right: 20px;
    padding-top: 9px;
    font-size: 1.9rem;
    letter-spacing: normal;
    line-height: 2;
  }
  .cp_ContactUs-confirm_dl > div dt.address_title {
    padding-top: 42px;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-confirm_dl > div dt {
    margin-bottom: 10px;
    font-size: 1.6rem;
    letter-spacing: normal;
    line-height: 1.6;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-confirm_dl > div dd {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-confirm_dl > div dd {
    margin-bottom: 20px;
  }
}

.cp_ContactUs-confirm_dl > div dd p {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #f6f6f6;
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-confirm_dl > div dd p {
    width: 100%;
    min-height: 60px;
    padding: 10px 15px 10px 20px;
    font-size: 1.9rem;
    letter-spacing: normal;
    line-height: 2;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-confirm_dl > div dd p {
    width: 100%;
    min-height: 50px;
    padding: 10px 10px 10px 15px;
    font-size: 1.6rem;
    letter-spacing: normal;
    line-height: 1.9;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-confirm_dl > div dd.address {
    font-size: 1.5rem;
    letter-spacing: normal;
    line-height: 1.7;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-confirm_dl > div dd.address .address-inr p {
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-confirm_dl > div dd.address .address-inr p {
    margin-top: 8px;
    margin-bottom: 20px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-confirm_dl > div dd.address .address-inr:last-child p {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-confirm_dl > div dd.address .address-inr .item-address {
    margin-bottom: 8px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-final {
    max-width: var(--cp-max-width);
    margin: 0px auto 130px;
    padding-right: 53px;
    padding-left: 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_ContactUs-final {
    padding-left: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_ContactUs-final {
    padding-left: 100px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_ContactUs-final {
    padding-right: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_ContactUs-final {
    padding-right: 100px;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-final {
    width: 100%;
    margin-bottom: 80px;
    padding: 0 8vw;
  }
}

.cp_ContactUs-final > h2 {
  font-weight: normal;
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-final > h2 {
    margin-bottom: 30px;
    font-size: 2.6rem;
    letter-spacing: normal;
    line-height: 1.45;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-final > h2 {
    margin-bottom: 20px;
    font-size: 2.2rem;
    letter-spacing: normal;
    line-height: 1.5;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-final > p {
    font-size: 1.9rem;
    letter-spacing: 0.95px;
    line-height: normal;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-final > p {
    font-size: 1.4rem;
    letter-spacing: 1.43px;
    line-height: normal;
  }
}

.cp_ContactUs-final_btn {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-right: 30px;
  padding-left: 30px;
  border-radius: 6px;
  color: var(--cp-blue); /* kelk */
  background-color: #ffffff; /* kelk */
  border: 2px solid var(--cp-blue); /* kelk */
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 1;
  text-align: center;
  text-decoration: none;
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-final_btn {
    width: 300px;
    height: 60px;
    font-size: 1.8rem;
    line-height: 1.3;
  }
}

.cp_ContactUs-final_btn:hover {
  background-color:  var(--cp-blue);  /* kelk */
  color: #ffffff;  /* kelk */
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-final_btn {
    width: 100%;
    height: 50px;
    font-size: 1.4rem;
    line-height: 1.2;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-final_btn {
    margin-top: 40px;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-final_btn {
    margin-top: 30px;
  }
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-form_dl > div dd .item-required, .cp_ContactUs-filter .item-required {
    margin-top: 10px;
    font-size: 1.5rem;
    letter-spacing: normal;
    line-height: 1.7;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-form_dl > div dd .item-required, .cp_ContactUs-filter .item-required {
    margin-top: 6px;
    font-size: 1.4rem;
    letter-spacing: normal;
    line-height: 1.6;
  }
}

.cp_ContactUs-form_dl > div dd .item-required > span, .cp_ContactUs-filter .item-required > span {
  color: #140a9a;
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-form_dl > div dd .item-required > span, .cp_ContactUs-filter .item-required > span {
    margin-right: 5px;
  }
}

.cp_ContactUs-form_dl > div dd :is(.item-error, .item-error-email, .item-error-email2), /* kelk */
.cp_ContactUs-filter .item-error {
  color: #c00;
  font-weight: bold;
  display: none; /* kelk */
}

@media screen and (min-width: 768px), print {
  .cp_ContactUs-form_dl > div dd :is(.item-error, .item-error-email, .item-error-email2), /* kelk */
  .cp_ContactUs-filter .item-error {
    font-size: 1.5rem;
    letter-spacing: normal;
    line-height: 1.7;
  }
}

@media screen and (max-width: 767px) {
  .cp_ContactUs-form_dl > div dd :is(.item-error, .item-error-email, .item-error-email2), /* kelk */
  .cp_ContactUs-filter .item-error {
    font-size: 1.4rem;
    letter-spacing: normal;
    line-height: 1.6;
  }
}

.pg_404 {
  max-width: var(--cp-max-width);
  margin: 0 auto 100px;
}

@media screen and (min-width: 768px), print {
  .pg_404-inr {
    padding: 0;
    padding-right: 53px;
    padding-left: 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .pg_404-inr {
    padding-left: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .pg_404-inr {
    padding-left: 100px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .pg_404-inr {
    padding-right: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .pg_404-inr {
    padding-right: 100px;
  }
}

@media screen and (max-width: 767px) {
  .pg_404-inr {
    width: 100%;
    padding: 0 8vw;
  }
}

@media screen and (min-width: 768px), print {
  .pg_404-inr > p {
    font-size: 1.6rem; /* kelk */
    letter-spacing: 0.95px;
    line-height: 2; /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .pg_404-inr > p {
    font-size: 1.4rem;
    letter-spacing: 1.43px;
    line-height: 1.8; /* kelk */
  }
}

@media screen and (min-width: 768px), print {
  .pg_404-back {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 660px;
    margin: 0px auto 100px;
    padding-top: 30px;
  }
}

@media screen and (max-width: 767px) {
  .pg_404-back {
    margin: 0px auto 70px;
  }
}

.pg_404-back_btn {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-right: 30px;
  padding-left: 30px;
  border-radius: 6px;
  background-color: #ffc82f;
  color: #2a3238;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 1;
  text-align: center;
  text-decoration: none;
}

@media screen and (min-width: 768px), print {
  .pg_404-back_btn {
    width: 300px;
    height: 60px;
    font-size: 1.6rem; /* kelk */
    line-height: 1.3;
  }
}

.pg_404-back_btn:hover {
  background-color: #ffd359;
  color: #4c5459;
}

@media screen and (max-width: 767px) {
  .pg_404-back_btn {
    width: 100%;
    height: 40px;
    font-size: 1.4rem;
    line-height: 1.2;
  }
}

@media screen and (min-width: 768px), print {
  .pg_404-back_btn {
    margin-top: 40px;
  }
}

@media screen and (max-width: 767px) {
  .pg_404-back_btn {
    margin-top: 25px;
  }
}

/* for probo
================================ */
.searchBar input {
  color: #000000;
  font-family: "Noto Sans Japanese", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Myriad Pro, Myriad, Arial, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.7;
}

/* kelk */
section > .inner:has(#probo){
  max-width: 1100px;
}

@media print, screen and (min-width: 769px) {

#probo {
	margin-top: 50px !important;
}

/* searchBar */
#probo .searchBar {
	width: auto;
	padding: 0;
}
#probo .searchBar:before {
	display: none;
}
#probo .searchBar input[type="text"] {
	width: 450px;
	height: 40px;
	padding: 5px 10px;
	border: 1px solid #ccc;
	background: #fff;
	color: #333;
	font-size: 1.4rem;
}
#probo .searchBar input[type="submit"] {
	position: static;
	width: 130px;
	height: 40px;
	margin-left: 10px;
	padding-left: 20px;
	background: #0e1271 url(../images/search/com_search_ic01.png) no-repeat 25px 50%;
	-webkit-transition: all .1s linear;
	-moz-transition: all .1s linear;
	-ms-transition: all .1s linear;
	-o-transition: all .1s linear;
	transition: all .1s linear;
	color: #fff;
	font-size: 1.4rem;
	text-indent: 0;
	border: 0;
}
#probo .searchBar input[type="submit"]:hover {
	opacity: .7;
}

/* searchOption */
.searchOption {
	margin-top: 20px;
}
.searchOption ._pbox-refine-1 {
	display: table;
	width: 100%;
	padding: 10px;
	background-color: #eee;
}
.searchOption ._pbox-refine-1 > * {
	display: table-cell;
	vertical-align: middle;
}
.searchOption ._pbox-refine-1 ._title {
	width: 180px;
	padding-right: 9px;
	border-right: 1px solid #ddd;
	color: #0e1271;
	font-size: 1.4rem;
	font-weight: 500;
	text-align: center;
}
.searchOption ._pbox-refine-1 ._title:before {
	display: inline-block;
	content: "";
	position: relative;
	top: 0.5rem;
	width: 5px;
	height: 5px;
	margin-right: 7px;
	vertical-align: top;
	background-color: #0e1271;
}
.searchOption ._pbox-refine-1 ._refs {
	padding: 0 0 0 29px;
	border: none;
}
.searchOption ._pbox-refine-1 ._refs ._ref {
	margin: 0 30px 0 0;
	padding: 0;
	font-size: 1.4rem;
}
.searchOption ._pbox-refine-1 ._refs ._ref label {
	display: inline-block;
	position: relative;
	padding-left: 23px;
	line-height: 14px;
	cursor: pointer;
}
.searchOption ._pbox-refine-1 ._refs ._ref label:before {
	content: "";
	position: absolute;
	top: 1px;
	left: 0;
	width: 11px;
	height: 11px;
	border: 1px solid #707070;
	background-color: #fff;
}
.searchOption ._pbox-refine-1 ._refs ._ref input[type*="checkbox"] {
	display: none;
}
.searchOption ._pbox-refine-1 ._refs ._ref input[type*="checkbox"] + span:before,
.searchOption ._pbox-refine-1 ._refs ._ref input[type*="checkbox"] + span:after {
	content: "";
	position: absolute;
	background-color: #333;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.searchOption ._pbox-refine-1 ._refs ._ref input[type*="checkbox"]:checked + span:before {
	top: 7px;
	left: 2px;
	width: 5px;
	height: 2.5px;
}
.searchOption ._pbox-refine-1 ._refs ._ref input[type*="checkbox"]:checked + span:after {
	top: 4px;
	left: 7px;
	width: 2.5px;
	height: 7px;
}

/* pbox-search-status */
.pbox-search-status {
	margin-top: 40px;
}
.pbox-search-status ._pbox-search-status {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	padding: 13px 20px 14px;
	border-top: 2px solid #999;
	background-color: #eee;
}
.pbox-search-status ._pbox-search-status .resultTitle {
	font-size: 1.8rem;
        font-weight: normal;
}
.pbox-search-status ._pbox-search-status ._totalhits {
	font-weight: 600;
}
.pbox-search-status ._pbox-search-status .resultPosition {
	margin-left: 30px;
	font-size: 1.4rem;
}

/* _records */
._records ._record {
	position: relative;
	margin-top: 1.6em;
        line-height: 1.6;
}
._records ._record > * {
	display: block;
}
._records ._record > ._id {
	position: absolute;
	top: 0;
	left: 0;
	color: #0e1271;
	font-size: 1.4rem;
	font-weight: 600;
}
._records ._record > ._id:after {
	content: ".";
}
._records ._record > ._title,
._records ._record > ._nearby,
._records ._record > ._url {
	margin-left: 3em;
	font-size: 1.4rem;
}
._records ._record > ._title > a {
	-webkit-transition: all .1s linear;
	-moz-transition: all .1s linear;
	-ms-transition: all .1s linear;
	-o-transition: all .1s linear;
	transition: all .1s linear;
	color: #0e1271;
	font-weight: 600;
        text-decoration: none;
}
._records ._record > ._url > a {
	margin-top: 3px;
	color: #999;
	font-size: 1.2rem;
        text-decoration: none;
}
._records ._record > ._title > a:hover {
	color: #69c;
	text-decoration: underline;
}
._records ._record > ._url > a:hover {
	text-decoration: underline;
}

/* pbox-pagenav */
.pbox-pagenav {
	margin-top: 35px;
}
.pbox-pagenav ._navs {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	font-size: 1.4rem;
}
.pbox-pagenav ._navs ._prev,
.pbox-pagenav ._navs ._page,
.pbox-pagenav ._navs ._next {
	display: block;
	margin: 0 5px;
}
.pbox-pagenav ._navs ._page a,
.pbox-pagenav ._navs ._page._cur {
	display: block;
	width: 30px;
	height: 30px;
	border: 1px solid #ddd;
	background-color: #fff;
	color: #0e1271;
	line-height: 28px;
	text-align: center;
	text-decoration: none;
}
.pbox-pagenav ._navs ._page a:hover,
.pbox-pagenav ._navs ._page._cur {
	border-color: #0e1271;
	background-color: #0e1271;
	color: #fff;
}
.pbox-pagenav ._navs ._prev,
.pbox-pagenav ._navs ._next {
	line-height: 30px;
}
.pbox-pagenav ._navs ._prev a,
.pbox-pagenav ._navs ._prev a:hover,
.pbox-pagenav ._navs ._next a,
.pbox-pagenav ._navs ._next a:hover {
	display: block;
	position: relative;
	color: #0e1271;
	line-height: 30px;
	text-decoration: none;
}
.pbox-pagenav ._navs ._prev a:before,
.pbox-pagenav ._navs ._next a:before {
	content: "";
	position: absolute;
	top: .8em;
	width: 7px;
	height: 10px;
	background: url(../images/search/com_sp01.png) no-repeat 0 -80px;
}
.pbox-pagenav ._navs ._prev a:hover,
.pbox-pagenav ._navs ._next a:hover {
	color: #69c;
	text-decoration: underline;
}
.pbox-pagenav ._navs ._prev a {
	padding-left: 17px;
}
.pbox-pagenav ._navs ._prev a:before {
	left: 0;
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}
.pbox-pagenav ._navs ._next a {
	padding-right: 17px;
}
.pbox-pagenav ._navs ._next a:before {
	right: 0;
}

}

@media only screen and (max-width: 768px) {
/* searchBar */
#probo .searchBar {
	width: auto;
	padding: 0;
}
#probo .searchBar:before {
	display: none;
}
#probo .searchBar input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	background-color: transparent;
}
#probo .searchBar input[type="text"] {
	width: 72%;
	height: 40px;
	border: 1px solid #ccc;
	background: #fff;
	color: #333;
}
#probo .searchBar input[type="submit"] {
	position: static;
	width: 25%;
	height: 40px;
	margin-left: 1.6949%;
	padding-left: 20px;
	background: #0e1271 url(../images/search/com_search_ic01.png) no-repeat 15% 50%;
	color: #fff;
	font-size: 1.3rem;
	text-indent: 0;
	border: 0;
}

/* searchOption */
.searchOption {
	margin-top: 15px;
	padding: 10px;
	background-color: #eee;
}
.searchOption ._pbox-refine-1 ._title {
	display: inline-block;
	position: relative;
	padding-left: 12px;
	color: #0e1271;
	font-weight: 500;
}
.searchOption ._pbox-refine-1 ._title:before {
	content: "";
	position: absolute;
	top: 0.5rem;
	left: 0;
	width: 5px;
	height: 5px;
	background-color: #0e1271;
}
.searchOption ._pbox-refine-1 ._refs {
	margin-top: .5em;
}
.searchOption ._pbox-refine-1 ._refs ._ref {
	margin-top: 10px;
	font-size: 1.2rem;
}
.searchOption ._pbox-refine-1 ._refs ._ref label {
	display: inline-block;
	position: relative;
	padding-left: 23px;
	line-height: 14px;
	cursor: pointer;
}
.searchOption ._pbox-refine-1 ._refs ._ref label:before {
	content: "";
	position: absolute;
	top: 1px;
	left: 0;
	width: 11px;
	height: 11px;
	border: 1px solid #707070;
	background-color: #fff;
}
.searchOption ._pbox-refine-1 ._refs ._ref input[type*="checkbox"] {
	display: none;
}
.searchOption ._pbox-refine-1 ._refs ._ref input[type*="checkbox"] + span:before,
.searchOption ._pbox-refine-1 ._refs ._ref input[type*="checkbox"] + span:after {
	content: "";
	position: absolute;
	background-color: #333;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.searchOption ._pbox-refine-1 ._refs ._ref input:checked + span:before {
	top: 7px;
	left: 2px;
	width: 5px;
	height: 2.5px;
}
.searchOption ._pbox-refine-1 ._refs ._ref input:checked + span:after {
	top: 4px;
	left: 7px;
	width: 2.5px;
	height: 7px;
}

/* pbox-search-status */
.pbox-search-status {
	margin-top: 25px;
}
.pbox-search-status ._pbox-search-status {
	padding: 10px 15px 11px;
	border-top: 2px solid #999;
	background-color: #eee;
}
.pbox-search-status ._pbox-search-status .resultTitle {
	font-size: 1.6rem;
        font-weight: normal;
}
.pbox-search-status ._pbox-search-status .resultNumber {
	font-weight: 600;
}

/* _records */
._records ._record {
	position: relative;
	margin-top: 1.5em;
        line-height: normal;
}
._records ._record > * {
	display: block;
}
._records ._record > ._id {
	position: absolute;
	top: 0;
	left: 0;
	color: #0e1271;
	font-weight: 600;
}
._records ._record > ._id:after {
	content: ".";
}
._records ._record > ._title,
._records ._record > ._nearby,
._records ._record > ._url {
	margin-left: 3em;
}
._records ._record > ._title > a {
	color: #0e1271;
	font-weight: 600;
        text-decoration: none;
}
._records ._record > ._url > a {
	margin-top: 3px;
	color: #999;
	font-size: 1.0rem;
	word-break: break-all;
        text-decoration: none;
}
._records ._record > ._title > a:hover {
	color: #69c;
	text-decoration: underline;
}

._records ._record > ._url > a:hover {
        text-decoration: underline;
}

/* pbox-pagenav */
.pbox-pagenav {
	margin: 25px -10px 0;
}
.pbox-pagenav ._navs {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
}
.pbox-pagenav ._navs ._prev,
.pbox-pagenav ._navs ._page,
.pbox-pagenav ._navs ._next {
	display: block;
	margin: 0 2px;
}
.pbox-pagenav ._navs ._page a,
.pbox-pagenav ._navs ._page._cur {
	display: block;
	width: 24px;
	height: 24px;
	border: 1px solid #ddd;
	background-color: #fff;
	color: #0e1271;
	line-height: 22px;
	text-align: center;
	text-decoration: none;
}
.pbox-pagenav ._navs ._page._cur {
	border-color: #0e1271;
	background-color: #0e1271;
	color: #fff;
}
.pbox-pagenav ._navs ._prev,
.pbox-pagenav ._navs ._next {
	line-height: 24px;
}
.pbox-pagenav ._navs ._prev a,
.pbox-pagenav ._navs ._next a {
	display: block;
	position: relative;
	color: #0e1271;
	line-height: 24px;
	letter-spacing: -.04em;
	text-decoration: none;
}
.pbox-pagenav ._navs ._prev a:before,
.pbox-pagenav ._navs ._next a:before {
	content: "";
	position: absolute;
	top: .65em;
	width: 6px;
	height: 8px;
	background: url(../images/search/com_sp01.png) no-repeat -160px -40px;
	-webkit-background-size: 250px auto;
	background-size: 250px auto;
}
.pbox-pagenav ._navs ._prev {
	margin: 0 4px 0 0;
}
.pbox-pagenav ._navs ._prev a {
	padding-left: 12px;
}
.pbox-pagenav ._navs ._prev a:before {
	left: 0;
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}
.pbox-pagenav ._navs ._next {
	margin: 0 0 0 4px;
}
.pbox-pagenav ._navs ._next a {
	padding-right: 12px;
}
.pbox-pagenav ._navs ._next a:before {
	right: 0;
}

}
/* probo End
================================ */

/* error page */
.pg_browserError {
  max-width: var(--cp-max-width);
  margin: 0 auto 100px;
}

@media screen and (min-width: 768px), print {
  .pg_browserError-inr {
    padding: 0;
    padding-right: 53px;
    padding-left: 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .pg_browserError-inr {
    padding-left: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .pg_browserError-inr {
    padding-left: 100px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .pg_browserError-inr {
    padding-right: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .pg_browserError-inr {
    padding-right: 100px;
  }
}

@media screen and (max-width: 767px) {
  .pg_browserError-inr {
    width: 100%;
    padding: 0 8vw;
  }
}

@media screen and (min-width: 768px), print {
  .pg_browserError-inr > p {
    margin-bottom: 16px;
    font-size: 1.9rem;
    letter-spacing: 0.95px;
    line-height: normal;
  }
}

@media screen and (max-width: 767px) {
  .pg_browserError-inr > p {
    margin-bottom: 12px;
    font-size: 1.4rem;
    letter-spacing: 1.43px;
    line-height: normal;
  }
}

.pg_browserError-inr > p:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 768px), print {
  .pg_browserError-back {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 660px;
    margin: 0px auto 100px;
    padding-top: 30px;
  }
}

@media screen and (max-width: 767px) {
  .pg_browserError-back {
    margin: 0px auto 70px;
  }
}

.pg_browserError-back_btn {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-right: 30px;
  padding-left: 30px;
  border-radius: 6px;
  background-color: #ffc82f;
  color: #2a3238;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 1;
  text-align: center;
  text-decoration: none;
}

@media screen and (min-width: 768px), print {
  .pg_browserError-back_btn {
    width: 300px;
    height: 60px;
    font-size: 1.8rem;
    line-height: 1.3;
  }
}

.pg_browserError-back_btn:hover {
  background-color: #ffd359;
  color: #4c5459;
}

@media screen and (max-width: 767px) {
  .pg_browserError-back_btn {
    width: 100%;
    height: 40px;
    font-size: 1.4rem;
    line-height: 1.2;
  }
}

@media screen and (min-width: 768px), print {
  .pg_browserError-back_btn {
    margin-top: 40px;
  }
}

@media screen and (max-width: 767px) {
  .pg_browserError-back_btn {
    margin-top: 25px;
  }
}

.pg_siteMap {
  max-width: var(--cp-max-width);
  margin: 0 auto 140px; /* kelk */
}

@media screen and (min-width: 768px), print {
  .pg_siteMap .siteMap-inr {
    padding: 0;
    padding-right: 53px;
    padding-left: 53px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .pg_siteMap .siteMap-inr {
    padding-left: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .pg_siteMap .siteMap-inr {
    padding-left: 100px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .pg_siteMap .siteMap-inr {
    padding-right: calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .pg_siteMap .siteMap-inr {
    padding-right: 100px;
  }
}

@media screen and (max-width: 767px) {
  .pg_siteMap .siteMap-inr {
    width: 100%;
    padding: 0 8vw;
  }
}

.pg_siteMap .siteMap-h2 {
  border-bottom: 1px solid var(--cp-light-gray);  /* kelk */
  font-weight: normal;
}

@media screen and (min-width: 768px), print {
  .pg_siteMap .siteMap-h2 {
    margin-top: 64px;    /* kelk */
    margin-bottom: 12px; /* kelk */
    padding: 24px 0;     /* kelk */
    font-size: 2.0rem;   /* kelk */
    letter-spacing: normal; /* kelk */
    line-height: 2;      /* kelk */
  }
  .pg_siteMap .siteMap-h2:first-child {
    margin-top: 0px;
  }
}

@media screen and (max-width: 767px) {
  .pg_siteMap .siteMap-h2 {
    margin-top: 40px;   /* kelk */
    margin-bottom: 12px;
    padding: 24px 0;   /* kelk */
    font-size: 1.8rem; /* kelk */
    letter-spacing: normal; /* kelk */
    line-height: 1.8;   /* kelk */
  }
}

.pg_siteMap .siteMap-h2 > a {
  position: relative;
}

.pg_siteMap .siteMap-h2 > a::before {
  position: absolute;
  top: calc(50% - 5px);
  right: -22px;
  width: 8px;
  height: 8px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  border-top: 3px solid var(--cp-gray);  /* kelk */
  border-right: 3px solid var(--cp-gray);  /* kelk */
  content: "";
}

@media screen and (max-width: 767px) {
  .pg_siteMap .siteMap-h2 > a::before {
    top: calc(50% - 4px);
    right: -15px;
    width: 7px;
    height: 7px;
  }
}

.pg_siteMap .siteMap-h3 {
  font-weight: normal;
}

@media screen and (min-width: 768px), print {
  .pg_siteMap .siteMap-h3 {
    margin-top: 25px;
    margin-bottom: 12px;
    font-size: 2rem;
    letter-spacing: 2.2px;
    line-height: 1.6;
  }
  .pg_siteMap .siteMap-h3_tp {
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .pg_siteMap .siteMap-h3 {
    margin-top: 15px;
    margin-bottom: 7px;
    font-size: 1.8rem;
    letter-spacing: 1.8px;
    line-height: 1.5;
  }
  .pg_siteMap .siteMap-h3_tp {
    margin-top: 0px;
    padding-top: 7px;
  }
}

@media screen and (min-width: 768px), print {
  .pg_siteMap .siteMap-ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: 16px;  /* kelk */
  }
  .pg_siteMap .siteMap-ul_tp50 {
    margin-top: 25px;
  }
}

@media screen and (min-width: 768px), print {
  .pg_siteMap .siteMap-ul li {
    width: calc((100% - 32px) / 3); /* kelk */
/*  margin-bottom: 13px;  kelk*/
/*  padding-right: 15px;  kelk*/
    font-size: 1.6rem; /* kelk */
    letter-spacing: normal; /* kelk */
    line-height: 2; /* kelk */
  }
}

@media screen and (max-width: 767px) {
  .pg_siteMap .siteMap-ul li {
    width: 100%;
    margin-bottom: 0px;
    font-size: 1.4rem; /* kelk */
/*  letter-spacing: 1.43px;  kelk*/
    line-height: 1.8; /* kelk */
  }
  .pg_siteMap .siteMap-ul li:last-child {
    margin-bottom: 0px;
  }
}

.pg_siteMap .siteMap-ul li > a {
  position: relative;
/* padding-left: 1.8rem;  kelk*/
  text-decoration: none;
  text-indent: 0rem;
}

@media screen and (min-width: 768px), print {
  .pg_siteMap .siteMap-ul li > a {
    display: inline-block;
  }
}

@media screen and (max-width: 767px) {
  .pg_siteMap .siteMap-ul li > a {
    display: block;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

/* delete kelk
.pg_siteMap .siteMap-ul li > a::before {
  position: absolute;
  top: 10px;
  left: -4px;
  width: 9px;
  height: 9px;
  -webkit-transform: scaleY(0.65) rotate(45deg);
          transform: scaleY(0.65) rotate(45deg);
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  content: "";
}

@media screen and (max-width: 767px) {
  .pg_siteMap .siteMap-ul li > a::before {
    top: 19px;
    left: -4px;
    width: 9px;
    height: 9px;
    -webkit-transform: scaleY(0.65) rotate(45deg);
            transform: scaleY(0.65) rotate(45deg);
    border-top: 1px solid #000;
    border-right: 1px solid #000;
  }
} */

.cookieComponent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 100;
  position: fixed;
  bottom: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 45px 40px;
  background-color: #f6f6f6;
}

@media screen and (max-width: 767px) {
  .cookieComponent {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 8vw;
  }
}

.cookieComponent_txt {
  margin-right: 50px;
  font-size: 15px;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .cookieComponent_txt {
    margin-right: 0;
    margin-bottom: 5.33333vw;
    font-size: 11px;
    line-height: 1.8;
  }
}

.cookieComponent_txt a {
  color: #3366cc;
  text-decoration: none;
}

.cookieComponent_txt a:hover {
  color: #3366cc;
  text-decoration: underline;
}

.cookieComponent_btn {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  max-width: 300px;
  height: 60px;
  padding-right: 30px;
  padding-left: 30px;
  border: 0;
  border-radius: 5px;
  background-color: #A5ABAF;
  color: #fff;
  font-family: "Noto Sans Japanese", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Myriad Pro, Myriad, Arial, sans-serif;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 2px;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .cookieComponent_btn {
    width: 100%;
    max-width: 100%;
    height: 50px;
    font-size: 14px;
    line-height: 1.2;
  }
}

.cookieComponent_btn:hover {
  background-color: #ffc82f;
  color: #2a3238;
}

/* for management-team --------- */
.management_team b, .management_team strong {
    font-weight: normal;
}

/* HeadingText */
.management_team .cp_HeadingText1 {
    margin: 0 auto 10px !important;
}

@media screen and (min-width: 768px), print {
  .management_team .cp_HeadingText1 .headingText1_h2 {
    margin-bottom: 0;
    line-height: 1.45;
  }
  .management_team .cp_HeadingText1 .headingText1_inr div {
    font-size: 1.4rem;
    letter-spacing: 0;
    line-height: 1.6;
  }
}

@media screen and (max-width: 767px) {
  .management_team .cp_HeadingText1 .headingText1_h2 {
    margin-bottom: 0;
    line-height: 1.3;
  }
  .management_team .cp_HeadingText1 .headingText1_inr div {
    font-size: 1.4rem;
    letter-spacing: 0;
    line-height: 1.4;
  }
}

/* 3ColList */
@media screen and (min-width: 768px), print {
  .management_team .cp_3ColList > dl > div {
    padding: 10px 0;
  }

  .management_team .cp_3ColList > dl > div dt {
    color: #2a3238;
    font-weight: normal;
    width: 40%;
    font-size: 1.7rem;
    letter-spacing: 0;
    line-height: 1.5;
    padding-left:10px;
  }

  .management_team .cp_3ColList > dl > div dd {
    font-size: 1.4rem;
    letter-spacing: 0.5px;
    line-height: 1.4;
  }

  .management_team .cp_3ColList > dl > div dd strong {
    font-size: 2.6rem;
    line-height: 1.45;
  }

  .management_team .cp_3ColList > dl > div dd:first-of-type {
    width:45% !important;
  }

  .management_team .cp_3ColList > dl > div dd:last-of-type {
    width:10% !important;
    max-width: 150px;
  }

  .management_team .cp_3ColList > dl > div dd figure {
    padding-right:10px;
  }

  .management_team .cp_3ColList > dl > div dd figure img {
    width: 100% !important;
    max-width: 150px;
    height: auto !important;
  }
}

@media screen and (max-width: 767px){
  .management_team .cp_3ColList > dl > div {
    padding: 10px 0;
  }

  .management_team .cp_3ColList > dl > div::after {
    content: "";
    display: block;
    clear: both;
  }

  .management_team .cp_3ColList > dl > div dt {
    color: #2a3238;
    font-weight: normal;
    padding: 2px 32px 2px 0;
    letter-spacing: 0;
    line-height:1.35;
  }

  .management_team .cp_3ColList > dl > div dd {
    float:left;
    line-height:1.5;
    font-size: 1.2rem;
    letter-spacing: 0;
  }

  .management_team .cp_3ColList > dl > div dd:first-of-type {
    width:60%;
  }

  .management_team .cp_3ColList > dl > div dd:last-of-type {
    width:40%;
    margin: 0;
  }

  .management_team .cp_3ColList > dl > div dd figure img {
    width: 100% !important;
    height: auto !important;
    padding:0 5px 0 10px;
  }

  .management_team .cp_3ColList > dl > div dd strong {
    font-size: 1.8rem;
    letter-spacing: 1px;
  }
}

/* 2ColList */
/*
.management_team .cp_2ColList + .cp_2ColList {
  margin-top: -50px;
}

.management_team .cp_2ColList + .cp_2ColList > dl > div:first-of-type {
  border-top: none;
}*/

@media screen and (min-width: 768px), print {
  .management_team .cp_2ColList > dl dt {
    font-size: 1.7rem;
    letter-spacing: 0;
    line-height: 1.5;
  }

  .management_team .cp_2ColList > dl dt {
    color: #2a3238;
    font-weight: normal;
  }

  .management_team .cp_2ColList > dl dd {
    font-size: 1.4rem;
    letter-spacing: 0;
    line-height: 1.5;
  }

  .management_team .cp_2ColList > dl dd strong {
    font-size: 2.1rem;
    line-height: 1.5;
  }

  .management_team .cp_2ColList.half > dl > div dt {
    padding-left:10px;
    flex-grow:1.2;
  }

  .management_team .cp_2ColList.half > dl > div dd {
    flex-grow:1;
  }
}

@media screen and (max-width: 767px){
  .management_team .cp_2ColList > dl div {
    padding: 10px 0 6px;
  }

  .management_team .cp_2ColList > dl dt {
    margin-bottom: 4px;
    letter-spacing: 0;
    color: #2a3238;
    font-weight: normal;
    line-height:1.35;
  }

  .management_team .cp_2ColList > dl dd {
    letter-spacing: 0;
    line-height: 1.4;
    font-size: 1.2rem;
  }

  .management_team .cp_2ColList > dl dd strong {
    font-size: 1.7rem;
    line-height: 1.5;
  }
}
/* management-team End --------- */

/* cp_MultipleModule */
.cp_MultipleModule {
    max-width: var(--cp-max-width);
    margin: 0 auto 64px;  /* kelk */
}

.multiple_inr {
    display: block;
    flex-wrap: wrap;
    gap: 20px;
}

.multiple_inr:has(> div.multiple_col) {
    display: flex;
}

@supports not selector(:has(*)) {
  .multiple_inr {
    display: flex; /* firefox */
  }
}

@media screen and (min-width: 768px) and (min-width: 768px), print and (min-width: 768px) {
  .cp_MultipleModule .multiple_inr {
    padding: 0 calc(53px + 47 * (100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_MultipleModule .multiple_inr {
    padding: 0 100px;
  }
}

.multiple_col {
    width:calc((100% - 60px) / 4);
    display: flex;
    flex-flow: column;
    position: relative;
   -webkit-transition: -webkit-transform .2s;
           transition: -webkit-transform .2s;
           transition: transform .2s;
           transition: transform .2s, -webkit-transform .2s;
}

@media (hover: hover) {
  div:not(.lity-content) > .multiple_col:hover {
    cursor: pointer;
    opacity: .8;
  }
}

.multiple_col img {
  height:auto;
  width: 100%;
}

div:not(.lity-content) > .multiple_col > .multiple_cap {
    display: flex;
    flex-flow: column;
    gap: 5px;
    position: relative;
    width: 100%;
    color: #140a9a;
    padding: 10px 25px 10px 0;
    flex: 1;
}

@media (hover: hover) and (min-width: 768px) {
  div:not(.lity-content) > .multiple_col:hover .title_black h4,
  div:not(.lity-content) > .multiple_col:hover .title_black span {
    color: #140a9a!important;
  }
}

.cp_MultipleModule .multiple_cap::before ,
.cp_MultipleModule .multiple_cap::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 6px;
    width: 20px;
    height: 3px;
    margin: auto;
    border-radius: 3px;
    background-color: #a5abaf;
}

.cp_MultipleModule .multiple_cap::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

@media not screen and (min-width: 768px) {
  .multiple_col.open .multiple_cap::after {
   -webkit-transform: none;
           transform: none;
  }
}

@media screen and (min-width: 768px) {
  .multiple_col .multiple_cap::before,
  .multiple_col .multiple_cap::after {
    visibility: hidden;
    top: 18px;
    margin: unset;
  }
}

@media (hover: hover) and (min-width: 768px) {
  .multiple_col:hover .multiple_cap::before,
  .multiple_col:hover .multiple_cap::after {
        visibility: visible;
  }
}

.multiple_cap h4 {
    font-size: 1.8rem;  /* kelk */
    line-height: 1.5;  /* kelk */
    font-weight: normal;
}
.multiple_cap span {
    font-size: 1.4rem;
}

.cp_MultipleModule .multiple_txt {
    display: none;
    padding: 10px;
    letter-spacing: 1.43px;
    line-height: 1.8;  /* kelk */
    font-size: 1.4rem;  /* kelk */
    background: #f6f6f6;
}

@media screen and (min-width: 768px) {
  .cp_MultipleModule .multiple_txt {
    display: none!important; /* open class対応 */
  }
}

.multiple_txt p + p {
    margin-top: 1.5rem;
}

.multiple_txt a.multiple_link {
    display: block;
    position: relative;
    text-align: right;
    margin-top: 10px;
    margin-right: 20px;
    color: #3366cc;
    text-decoration: none;
}

.multiple_txt a {
    text-decoration: none;
    color: #3366cc;
}

.multiple_txt a:hover {
    text-decoration: underline;
}
.multiple_txt a.multiple_link::before {
    position: absolute;
    top: 35%;
    right: -10px;
    width: 9px;
    height: 9px;
    -webkit-transform: scaleY(0.65) rotate(45deg) translateY(-50%);
    transform: scaleY(0.65) rotate(45deg) translateY(-50%);
    border-top: 2px solid #3366cc;
    border-right: 2px solid #3366cc;
    content: "";
}

@media not screen and (min-width: 950px) {
  .multiple_col {
    width: calc((100% - 40px) / 3);
  }
}

@media not screen and (min-width: 768px) {
  .multiple_inr {
    width: 100%;
    padding: 0 8vw;
    row-gap: 10px;
  }

  .multiple_col {
    width: 100%;
  }

  .cp_MultipleModule .multiple_cap {
    justify-content: center;
    min-height: 60px;
    padding: 5px 25px 5px 0;
  }

  .multiple_cap {
      background: #f6f6f6;
      padding-left:10px!important;
  }

  .multiple_cap h4 {
    font-size: 1.6rem;
  }

  .multiple_cap span {
    font-size: 1.4rem;
  }
}

/* cp_MultipleModule lity */
.cp_MultipleModule .lity-close {
    display:none;
}
.lity-content .multiple_col .lity-close {
    display: block;
    color: #4c5459;
    text-shadow: 0 1px 1px rgb(0 0 0 / 40%);
}
.lity-content .multiple_col {
    display: grid;
    grid-template-columns: 40% 1fr;
    grid-template-rows: auto 1fr;
    gap: 20px;
    width: 80vw;
    max-width: 1000px;
    padding: 20px;
    background: #fff;
}

.lity-content .multiple_col .multiple_figure {
    grid-row: span 2;
}

.lity-content .multiple_col .multiple_cap h4 {
    font-size: 2.4rem;
    text-align: unset;
}

.lity-content .multiple_col .multiple_cap span {
    font-size: 2rem;
    line-height: normal;
    text-align: unset;
}

.lity-content .multiple_txt {
    height: 100%;
    overflow-y: auto;
    max-height: 300px;
    margin: 0 -5px 20px 0;
    padding-right: 5px;
    font-size: 1.6rem!important;
    line-height: 2.0;  /* kelk */
    scrollbar-width: thin; /* firefox細さ */
    scrollbar-color: #d1d4d3 #f6f6f6; /*色 軌道色*/
    box-sizing: border-box;
}

.lity-content .multiple_col .multiple_txt ul, .lity-content .multiple_col .multiple_txt ol {
    font-size: 1.6rem!important;
}

.lity-content .multiple_txt::-webkit-scrollbar {
    width: 10px;
}

.lity-content .multiple_txt::-webkit-scrollbar-thumb {
    background-color: #d1d4d3;
    border-radius: 6px;
}

.lity-content .multiple_txt::-webkit-scrollbar-track {
    background-color: #f6f6f6;
    border-radius: 6px;
}

.lity-content .multiple_txt a.multiple_link {
    position: absolute;
    bottom: 20px;
    right: 20px;
}


/* cp_common 共通, cp_TextWidthImagesから */
.cp_common {
  max-width: var(--cp-max-width);
  margin: 0 auto 40px;  /* kelk */
}

@media screen and (min-width: 768px), print { /* 幅せまい印刷でのみ適用 */
  .cp_common .common_inr {
    padding: 0 53px;
  }
}

@media screen and (min-width: 768px) , print and (min-width: 768px) {
  .cp_common .common_inr  {
    padding: 0 calc(53px + 47*(100vw - 769px) / 671);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_common .common_inr {
    padding: 0 100px;
  }
}

@media not screen and (min-width: 768px) {
  .cp_common .common_inr  {
    width: 100%;
    padding: 0 8vw;
  }
}

.cp_common .common_txt {
  font-size: 1.4rem;
  letter-spacing: 1.43px;
  line-height: 1.8;  /* kelk */
}

@media screen and (min-width: 768px), print {
  .cp_common .common_txt {
    font-size: 1.6rem;    /* kelk */
    letter-spacing: 0.95px;
    line-height: 2;    /* kelk */
  }
}

.cp_common .common_txt p + p {
  margin-top: 2.4rem; /* kelk */
}

.cp_common .common_txt img {
  width: auto;
  height: auto !important;
}

.cp_common .common_txt a {
  color: var(--cp-link);
}

.cp_common .common_txt a:hover {
  color: var(--cp-link);
  text-decoration: underline;
}


/* cp_TextWithImages */
.cp_TextWithImages {
  margin: 0 auto 64px;  /* kelk */
}

.cp_TextWithImages :is(h2 , h3) {
  display: flex;
  align-items: center;
  gap: 16px; /* kelk */
  line-height: 1.2;
  letter-spacing: normal;
  font-weight: normal;
  font-size: 2.4rem;
  margin-bottom: 24px; /* kelk */
}

@media screen and (min-width: 768px), print {
  .cp_TextWithImages h2 {
    font-size: 3rem;
    margin-bottom: 32px; /* kelk */
  }
}

.cp_TextWithImages h3 {
  color: var(--cp-blue);
  font-size: 2.0rem;
}

@media screen and (min-width: 768px), print {
  .cp_TextWithImages h3 {
    font-size: 2.2rem;
    margin-bottom: 32px; /* kelk */
  }
}


.cp_TextWithImages :is(h2 , h3) > img {
  width: auto;
  max-width: 50%;
  height: auto !important;
  padding-top: 2px;
  zoom: .4;
}

@media screen and (min-width: 768px), print {
  .cp_TextWithImages :is(h2 , h3) > img {
    zoom: .5; /* レティナ2倍対応 */
  }
}


/* editor link btn */
a.edit_btn_yellow, .edit_btn_yellow a, a .edit_btn_yellow,
a.edit_btn_blue, .edit_btn_blue a, a .edit_btn_blue {
    width: 300px;
    max-width: 100%;
    height: 60px;
    font-size: 1.4rem;
    line-height: 1.3;
    margin-top: 10px;
    padding: 0 30px;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    font-weight: bold;
    letter-spacing: 2px;
    text-align: center;
    text-decoration: none!important;
    word-break: break-word!important;
}

/* editor btn color */
.edit_btn_yellow a, a .edit_btn_yellow, a.edit_btn_yellow {
    background-color: #ffc82f;
    color: #2a3238!important;
}
.edit_btn_yellow a:hover, a .edit_btn_yellow:hover, a.edit_btn_yellow:hover {
    background-color: #ffd359;
    color: #4c5459!important;
}
.edit_btn_blue a, a .edit_btn_blue, a.edit_btn_blue  {
    border: solid 2px #140a9a;
    background-color: white;
    color: #140a9a!important;
}
.edit_btn_blue a:hover, a .edit_btn_blue:hover, a.edit_btn_blue:hover  {
    color: #fff!important;
    background: #140a9a;
}

@media screen and (max-width: 767px) {
  a.edit_btn_yellow, .edit_btn_yellow a, a .edit_btn_yellow,
  a.edit_btn_blue, .edit_btn_blue a, a .edit_btn_blue {
    width: 100%;
    height: 50px;
    font-size: 1.4rem;    /* kelk */
    line-height: 1.2;    /* kelk */
  }
}

/* editor btn columns */
.edit_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
       -ms-flex-pack: start;
     justify-content: flex-start;
    gap: 10px;
    margin: 20px 0 40px;
}
.edit_wrap_center {
    -webkit-box-pack: center;
       -ms-flex-pack: center;
     justify-content: center;
}
.edit_wrap_right {
    -webkit-box-pack: end;
       -ms-flex-pack: end;
     justify-content: flex-end;
}

.edit_wrap .edit_btn_yellow, .edit_wrap .edit_btn_blue, .edit_wrap a, .edit_wrap span a {
    margin: 0!important;
}

@media screen and (max-width: 767px){
  .edit_wrap {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .edit_wrap .edit_btn_yellow, .edit_wrap .edit_btn_blue {
    width: calc(50% - 5px);
  }
  .cp_base .edit_wrap a[href*=".pdf"]::after {
    padding-right: 4px;
    margin-right: -4px;
    background-size: contain;
  }
}
/* 内部リンク枠 */
.edit_wrap > span[class],
.edit_wrap > a:not([class]) {
    width: 100%;
    max-width: 300px;
}
@media not screen and (min-width: 768px) {
  .edit_wrap > span[class],
  .edit_wrap > a:not([class]) {
    width: calc(50% - 5px);
  }
}
.edit_wrap > span[class] > a,
.edit_wrap > a:not([class]) > span {
    width: 100%;
}


/* グレー背景（kelk余白用）  --------------- */
.cp_background_st {
  background: var(--cp-gp-gray);
  padding-bottom: 140px;

  @media screen and (max-width: 767px) {
    padding-bottom: 80px;
  }
}

.cp_ImageModule.image-full + .cp_background_st {
  /* ImageModule直下は空けない */
  margin-top: -64px;
}

.cp_background_end {
  background: var(--cp-gp-gray);
  margin-bottom: 140px;
  padding-bottom: 84px;

  @media screen and (max-width: 767px) {
    margin-bottom: 80px;
    padding-bottom: 40px;
  }

  &:last-child,
  &:has(+ .cp_ImageModule.image-full) {
    /* 最後とImageModule直前は空けない */
    margin-bottom: 0;
  }
}

/* 連続使用時 */
.cp_background_end + .cp_background_st {
  margin-top: -364px;  /* pb140+mb140 + pt84*/

  @media screen and (max-width: 767px) {
    margin-top: -200px;  /* pb80+mb80 + pt40*/
  }
}

/* compornent 5個まで対応 */
.cp_background_st + :is(.cp_base, .link_layout),
.cp_background_st + :is(.cp_base, .link_layout) + :is(.cp_base, .link_layout),
.cp_background_st + :is(.cp_base, .link_layout) + :is(.cp_base, .link_layout)  + :is(.cp_base, .link_layout),
.cp_background_st + :is(.cp_base, .link_layout) + :is(.cp_base, .link_layout)  + :is(.cp_base, .link_layout) + :is(.cp_base, .link_layout),
.cp_background_st + :is(.cp_base, .link_layout) + :is(.cp_base, .link_layout)  + :is(.cp_base, .link_layout) + :is(.cp_base, .link_layout) + :is(.cp_base, .link_layout) {
  max-width: unset;
  background: var(--cp-gp-gray);
  margin-bottom: 0;
  padding-bottom: 56px;

  @media screen and (max-width: 767px) {
    padding-bottom: 40px;
  }
}

/* innerクラス */
/* .cp_background_st + .cp_base > inner */
:is(.cp_background_st + :is(.cp_base, .link_layout),
.cp_background_st + :is(.cp_base, .link_layout) + :is(.cp_base, .link_layout),
.cp_background_st + :is(.cp_base, .link_layout) + :is(.cp_base, .link_layout) + :is(.cp_base, .link_layout),
.cp_background_st + :is(.cp_base, .link_layout) + :is(.cp_base, .link_layout) + :is(.cp_base, .link_layout) + :is(.cp_base, .link_layout),
.cp_background_st + :is(.cp_base, .link_layout) + :is(.cp_base, .link_layout) + :is(.cp_base, .link_layout) + :is(.cp_base, .link_layout) + :is(.cp_base, .link_layout)) > :is([class*="inr"], [class*="inner"], .cp_Link, .im_img) {
  max-width: var(--cp-max-width);
  margin: auto;
  
  /* ImageModule text */
  + .im_box .im_box_inner {
    margin-top: -56px;
  }
}

.cp_background_st ~ :is(.cp_2ColList > dl, .cp_3ColList > dl) {
  max-width: var(--cp-max-width);
  margin: auto;
}

/* cp_TopBannerCarousel */
.cp_background_st ~ .cp_TopBannerCarousel .topCorousel_inr {
  max-width: 1440px !important;
}

/* right left 余白調整 */
@media screen and (min-width: 768px) and (min-width: 1440px), print and (min-width: 1440px) {
  .cp_background_st ~ :is(.cp_RightTeaser, .cp_HalfTeaser.right, .cp_RightImageCarousel) {
    .teaser_img {
      padding-right: calc((100% - 1100px) / 2);
      max-width: unset; /* 画像最大サイズの打消し */
    }

    .teaser_box {
      padding-left: calc((100% - 1100px) / 2);
    }
  }

  .cp_background_st ~ :is(.cp_LeftTeaser, .cp_HalfTeaser.left) {
    .teaser_img {
      padding-left: calc((100% - 1100px) / 2);
      max-width: unset;
    }

    .teaser_box {
      padding-right: calc((100% - 1100px) / 2);
    }
  }
}

@media screen and (max-width: 767px) {
  .cp_background_st ~  :is(.cp_RightTeaser , .cp_LeftTeaser, .cp_HalfTeaser, .cp_RightImageCarousel) .teaser_txt {
    margin-bottom: 0;
    padding-bottom: 25px;

    &:last-child {
      padding-bottom: 0;
    }
  }
}

/* ImageModule movie */
@media screen and (min-width: 1300px) {
  .cp_background_st ~  .cp_ImageModule.movie {
    padding-right: calc((100% - 1100px) / 2) !important;
    padding-left: calc((100% - 1100px) / 2) !important;
    padding-bottom: 56px !important;
  }
}

@media screen and (min-width: 768px) {
  .cp_background_st ~ .cp_ImageModule.movie.width_medium {
    padding-right: calc(10% + (53px + 47*(100vw - 769px) / 671)) !important;
    padding-left: calc(10% + (53px + 47*(100vw - 769px) / 671)) !important;
    width: unset;
    padding-bottom: 56px !important;
  }

  .cp_background_st ~ .cp_ImageModule.movie.width_small {
    padding-right: calc(17.5% + (53px + 47*(100vw - 769px) / 671)) !important;
    padding-left: calc(17.5% + (53px + 47*(100vw - 769px) / 671)) !important;
    width: unset;
    padding-bottom: 56px !important;
  }
}

@media screen and (min-width: 1240px), print {
  .cp_background_st ~  .cp_ImageModule.movie.width_medium {
    padding-right: calc((100% - 850px) / 2) !important;
    padding-left: calc((100% - 850px) / 2) !important;
    width: unset;
    padding-bottom: 56px !important;
  }

  .cp_background_st ~ .cp_ImageModule.movie.width_small {
    padding-right: calc((100% - 650px) / 2) !important;
    padding-left: calc((100% - 650px) / 2) !important;
    width: unset;
    padding-bottom: 56px !important;
  }
}

/* ImageModule text */
@media screen and (min-width: 1300px) {
  .cp_background_st ~ .cp_ImageModule.image-full {
    .im_img {
      max-width: unset !important;
    }
  }

  .cp_background_st ~ .cp_ImageModule:not(.image-full) {
    .im_img { /* kelk */
      max-width: 1440px !important;
      margin: auto;
    }

    .im_box {
      padding-right: calc((100% - 1440px) / 2) !important;
      padding-left: calc((100% - 1440px) / 2) !important;
    }
  }
}

/* for print css 最後に記述----- */
@media print {
  .cm_GlobalNav, .cp_SocialMedia, .cp_Anchor , .cp_pageTop, .cookieComponent,
  .cm_FooterNav .ft_container_top,
  .cm_FooterNav .ft_container_bottom .menu_list li:not(:first-child),
  .cm_FooterNav .menu_sns {
    display: none!important;
  }

  .cp_base, .cm_BreadcrumbNav , .cm_FooterNav, .contactUs, #probo {
    zoom: .63;
    -ms-zoom: 1;
  }

/*  .cp_Accordion .cp_HeadingText1, .cp_Accordion .cp_2ColList, .cp_Accordion .cp_3ColList, .cp_Accordion .cp_Link, .cp_Accordion .cp_TableList,*/
  .cp_Accordion .cp_base, .cp_TabContents .cp_base {
    zoom: 1;
  }

  .cp_base {
    max-width: 1440px;
  }

  .cm_BreadcrumbNav {
    background: none;
  }
  .cm_BreadcrumbNav .paths_link {
    display: inline-block;
    white-space: normal;
    padding: 0 20px 15px;
  }
  .cm_BreadcrumbNav .paths_link > * {
    color: #000;
  }
  .cm_BreadcrumbNav .paths_link > a {
    display: inline-block;
    padding-right: 35px;
  }
  .cm_BreadcrumbNav .paths_link > a::after {
    right: 15px;
    border-color: #000;
  }
  .cm_BreadcrumbNav .paths_link > div {
    display: inline;
  }

  .cm_FooterNav {
    max-width: 1440px!important;
    margin: auto!important;
    background: none!important;
    color: #000!important;
  }
  .cm_FooterNav .ft_container_bottom .menu_list li:first-child {
    padding-left: 20px!important;
    font-size: 1.6rem!important;
  }
}
/* print css End --------------- */
/*rich text editor classes Start*/
.edit_btn_yellow{}
.edit_btn_blue{}
/*rich text editor classes End*/
