@charset "UTF-8";
/*
    set break point
*/
/*
    Width / Height Settings
*/
/*
    SP Liquid Value
*/
/*
    PC Liquid Value
*/
/*------------------------------------------------------------------------------------------
*
*
    setting.css
*
*
------------------------------------------------------------------------------------------ */
/* Eric Meyer's Reset CSS v2.0 - http://cssreset.com */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/*HTML5display-roleresetforolderbrowsers*/
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

body {
  font-family: "din-2014", "Noto Sans JP", "Noto Sans CJK JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  color: #111;
  font-size: 14px;
  font-weight: 700;
  background-color: #f5f2eb;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt";
  word-break: normal;
  position: relative;
  z-index: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.load {
  visibility: visible !important;
}

body, html {
  width: 100%;
  height: 100%;
}

a, li, p, div, button {
  outline: none !important;
}

a {
  color: #02102e;
  text-decoration: none;
}

a, p, div, li, dd, dt {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.indent_half_top {
  position: relative;
  margin-left: -0.5em !important;
}

.indent_half {
  position: relative;
  margin-left: -0.5em;
}

img, svg {
  height: auto;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.disabled {
  cursor: default !important;
}

.disabled a {
  cursor: default !important;
}

.disabled .tag_list a {
  cursor: pointer !important;
}

.is_pc .device_sp {
  display: none !important;
}

.is_sp .device_pc {
  display: none !important;
}

input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

input[type=submit]::-webkit-search-decoration, input[type=button]::-webkit-search-decoration {
  display: none;
}

input[type=submit]::focus, input[type=button]::focus {
  outline-offset: -2px;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  outline: none;
  border: none;
  -moz-outline-style: none;
}

:focus {
  outline: none;
}

::-moz-focus-inner {
  border: 0;
}

input::-moz-focus-inner, button::-moz-focus-inner {
  border: 0;
}

input[type=radio],
input[type=checkbox] {
  display: none;
}

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

select::-ms-expand {
  display: none;
}

.box_link {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute !important;
  top: 0;
  left: 0;
  z-index: 1;
}

body.modal {
  overflow: hidden;
}

#news_content_wrap {
  display: none;
}

body::-webkit-scrollbar {
  overflow: hidden;
  width: 10px;
  background: transparent;
  cursor: pointer;
}

body::-webkit-scrollbar:horizontal {
  height: 10px;
  cursor: pointer;
}

body::-webkit-scrollbar-button {
  display: none;
  cursor: pointer;
}

body::-webkit-scrollbar-piece {
  background: #aba816;
  cursor: pointer;
}

body::-webkit-scrollbar-piece:start {
  background: #aba816;
  cursor: pointer;
}

body::-webkit-scrollbar-thumb {
  background: #aba816;
  border-radius: 11px;
  cursor: pointer;
}

body::-webkit-scrollbar-corner {
  background: transparent;
  cursor: pointer;
}

#news_modal_inner::-webkit-scrollbar {
  overflow: hidden;
  width: 10px;
  background: transparent;
  cursor: pointer;
}

#news_modal_inner::-webkit-scrollbar:horizontal {
  height: 10px;
  cursor: pointer;
}

#news_modal_inner::-webkit-scrollbar-button {
  display: none;
  cursor: pointer;
}

#news_modal_inner::-webkit-scrollbar-piece {
  background: #aba816;
  cursor: pointer;
}

#news_modal_inner::-webkit-scrollbar-piece:start {
  background: #aba816;
  cursor: pointer;
}

#news_modal_inner::-webkit-scrollbar-thumb {
  background: #aba816;
  border-radius: 11px;
  cursor: pointer;
}

#news_modal_inner::-webkit-scrollbar-corner {
  background: transparent;
  cursor: pointer;
}

#wrap_sc::-webkit-scrollbar {
  overflow: hidden;
  width: 10px;
  background: transparent;
  cursor: pointer;
}

#wrap_sc::-webkit-scrollbar:horizontal {
  height: 10px;
  cursor: pointer;
}

#wrap_sc::-webkit-scrollbar-button {
  display: none;
  cursor: pointer;
}

#wrap_sc::-webkit-scrollbar-piece {
  background: #aba816;
  cursor: pointer;
}

#wrap_sc::-webkit-scrollbar-piece:start {
  background: #aba816;
  cursor: pointer;
}

#wrap_sc::-webkit-scrollbar-thumb {
  background: #aba816;
  border-radius: 11px;
  cursor: pointer;
}

#wrap_sc::-webkit-scrollbar-corner {
  background: transparent;
  cursor: pointer;
}

/* -------------------- font-face  --------------------*/
.ff_ff-n {
  font-family: "Noto Sans JP", "Noto Sans CJK JP" !important;
}

.ff_ff-d {
  font-family: "din-2014" !important;
}

.ff_w-r {
  font-weight: 400 !important;
}

.ff_w-b {
  font-weight: 700 !important;
}

.ff_w-eb {
  font-weight: 900 !important;
}

.ff_w-blk {
  font-weight: 900 !important;
}

.ff_smooth {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ==================================================
*
    transition
*
================================================== */
header h1 {
  opacity: 0;
}

.load header h1 {
  opacity: 1;
  transition: opacity 0.45s ease 0.45s;
}

/* contents_inner */
#contents_inner {
  opacity: 0;
  transform: translateY(15px);
  transition: opacity, transform;
  transition-duration: 1.2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  transition-delay: 0.85s;
}

.comp #contents_inner {
  opacity: 1;
  transform: translateY(0px);
  transition-delay: 0.8s;
}

.move #contents_inner {
  opacity: 0;
  transition-duration: 1s;
  transform: translateY(15px);
  transition-delay: 0s;
}

/* nav */
#lang {
  transform: translateY(-105%);
}

.load #lang {
  transform: translateY(0);
}

/* sub_kv */
.sub_kv {
  opacity: 0;
  transition: opacity 0.45s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
}

.load .sub_kv {
  opacity: 1 !important;
}

.to_about .sub_kv {
  opacity: 1 !important;
}

.to_about.w750.move .sub_kv {
  opacity: 0 !important;
}

.to_home .sub_kv {
  opacity: 0 !important;
}

.sub_kv .inner h1 .j {
  opacity: 0;
  transform: translateX(-15px);
  transition: opacity, transform;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.sub_kv .inner h1 .e {
  opacity: 0;
  transform: translateY(-15px);
  transition: opacity, transform;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.move .sub_kv .inner h1 .j {
  opacity: 0;
  transform: translateY(15px);
  transition-duration: 0.45s;
}

.move .sub_kv .inner h1 .e {
  opacity: 0;
  transform: translateY(15px);
  transition-duration: 0.25s;
}

.comp .sub_kv .inner h1 .j {
  opacity: 1;
  transform: translateY(0px);
  transition-duration: 0.45s;
  transition-delay: 0.85s;
}

.comp .sub_kv .inner h1 .e {
  opacity: 1;
  transform: translateY(0px);
  transition-duration: 0.45s;
  transition-delay: 0.75s;
}

.sub_kv:before {
  transition: transform;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.sub_kv:before {
  transform: translateY(-100%);
  transition-duration: 0s;
}

.comp .sub_kv:before {
  transform: translateY(0%);
  transition-duration: 0.45s;
  transition-delay: 0.25s;
}

.move .sub_kv:before {
  transform: translateX(100%);
  transition-duration: 0.45s;
  transition-delay: 0.45s;
}

.sub_kv:after {
  transition: transform;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.sub_kv:after {
  transform: translateY(-200%);
  transition-duration: 0s;
}

.comp .sub_kv:after {
  transform: translateY(0%);
  transition-duration: 1s;
  transition-delay: 0.15s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.move .sub_kv:after {
  transform: translateY(100%);
  transition-duration: 0.65s;
}

.sub_kv .inner:after {
  transition: transform;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.sub_kv .inner:after {
  transform: translateX(-100%);
  transition-duration: 0s;
}

.comp .sub_kv .inner:after {
  transform: translateX(0%);
  transition-duration: 0.85s;
  transition-delay: 0.15s;
  transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}

.move .sub_kv .inner:after {
  transform: translateX(100%);
  transition-duration: 0.45s;
  transition-delay: 0.45s;
}

/* post_wrap */
#post_wrap {
  opacity: 1;
  transition: opacity 0.35s ease-out;
}

#post_wrap.on {
  opacity: 0;
}

/* Modal */
#news_modal_inner {
  transform: translateX(100%);
  transition: transform;
  transition-duration: 0.25s;
  transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}

#news_modal_inner.on {
  transform: translateX(0);
}

/* home */
#kv {
  opacity: 0;
  transition: opacity 3s ease 0.65s;
}

.comp #kv {
  opacity: 1;
}

.comp #kv .i {
  transform: scale(1.05);
}

#kv .i.out {
  transform: scale(0.95);
  transition: transform;
  transition-duration: 1.5s;
  transition-timing-function: cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

#kv .i.on {
  transform: scale(1);
  transition: transform;
  transition-duration: 7s;
  transition-timing-function: ease-out;
  transition-delay: 0s;
}

/* kv copy */
#kv_copy p {
  opacity: 0;
  transform: translateX(-10px);
  transition: transform, opacity;
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  transition-delay: 1.2s;
}

.comp #kv_copy p {
  opacity: 1;
  transform: translateX(0px);
}

.comp #kv_copy .c01 {
  transition-delay: 1.5s;
}

.comp #kv_copy .c02 {
  transition-delay: 1.65s;
}

.comp #kv_copy .c03 {
  transition-delay: 1.8s;
}

#home_nav_wrap {
  opacity: 0;
  transition: transform, opacity;
  transform: translateY(20px);
  transition: transform, opacity;
  transition-duration: 0.65s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  transition-delay: 2s !important;
}

.comp #home_nav_wrap {
  opacity: 1;
  transform: translateY(0px);
}

#wrap_sc {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
}

#wrap_sc {
  overflow: hidden;
}

body.is_sp,
.is_sp main {
  height: auto !important;
}

.is_sp #wrap_sc,
.is_sp main {
  height: auto !important;
  position: relative !important;
  transform: inherit !important;
  transition: inherit !important;
}

#b_inner {
  transition-duration: 0.8s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.c_anim {
  opacity: 0;
  transform: translate3d(0, 0, 0);
}

.is_pc .c_up {
  opacity: 0;
  transform: translateY(25px);
}

.is_sp .c_up {
  opacity: 0;
  transform: translateY(15px);
}

.on.c_up {
  opacity: 1;
  transform: translateY(0px);
  transition: opacity, transform;
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  transition-delay: 0.15s;
}

.is_pc .lz_elm {
  opacity: 0 !important;
  transform: translateY(25px);
}

.is_sp .lz_elm {
  opacity: 0 !important;
  transform: translateY(15px);
}

.z10 {
  z-index: 10;
}

main {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transition: transform;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  transition-duration: 0.6s !important;
}

.isIE main {
  display: block;
}

main,
.plx.p_x2 {
  transition-duration: 0.6s !important;
}

.isFirefox main,
.isFirefox .plx.p_x2 {
  transition-duration: 0.3s !important;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.isSafari main,
.isSafari .plx.p_x2 {
  transition-duration: 0.6s !important;
}

.plx {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transition: transform;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  transition-duration: 0.8s;
}

.plx.pl-b {
  transition-duration: 1.2s;
}

.is_sp .plx {
  transform: inherit !important;
}

.isFirefox .plx {
  transition-duration: 0.5s;
}

.isFirefox .plx.pl-b {
  transition-duration: 0.9s;
}

.plx.pl-c {
  transition-duration: 0.9s;
}

.isFirefox .plx.pl-c {
  transition-duration: 0.6s;
}

.plx.pl-d {
  transition-duration: 1.5s;
}

.isFirefox .plx.pl-d {
  transition-duration: 1.2s;
}

.isIE #wrap_sc,
.isIE main,
.isEdge #wrap_sc,
.isEdge main {
  height: auto !important;
  position: relative !important;
  transform: inherit !important;
  transition: inherit !important;
}

.isIE .plx,
.isEdge .plx {
  transform: inherit !important;
  transition: inherit !important;
}

.move.is_pc.isSafari #wrap_sc,
.move.is_pc.isSafari main,
.move.is_pc.isSafari .plx {
  transition-duration: 4s !important;
  transition-timing-function: "cubic-bezier(0.895, 0.03, 0.685, 0.22)" !important;
}

/* project list */
#archive_posts .parents {
  opacity: 0 !important;
  transform: translateY(15px) !important;
}

#archive_posts .parents.on {
  opacity: 1 !important;
  transform: translateY(0px) !important;
  transition: opacity, transform !important;
  transition-duration: 1s !important;
  transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1) !important;
  transition-delay: 0.15s !important;
}

/*
    .btn_more
*/
.btn_more a:before {
  transform: translateX(0px);
  transition: transform 0.15s ease;
}

.is_pc .btn_more a:hover:before,
.is_sp .btn_more a.touch:before,
.is_pc #foot_contact .col:hover .btn_more a:before,
.is_sp #foot_contact .col.touch .btn_more a:before {
  transform: translateX(3px);
}

/*
    .set_bg .bg_inner scale
*/
.bg_scl .set_bg {
  overflow: hidden;
}

.bg_scl .bg_inner {
  transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}

.is_pc .bg_scl:hover .bg_inner,
.is_sp .bg_scl.touch .bg_inner,
.is_sp .touch > .bg_scl .bg_inner {
  transform: scale(1.05);
}

/*
    footer
*/
#foot_nav .col a {
  transition: opacity 0.15s ease;
}

.is_pc #foot_nav .col a:hover,
.is_sp #foot_nav .col a.touch {
  opacity: 0.7;
}

footer .pagetop span,
footer .pagetop span:before {
  transition: color, background, height, max-height, top;
  transition-duration: 0.15s;
  transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}

.is_pc footer .pagetop span:hover,
.is_sp footer .pagetop span.touch {
  color: #e60012;
}

.is_pc footer .pagetop span:hover:before,
.is_sp footer .pagetop span.touch:before {
  height: 1.9097222222vw !important;
  max-height: "27.5px" !important;
  top: -3px !important;
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}

/*
    home / project
*/
#home #project a h3 {
  transition: color 0.1s ease;
}

#home.is_pc #project a:hover h3,
#home.is_sp #project a.touch h3 {
  color: #e60012;
}

/*
    home / news
*/
#home #news a .desc,
#news_list a .desc {
  transition: color 0.1s ease;
}

#home.is_pc #news a:hover .desc,
#home.is_sp #news a.touch .desc,
.is_pc #news_list a:hover .desc,
.is_sp #news_list a.touch .desc {
  color: #e60012 !important;
}

#news_modal .news_modal_close,
#news_modal .news_modal_close:after {
  transition: background, opacity;
  transition-duration: 0.15s;
}

.is_pc #news_modal .news_modal_close:hover,
.is_sp #news_modal .news_modal_close.touch {
  background-color: #fff;
}

.is_pc #news_modal .news_modal_close:hover:after,
.is_sp #news_modal .news_modal_close.touch:after {
  opacity: 1;
}

/*
    join us
*/
#join_info .entry h3:before {
  opacity: 0;
  background-color: transparent !important;
  background-image: url(../images/parts_ico_accordion_plus_on.svg) !important;
  z-index: 3;
}

#join_info .entry.on h3:before {
  background-image: url(../images/parts_ico_accordion_min_on.svg) !important;
}

.is_pc #join_info .entry h3:hover:after,
.is_sp #join_info .entry h3.touch:after {
  background-color: #fff !important;
}

.is_pc #join_info .entry h3:hover:before,
.is_sp #join_info .entry h3.touch:before {
  opacity: 1 !important;
}

#join_info .entry .btn_close {
  transition: background;
  transition-duration: 0.15s;
}

.is_pc #join_info .entry .btn_close:hover,
.is_sp #join_info .entry .btn_close.touch {
  background-color: #fff;
}

/* ==================================================
*
    coloring , mouseover
*
================================================== */
.clr-r {
  color: #e60012 !important;
}

.clr-y {
  color: #fabe00 !important;
}

.clr-g {
  color: #888 !important;
}

@media screen and (max-width: 750px) {
  .switch_pc {
    display: none !important;
  }

  br {
    display: none;
  }

  br.sp {
    display: inherit !important;
  }
}
@media screen and (min-width: 751px) {
  .switch_sp {
    display: none !important;
  }

  br.sp {
    display: none !important;
  }
}
.project_list .status.due {
  background-color: #aba816 !important;
}

.project_list .status.end {
  background-color: #888 !important;
  background-image: none !important;
}

#initiatives_partner .btm_nav a {
  color: #e60012;
}

/* text link */
#outline a,
#history a,
#contact_head p a,
.chapter a,
#join_info .entry .box_inner p a,
#join_contact a,
#news_modal_inner a {
  color: #e60012;
  border-bottom: 1px solid #e60012;
  transition: border;
  transition-duration: 0.15s;
}

.is_pc #outline a:hover,
.is_pc #history a:hover,
.is_pc #contact_head p a:hover,
.is_pc .chapter a:hover,
.is_pc #join_info .entry .box_inner p a:hover,
.is_pc #join_contact a:hover,
.is_pc #news_modal_inner a:hover,
.is_sp #outline a.touch,
.is_sp #history a.touch,
.is_sp #contact_head p a.touch,
.is_sp .chapter a.touch,
.is_sp #join_info .entry .box_inner p a.touch,
.is_sp #join_contact a.touch,
.is_sp #news_modal_inner a.touch {
  border-bottom: 0 solid #fff;
}

#topic_path li a {
  transition: color;
  transition-duration: 0.15s;
}

.is_pc #topic_path li a:hover,
.is_sp #topic_path li a.touch {
  color: #e60012;
}

/* .btn_detail */
.btn_detail a {
  transition: background, color;
  transition-duration: 0.2s;
  position: relative;
  transform: translate3d(0, 0, 0);
}

.is_pc .btn_detail:hover a,
.is_sp .btn_detail.touch a {
  background-image: none !important;
  background-color: #fff !important;
  color: #e60012 !important;
}

.btn_detail a:before {
  opacity: 0;
  transition: opacity, transform;
  transform: translateX(0px);
  transition-delay: 0s;
}

.is_pc .btn_detail:hover a:before,
.is_sp .btn_detail.touch a:before {
  opacity: 1;
  transform: translateX(5px);
  transition-duration: 0.1s;
  transition-delay: 0.25s;
}

.is_pc #page_nav .first a:hover,
.is_pc #page_nav .last a:hover,
.is_sp #page_nav .first a.touch,
.is_sp #page_nav .last a.touch {
  color: #e60012;
  background-color: #fff;
}

.is_pc #page_nav .first a:hover:after,
.is_pc #page_nav .last a:hover:after,
.is_sp #page_nav .first a.touch:after,
.is_sp #page_nav .last a.touch:after {
  opacity: 1;
}

/* lang */
#lang {
  transition: background 0.15s ease, transform 0.85s cubic-bezier(0.77, 0, 0.175, 1) 1.2s;
}

#lang .en {
  transition: color;
  transition-duration: 0.15s;
}

.is_pc #lang:hover,
.is_sp #lang.touch {
  background-color: #fff;
}

.is_pc #lang:hover .en,
.is_sp #lang.touch .en {
  color: #e60012;
}

/* project_list */
.project_list .tag_list a {
  transition: background, color;
  transition-duration: 0.15s;
}

.is_pc .project_list .tag_list a:hover,
.is_sp .project_list .tag_list a.touch {
  background-color: #fff !important;
  color: #e60012 !important;
}

.project_list article h3 {
  transition: background, color;
  transition-duration: 0.15s;
}

.is_pc .project_list article:hover h3,
.is_sp .project_list .touch h3 {
  color: #e60012;
}

#btm_banner .btn {
  transition: background;
  transition-duration: 0.15s;
}

.is_pc #btm_banner .btn:hover,
.is_sp #btm_banner .btn.touch {
  background-color: #fff;
}

#btm_banner .btn:after {
  transition: opacity;
  transition-duration: 0.15s;
}

.is_pc #btm_banner .btn:hover:after,
.is_sp #btm_banner .btn.touch:after {
  opacity: 1;
}

/* #foot_contact */
#foot_contact .col,
#foot_contact .col h5 {
  transition: background, color;
  transition-duration: 0.15s;
}

.is_pc #foot_contact .col:hover,
.is_sp #foot_contact .col.touch {
  background-color: #fff !important;
}

.is_pc #foot_contact .col:hover h5,
.is_sp #foot_contact .col.touch h5 {
  color: #fabe00 !important;
}

.is_pc #cat_nav h5,
.is_sp #cat_nav h5 {
  transition: background, color;
  transition-duration: 0.15s;
}

#cat_nav h5:after,
#cat_nav h5 span:after {
  transition: opacity, background, color;
  transition-duration: 0.15s;
}

.is_pc #cat_nav:hover h5,
.is_sp #cat_nav.touch h5 {
  background-color: #fff;
  color: #e60012;
}

.is_pc #cat_nav:hover h5:after,
.is_pc #cat_nav:hover h5 span:after,
.is_sp #cat_nav.touch h5:after,
.is_sp #cat_nav.touch h5 span:after {
  opacity: 1;
}

.btn_archive_posts,
.btn_archive_posts:after {
  transition: opacity, background, color;
  transition-duration: 0.15s;
}

.btn_archive_posts:hover {
  background-color: #fff;
  color: #e60012;
}

.btn_archive_posts:hover span:after {
  opacity: 1;
}

/* contact */
#contact_form_wrap input[type=submit] {
  transition: background, color, border;
  transition-duration: 0.15s;
}

.is_pc #contact_form_wrap input[type=submit]:hover,
.is_sp #contact_form_wrap input[type=submit].touch {
  border: 1px solid #e60012;
  background-color: #fff;
  color: #e60012;
}

/* ==================================================
*
    font style
*
================================================== */
.fs_just, .fs_just p, .fs_just li, .fs_just dt, .fs_just dd {
  text-align: justify !important;
  text-justify: inter-ideograph !important;
}

@media screen and (max-width: 750px) {
  .fz18_s {
    font-size: 2.4vw;
  }

  .fz19_s {
    font-size: 2.5333333333vw;
  }

  .fz20_s {
    font-size: 2.6666666667vw;
  }

  .fz21_s {
    font-size: 2.8vw;
  }

  .fz22_s {
    font-size: 2.9333333333vw;
  }

  .fz23_s {
    font-size: 3.0666666667vw;
  }

  .fz24_s {
    font-size: 3.2vw;
  }

  .fz25_s {
    font-size: 3.3333333333vw;
  }

  .fz26_s {
    font-size: 3.4666666667vw;
  }

  .fz28_s {
    font-size: 3.7333333333vw;
  }

  .fz29_s {
    font-size: 3.8666666667vw;
  }

  .fz30_s {
    font-size: 4vw;
  }

  .fz32_s {
    font-size: 4.2666666667vw;
  }

  .fz34_s {
    font-size: 4.5333333333vw;
  }

  .fz36_s {
    font-size: 4.8vw;
  }

  .fz38_s {
    font-size: 5.0666666667vw;
  }

  .fz40_s {
    font-size: 5.3333333333vw;
  }

  .fz42_s {
    font-size: 5.6vw;
  }

  .fz44_s {
    font-size: 5.8666666667vw;
  }

  .fz46_s {
    font-size: 6.1333333333vw;
  }

  .fz48_s {
    font-size: 6.4vw;
  }

  .fz50_s {
    font-size: 6.6666666667vw;
  }

  .fz52_s {
    font-size: 6.9333333333vw;
  }

  .fz53_s {
    font-size: 7.0666666667vw;
  }

  .fz54_s {
    font-size: 7.2vw;
  }

  .fz58_s {
    font-size: 7.7333333333vw;
  }

  .fz60_s {
    font-size: 8vw;
  }

  .fz62_s {
    font-size: 8.2666666667vw;
  }

  .fz72_s {
    font-size: 9.6vw;
  }

  .fz74_s {
    font-size: 9.8666666667vw;
  }

  .fz82_s {
    font-size: 10.9333333333vw;
  }

  .fz126_s {
    font-size: 16.8vw;
  }
}
/* ----- max-width : 750px ----- */
@media screen and (min-width: 751px) {
  .fz10 {
    font-size: 0.6944444444vw;
  }

  .fz11 {
    font-size: 0.7638888889vw;
  }

  .fz12 {
    font-size: 0.8333333333vw;
  }

  .fz12-5 {
    font-size: 0.8680555556vw;
  }

  .fz13 {
    font-size: 0.9027777778vw;
  }

  .fz13-5 {
    font-size: 0.9375vw;
  }

  .fz14 {
    font-size: 0.9722222222vw;
  }

  .fz15 {
    font-size: 1.0416666667vw;
  }

  .fz16 {
    font-size: 1.1111111111vw;
  }

  .fz17 {
    font-size: 1.1805555556vw;
  }

  .fz18 {
    font-size: 1.25vw;
  }

  .fz19 {
    font-size: 1.3194444444vw;
  }

  .fz20 {
    font-size: 1.3888888889vw;
  }

  .fz21 {
    font-size: 1.4583333333vw;
  }

  .fz22 {
    font-size: 1.5277777778vw;
  }

  .fz23 {
    font-size: 1.5972222222vw;
  }

  .fz24 {
    font-size: 1.6666666667vw;
  }

  .fz25 {
    font-size: 1.7361111111vw;
  }

  .fz26 {
    font-size: 1.8055555556vw;
  }

  .fz27 {
    font-size: 1.875vw;
  }

  .fz28 {
    font-size: 1.9444444444vw;
  }

  .fz30 {
    font-size: 2.0833333333vw;
  }

  .fz31 {
    font-size: 2.1527777778vw;
  }

  .fz36 {
    font-size: 2.5vw;
  }

  .fz40 {
    font-size: 2.7777777778vw;
  }

  .fz41 {
    font-size: 2.8472222222vw;
  }

  .fz74 {
    font-size: 5.1388888889vw;
  }
}
/* ----- min-width : 751px ----- */
@media screen and (min-width: 1440px) {
  .fz10 {
    font-size: 10px !important;
  }

  .fz11 {
    font-size: 11px !important;
  }

  .fz12 {
    font-size: 12px !important;
  }

  .fz12-5 {
    font-size: 12.5px !important;
  }

  .fz13 {
    font-size: 13px !important;
  }

  .fz13-5 {
    font-size: 13.5px !important;
  }

  .fz14 {
    font-size: 14px !important;
  }

  .fz15 {
    font-size: 15px !important;
  }

  .fz16 {
    font-size: 16px !important;
  }

  .fz17 {
    font-size: 17px !important;
  }

  .fz18 {
    font-size: 18px !important;
  }

  .fz19 {
    font-size: 19px !important;
  }

  .fz20 {
    font-size: 20px !important;
  }

  .fz21 {
    font-size: 21px !important;
  }

  .fz22 {
    font-size: 22px !important;
  }

  .fz23 {
    font-size: 23px !important;
  }

  .fz24 {
    font-size: 24px !important;
  }

  .fz25 {
    font-size: 25px !important;
  }

  .fz26 {
    font-size: 26px !important;
  }

  .fz27 {
    font-size: 27px !important;
  }

  .fz28 {
    font-size: 28px !important;
  }

  .fz30 {
    font-size: 30px !important;
  }

  .fz31 {
    font-size: 31px !important;
  }

  .fz36 {
    font-size: 36px !important;
  }

  .fz40 {
    font-size: 40px !important;
  }

  .fz41 {
    font-size: 41px !important;
  }

  .fz74 {
    font-size: 74px !important;
  }
}
/* ----- min-width : 1440px ----- */
/* ------------------------------------------------------------
*
    .img_slider
     -> Setting jQuery Plugin slick.min.js
*
------------------------------------------------------------ */
.slick-dots, .slick-next, .slick-prev {
  position: absolute;
  display: block;
  padding: 0;
}

.slick-dots li button:before, .slick-next:before, .slick-prev:before {
  font-family: slick;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-loading .slick-slide, .slick-loading .slick-track {
  visibility: hidden;
}

.slick-next, .slick-prev {
  font-size: 0;
  line-height: 0;
  top: 50%;
  width: 20px;
  height: 20px;
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: 0;
  background: 0 0;
}

.slick-next:focus, .slick-next:hover, .slick-prev:focus, .slick-prev:hover {
  color: transparent;
  outline: 0;
  background: 0 0;
}

.slick-next:focus:before, .slick-next:hover:before, .slick-prev:focus:before, .slick-prev:hover:before {
  opacity: 1;
}

.slick-next.slick-disabled:before, .slick-prev.slick-disabled:before {
  opacity: 0.25;
}

.slick-next:before, .slick-prev:before {
  font-size: 20px;
  line-height: 1;
  opacity: 0.75;
  color: #fff;
}

.slick-prev {
  left: -25px;
}

[dir=rtl] .slick-prev {
  right: -25px;
  left: auto;
}

.slick-prev:before {
  content: "";
}

.slick-next:before, [dir=rtl] .slick-prev:before {
  content: "";
}

.slick-next {
  right: -25px;
}

[dir=rtl] .slick-next {
  right: auto;
  left: -25px;
}

[dir=rtl] .slick-next:before {
  content: "";
}

.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  bottom: -25px;
  width: 100%;
  margin: 0;
  list-style: none;
  text-align: center;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 20px;
  height: 20px;
  padding: 5px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: 0;
  background: 0 0;
}

.slick-dots li button:focus, .slick-dots li button:hover {
  outline: 0;
}

.slick-dots li button:focus:before, .slick-dots li button:hover:before {
  opacity: 1;
}

.slick-dots li button:before {
  font-size: 6px;
  line-height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  content: "";
  text-align: center;
  opacity: 0.25;
  color: #000;
}

.slick-list, .slick-slider, .slick-track {
  position: relative;
  display: block;
}

.slick-dots li.slick-active button:before {
  opacity: 0.75;
  color: #000;
}

.slick-slider {
  box-sizing: border-box;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: 0;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-list, .slick-slider .slick-track {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  top: 0;
  left: 0;
}

.slick-track:after, .slick-track:before {
  display: table;
  content: "";
}

.slick-track:after {
  clear: both;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.img_slider {
  opacity: 0;
}

.img_slider.onload {
  opacity: 1;
  transition: opacity 0.8s ease;
}

@media screen and (min-width: 751px) {
  .slick-dotted.slick-slider {
    margin: 0;
  }

  .slick-dots {
    width: 100% !important;
    min-width: 1000px;
    display: table !important;
    text-align: center;
    vertical-align: middle;
    position: absolute;
    left: 0;
    top: inherit !important;
    bottom: -20px;
    z-index: 3;
  }

  .slick-dots li {
    margin: 0 7px;
  }

  .slick-dots li,
.slick-dots li button {
    width: 10px;
    height: 10px;
    display: inline-block;
    border: 0;
    border-radius: 10px;
    outline: none;
    position: relative;
  }

  button::-moz-focus-inner {
    border: 0;
  }

  .slick-dots li button:before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 10px;
    background-color: #cfcfce;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 10px;
    opacity: 1;
    position: absolute;
    top: 0;
    left: 0;
  }

  .is_sp .slick-dots li.touch button:before,
.is_pc .slick-dots li:hover button:before,
.slick-dots li.slick-active button:before {
    box-sizing: border-box;
    background-color: #e60012;
    opacity: 1;
  }
}
/* ----- min-width : 751px ----- */
@media screen and (max-width: 750px) {
  .slick-dotted.slick-slider {
    margin: 0;
  }

  .slick-dots {
    width: 100% !important;
    display: table !important;
    text-align: center;
    vertical-align: middle;
    position: absolute;
    left: 0;
    top: inherit !important;
    bottom: -8.6666666667vw;
    z-index: 3;
  }

  .slick-dots li {
    margin: 0 0.8vw;
  }

  .slick-dots li,
.slick-dots li button {
    width: 2.2666666667vw;
    height: 2.2666666667vw;
    display: inline-block;
    border: 0;
    border-radius: 2.2666666667vw;
    outline: none;
    position: relative;
  }

  button::-moz-focus-inner {
    border: 0;
  }

  .slick-dots li button:before {
    content: "";
    width: 2.2666666667vw;
    height: 2.2666666667vw;
    border-radius: 2.2666666667vw;
    background-color: #cfcfce;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 2.2666666667vw;
    opacity: 1;
    position: absolute;
    top: 0;
    left: 0;
  }

  .is_sp .slick-dots li.touch button:before,
.is_pc .slick-dots li:hover button:before,
.slick-dots li.slick-active button:before {
    box-sizing: border-box;
    background-color: #e60012;
    opacity: 1;
  }
}
/* ----- max-width : 750px ----- */