@charset "utf-8";

/*common*/
.pc-only { display: block!important; }
.sp-only { display: none!important; }

section, main { position: relative; display: block; }
body { width: 100%; }
body#home { overflow-x: hidden; }

img { max-width: 100%; height: auto; }

@media screen and (max-width: 1023px) {
	.pc-only { display: none!important; }
	.sp-only { display: block!important; }
    
    html, body { width: 100%; overflow-x: hidden; }
}

/*no-js*/
.no-js #loading,
.no-js .top_main_txt { display: none; }

/*loading*/
body #loading {
    background: #fff;
    display: block;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100010;
    pointer-events: none;
    -webkit-transition: opacity 1.5s cubic-bezier(.16,1,.3,1) 0.5s; transition: opacity 1.5s cubic-bezier(.16,1,.3,1) 0.5s;
}

body #loading.is-animation {
    opacity: 0;
}

/*fade*/
.js-scroll-fade:not(.top_about_ph):not(.hd_anime) { opacity: 0; }
.isActive:not(.top_about_ph):not(.hd_anime) {
    -webkit-animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    -webkit-animation-duration: 1.8s;
    animation-duration: 1.8s;
    -webkit-animation-name: fadeUp;
    animation-name: fadeUp;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}
@-webkit-keyframes fadeUp{
	0%{opacity:0;-webkit-transform:translateY(50px);transform:translateY(50px)}
    10%{opacity:0; }
	to{opacity:1;-webkit-transform:none;trfooter_logo_setansform:none}
}
@keyframes fadeUp{
	0%{opacity:0;-webkit-transform:translateY(50px);transform:translateY(50px)}
    10%{opacity:0; }
	to{opacity:1;-webkit-transform:none;transform:none}
}

/*scroll*/
#viewport {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    overflow: hidden;
}

#scroll-container {
    position: absolute;
    width: 100%;
}

/*header*/
.header_box { width: 100%; position: relative; z-index: 12; }
header .header_box { background: #fff; }
.header_box.bgColor { background: #fff; }
.header_box > .inner { display: flex; align-items: center; width: 100%; padding: 0 2.46%; justify-content: space-between; box-sizing: border-box; }
.top_contents_box .header_box { position: sticky; top: 0; }

.header_logo { width: 197px; padding: 32px 0; line-height: 1; z-index: 4; text-align: center; }
.header_logo img { line-height: 0; }

.global_nav { display: flex; align-items: center; }
.main_nav { display: flex; margin-top: 3px; }
.main_nav li { font-size: 1.6rem; line-height: 1.35; margin-left: 24px; }
.main_nav li .arrow { width: 8px; height: 4px; margin-left: 5px; display: inline-block; line-height: 8px; }
.main_nav li .hd { position: relative; cursor: pointer; z-index: 4; }
.main_nav li .btn_dd { display: block; width: 100%; height: 55px; position: absolute; top: 0; left: 0; }
.main_nav li:not(.menu_item) { position: relative; z-index: 4; }
.global_nav .serviceNav li:not(.menu_item) { position: 0; }

.header_cart { display: flex; align-items: center; justify-content: center; width: 120px; margin-left: 32px; background: #0D5096; position: relative; z-index: 2; padding: 8px 0; text-align: center; }
.header_cart .txt { color: #fff; font-size: 1.6rem; line-height: 0.5; margin-top: 2px; }
.header_cart .ico { margin-left: 8px; line-height: 1; }
 
.op_global_nav { display: none; }
.btn_humberger_box { display: none; }

@media screen and (min-width: 1600px) {
    .header_cart { display: flex; align-items: center; justify-content: center; width: 140px; margin-left: 32px; background: #0D5096; position: relative; z-index: 2; padding: 10px 0; text-align: center; }
}

@media screen and (max-width: 1023px) {
    .top_contents_box .header_box { display: none;}
    .header_box { width: 100%; background: #fff; position: fixed; z-index: 9999; }
    .header_box > .inner { display: flex; align-items: center; width: 100%; padding: 0 5.12%; justify-content: space-between; box-sizing: border-box; }

    .header_logo { width: 155px; padding: 15px 0; line-height: 1; z-index: 4; text-align: center; }
.header_logo img { line-height: 0; }

.global_nav { display: flex; align-items: center; }
    .main_nav { display: none; }
.main_nav li { font-size: 1.6rem; line-height: 1.35; margin-left: 24px; }
.main_nav li .arrow { width: 8px; height: 4px; margin-left: 5px; display: inline-block; line-height: 8px; }
.main_nav li .hd { position: relative; cursor: pointer; z-index: 4; }
.main_nav li .btn_dd { display: block; width: 100%; height: 55px; position: absolute; top: 0; left: 0; }
.main_nav li:not(.menu_item) { position: relative; z-index: 4; }
.global_nav .serviceNav li:not(.menu_item) { position: 0; }

    .header_cart { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; margin-left: 4px; background: #0D5096; position: relative; z-index: 2; padding: 0; text-align: center; }
    .header_cart .txt { display: none; }
    .header_cart .ico { margin-left: 0; line-height: 1; }
 
    .btn_humberger_box { display: block; width: 30px; height: 30px; border: 1px solid #0D5096; box-sizing: border-box; }
    .btn_humberger { width: 16px; position: relative; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); z-index: 2; }
    .btn_humberger .line { display: block; position: relative; width: 16px; height: 11px; -webkit-transition: height 0.5s cubic-bezier(0.36, 0.14, 0, 1); transition: height 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
    .btn_humberger .line span {content: ""; width: 16px; height: 1px; display: block; -webkit-transition: all 0.2s cubic-bezier(0.36, 0.14, 0, 1); transition: all 0.2s cubic-bezier(0.36, 0.14, 0, 1); background: #0D5096; position: absolute; }
    .btn_humberger .line span:nth-child(2){ width: 12px; left: 0; bottom: 0; }
    .btn_humberger .line span:nth-child(1){ left: 0; top: 0; }
    .btn_humberger .line span:nth-child(3){ left: 0; top: 5px; }
    body.open .btn_humberger .line span:nth-child(2){ width: 16px; transform: rotate(45deg); top: 50%; }
    body.open .btn_humberger .line span:nth-child(1){ width: 16px; transform: rotate(-45deg); top: 50%; }
    body.open .btn_humberger .line span:nth-child(3){ opacity: 0; }
    .op_global_nav { display: block; pointer-events: none; opacity: 0; width: 100%; height: 100vh; overflow-y: scroll; -webkit-transform: translateX(0); transform: translateX(0); background: #fff; position: fixed; z-index: 9998; -webkit-transition: opacity 1.0s cubic-bezier(.16,1,.3,1); transition: opacity 1.0s cubic-bezier(.16,1,.3,1); }
    body.open .op_global_nav { opacity: 1; pointer-events: visible; } 
    .op_global_nav > .inner { width: 75.39%; box-sizing: border-box; margin: 0 auto; padding: 118px 0; }
    .op_global_nav .nav_main { font-size: 3.2rem; line-height: 1; }
    .op_global_nav .nav_main li + li { margin-top: 40px; }
    .op_global_nav .nav_cart { display: flex; align-items: center; justify-content: center; width: 230px; margin-top: 42px; background: #0D5096; position: relative; z-index: 2; padding: 10px 0; text-align: center; }
    .op_global_nav .nav_cart .txt { color: #fff; font-size: 3.2rem; line-height: 1; }
    .op_global_nav .nav_cart .ico { width: 18px; margin-left: 18px; line-height: 1; }
    .op_global_nav .nav_cart .ico img { width: 100%; }
    .nav_sns_txt { font-size: 1.3rem; line-height: 1.5; margin-top: 80px; }
    .nav_sns_list { display: flex; margin-top: 24px; }
    .nav_sns_list li { width: 23px; }
    .nav_sns_list li + li { margin-left: 20px; }
}

/*top*/
.header_news { border-top: 1px solid #D9D9D9; padding: 8px 2.46%; box-sizing: border-box; }
.header_news_list { height: 24px; overflow: hidden; }
.header_news .inner { display: flex; justify-content: flex-end; align-items: center; }
.header_news .post { display: flex; justify-content: flex-end; align-items: center; height: 24px!important; }
.header_news .hd { font-size: 1.4rem; color: #0D5096; margin: 3px 16px 0 0; padding-right: 16px;
background-size: 1px 3px;
background-image: linear-gradient(to bottom, #8f8f91 1px, transparent 1px, transparent 3px);
background-repeat: repeat-y;
background-position: top right; }
@media screen and (min-width: 1600px) {
    .header_news .hd {  padding-top: 2px; }
}

.header_news .date { font-size: 1.2rem; color: #9CA5AF; margin-right: 16px; }
.header_news .ttl { font-size: 1.2rem; width: 42.23vw; overflow: hidden; }
.header_news .arrow { line-height: 0; margin-left: 16px; }

.marquee span {
  display: inline-block;
  margin: 0;
  white-space:nowrap;
  -webkit-transform: translate(0%);
  transform: translate(0%);
}
.swiper-slide-active .marquee span.on {
  -webkit-animation: marquee linear 5.5s infinite;
  animation: marquee linear 5.5s infinite;
}

@media screen and (max-width: 600px) {
    .header_news .ttl { font-size: 1.2rem; width: 100%; overflow: hidden; }
    .swiper-slide-active .marquee span.on {
      -webkit-animation: marquee linear 7.5s infinite;
      animation: marquee linear 7.5s infinite;
    }
}

@-webkit-keyframes marquee {
  0% { -webkit-transform: translate(0%); transform: translate(0%); opacity: 0; }
  10% { -webkit-transform: translate(0%); transform: translate(0%); opacity: 1; }
  30% { -webkit-transform: translate(0%); transform: translate(0%); }
  90% { -webkit-transform: translate(-100%); transform: translate(-100%); }
  100% { -webkit-transform: translate(-100%); transform: translate(-100%); }
}
@keyframes marquee {
  0% { -webkit-transform: translate(0%); transform: translate(0%); opacity: 0; }
  10% { -webkit-transform: translate(0%); transform: translate(0%); opacity: 1; }
  30% { -webkit-transform: translate(0%); transform: translate(0%); }
  90% { -webkit-transform: translate(-100%); transform: translate(-100%); }
  100% { -webkit-transform: translate(-100%); transform: translate(-100%); }
}

.parallax-mainimg { height: 100vh; overflow: hidden; position: relative; }

.top_main_ph { position: relative; }
.top_main_ph .swiper-wrapper { height: 100vh; }
.top_main_ph .ph_item > div { width: 100%; height: 100vh; }
.top_main_ph .ph_item img { width: 100%; height: 100vh; object-fit: cover; }
.top_main_slide { display: none; }

@keyframes paginationActive {
  100% {
    width: 100%;
  }
}

.top_main_txt { width: 100%; height: 100vh; position: fixed; top: 0; z-index: 10; pointer-events: none; }
.top_main_txt > div { display: flex; position: absolute; bottom: 0; -webkit-transform: translateY(50%); transform: translateY(50%); }
.top_main_txt.first { opacity: 1; mix-blend-mode: difference; -webkit-transition: opacity 1.5s cubic-bezier(.16,1,.3,1); transition: opacity 1.5s cubic-bezier(.16,1,.3,1); }
.top_main_txt.second { opacity: 0; -webkit-transition: opacity 1.5s cubic-bezier(.16,1,.3,1); transition: opacity 1.5s cubic-bezier(.16,1,.3,1); }
.top_main_txt svg { width: 2465px; -webkit-transition: opacity 1.0s cubic-bezier(.16,1,.3,1); transition: opacity 1.0s cubic-bezier(.16,1,.3,1); margin-left: 48px; }
.top_main_txt.colorCng.first { opacity: 0; }
.top_main_txt.colorCng.second { opacity: 1; }
.top_main_txt .txtColor { fill: #fff; }
.top_main_txt.colorCng .txtColor { fill: #ECF0F5; }
.top_main_txt.fixCenter { position: absolute; top: auto; bottom: 0; }

.top_main_scroll { display: flex; align-items: center; position: absolute; right: 2.46%; top: 50vh; z-index: 2; color: #fff; -webkit-transform: rotate(90deg) translate(-50%, 0%); transform: rotate(90deg) translate(-50%, 0%); -webkit-transform-origin: top right; transform-origin: top right; }
.top_main_scroll .txt { font-size: 1.2rem; line-height: 1; margin: 2px 8px 0 0; }
.top_main_scroll .line { width: 60px; height: 1px; background: #fff; animation: scroll_line 3s cubic-bezier(.215,.61,.355,1) .5s infinite normal; }
@-webkit-keyframes scroll_line {
    0% {
        opacity: 0;
        transform: scaleX(0);
        transform-origin: center left;
    }
    25% {
        opacity: 1;
        transform: scaleX(1);
        transform-origin: center left;
    }
    75% {
        opacity: 1;
        transform: scaleX(1);
        transform-origin: center right;
    }
    100% {
        opacity: 0;
        transform: scaleX(0);
        transform-origin: center right;
    }
}
@keyframes scroll_line {
    0% {
        opacity: 0;
        transform: scaleX(0);
        transform-origin: center left;
    }
    25% {
        opacity: 1;
        transform: scaleX(1);
        transform-origin: center left;
    }
    75% {
        opacity: 1;
        transform: scaleX(1);
        transform-origin: center right;
    }
    100% {
        opacity: 0;
        transform: scaleX(0);
        transform-origin: center right;
    }
}

.parallax-img img { position: absolute; }
.parallax-img > div { overflow: hidden; position: relative; }

.top_about { padding-top: 338px; }
.top_about_item01 { display: flex; justify-content: space-between; padding: 0 4.46% 0 12.30%; position: relative; z-index: 11; }
.top_about_item01 .copy { font-size: 4.8rem; font-weight: 600; line-height: 1.33; letter-spacing: 0; margin-top: 21.07%; }
.top_about_item01 .ph01 { width: 53.60%; }
.top_about_item01 .ph01 > div { padding-bottom: 62.06%; }

.top_about_item02 { display: flex; justify-content: space-between; margin-top: 50px; padding: 0 12.15% 0 4.76%; position: relative; z-index: 11; }
.top_about_item02 .ph02 { width: 44.44%; margin-top: 13.88%; }
.top_about_item02 .ph02 > div { padding-bottom: 62.50%; }
.top_about_item02 .ph03 { width: 25.92%; }
.top_about_item02 .ph03 > div { padding-bottom: 142.85%; }

.top_about_item03 { display: flex; justify-content: space-between; margin-top: 40px; padding: 0 4.46% 0 12.46%;position: relative; z-index: 11; }
.top_about_item03 .ph04 { width: 25.92%; margin-top: 11.11%; }
.top_about_item03 .ph04 > div { padding-bottom: 62.50%; }
.top_about_item03 .copy { width: 53.70%; }
.top_about_item03 .copy .read { margin-bottom: 48px; font-size: 1.8rem; font-weight: 600; line-height: 1.77; } 

.top_about_item04 { display: flex; justify-content: space-between; margin-top: 120px; padding: 0 19.84% 0 4.76%;position: relative; z-index: 11; }
.top_about_item04 .ph05 { width: 18.36%; margin-top: 20.40%; }
.top_about_item04 .ph05 > div { padding-bottom: 144.89%; }
.top_about_item04 .ph06 { width: 59.18%; }
.top_about_item04 .ph06 > div { padding-bottom: 62.41%; }

.top_about_main { display: flex; justify-content: space-between; margin-left: 12.30%;position: relative; z-index: 11; }
.top_about_txt { width: 36.49%; }
.top_about_mainph { width: 56.14%; }
.top_about_txt .copy { font-size: 3.2rem; font-weight: 600; line-height: 1.33; letter-spacing: 0; }
.top_about_txt .read { margin: 30px 0 48px; font-size: 1.8rem; font-weight: 600; line-height: 1.77; } 

.top_about_slide { width: 100%; overflow-x: hidden; margin-top: 120px;position: relative; z-index: 11; }
.top_about_slide .slide_inner { display: flex; width: 415.35vw; -webkit-transform: translateX(-66.6666%); transform: translateX(-66.6666%); }
.top_about_slide .slide_item { display: flex; width: 138.45vw; }
.top_about_slide .slide_ph { width: 27.69vw; }

.common_link_btn a,
.wp-block-button .wp-block-button__link { display: inline-block; padding: 10px 20px; }
.common_link_btn:not(._bdno):not(._readmore) a,
.wp-block-button .wp-block-button__link { border: 1px solid #0D5096; }
.common_link_btn:not(._dtno):not(._readmore) a .txt,
.wp-block-button .wp-block-button__link { font-size: 1.3rem; color: #0D5096; line-height: 1; margin-right: 17px; padding-right: 17px;
background-size: 1px 3px;
background-image: linear-gradient(to bottom, #8f8f91 1px, transparent 1px, transparent 3px);
background-repeat: repeat-y;
background-position: top right; }
.top_news .common_link_btn:not(._dtno):not(._readmore) a .txt { font-size: 1.6rem; color: #23384E; }

.common_link_btn a .ico { line-height: 0; overflow: hidden; }
.common_link_btn a .ico svg { vertical-align: middle; margin-bottom: 3px; }
.common_link_btn path { fill: #0D5096; }
.top_news .common_link_btn path,
.top_hournal .common_link_btn path { fill: #23384E; }
.common_link_btn + .common_link_btn { margin-top: 16px; }

.wp-block-buttons.is-content-justification-center { text-align: center; }
.wp-block-buttons.is-content-justification-right { text-align: right; }
.wp-block-button .wp-block-button__link { position: relative; padding-right: 67px; text-decoration: none; }
.wp-block-button .wp-block-button__link:after { content: ""; display: block; width: 12px; height: 6px; background: url("../img/arrow_link.svg") no-repeat center; position: absolute; top: 50%; right: 20px; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.wp-block-button .wp-block-button__link:before { content: ""; display: block; width: 1px; height: 16px; position: absolute; right: 49px;
    background-size: 1px 3px;
    background-image: linear-gradient(to bottom, #8f8f91 1px, transparent 1px, transparent 3px);
    background-repeat: repeat-y;
    background-position: top right; }

.common_link_btn:not(._bdno) a  { -webkit-transition: background 1.0s cubic-bezier(.16,1,.3,1); transition: background 1.0s cubic-bezier(.16,1,.3,1); }
.common_link_btn:not(._bdno) a .txt  { -webkit-transition: color 1.0s cubic-bezier(.16,1,.3,1); transition: color 1.0s cubic-bezier(.16,1,.3,1); }
.common_link_btn:not(._bdno) a path  { -webkit-transition: fill 1.0s cubic-bezier(.16,1,.3,1); transition: fill 1.0s cubic-bezier(.16,1,.3,1); }

@keyframes link_hover_animation {
    0%, 100% {
        transform: translateX(0%);
        opacity: 1;
    }
    50% {
        transform: translateX(100%);
        opacity: 0;
    }
    50.1% {
        transform: translateX(-100%);
        opacity: 0;
    }
}

.common_link_btn._bdno { margin-top: 30px; text-align: right; }
.common_link_btn._bdno a .txt { font-size: 1.6rem; color: #23384E; margin-right: 24px; padding-right: 24px; }
.top_news .common_link_btn._bdno { padding-bottom: 30px; border-bottom: 1px solid #0D5096; }
.top_hournal .common_link_btn._bdno { margin: 50px 4.61% 0 0; }
.top_hournal .common_link_btn._bdno a { padding: 10px 0; border-bottom: 2px solid #0D5096; }
.top_products .common_link_btn._bdno { margin-top: 38px; }
.top_products .common_link_btn._bdno a { padding: 10px 0; border-bottom: 2px solid #0D5096; }

.top_contact .common_link_btn { margin-top: 28px;}
.top_contact .common_link_btn:not(._bdno):not(._readmore) a { background: #fff; border: 1px solid #fff; }
.footer_company .common_link_btn { margin-top: 24px;}

.common_link_btn._readmore { padding: 30px 0; border-bottom: 1px solid #0D5096; text-align: center; }
.common_link_btn._readmore > div .txt { font-size: 1.6rem; color: #23384E; margin-right: 8px; }
.common_link_btn._readmore > div .ico_plus { width: 13px; height: 13px; position: relative; }
.common_link_btn._readmore > div .ico_plus:before { content: ""; display: block; width: 13px; height: 1px; background: #23384E; position: absolute; left: 0; top: 6px; }
.common_link_btn._readmore > div .ico_plus:after { content: ""; display: block; width: 1px; height: 13px; background: #23384E; position: absolute; left: 6px; top: 0; }

#next.common_link_btn { display: block; }

.top_common_hd { font-size: 4.8rem; color: #0D5096; line-height: 1; }
.top_common_ttl { font-size: 2.4rem; font-weight: 600; line-height: 1.5; }

.top_news,.top_bandg,.top_hournal,.top_products,.top_access { background: #fff; position: relative; z-index: 11; }

.top_news { margin-top: 240px; position: relative; }
.top_news._archive { margin-top: 80px; }
.top_news > .inner { width: 90.76%; margin: 0 auto; display: flex; justify-content: space-between; }
.top_news_function { width: 30.00%; }
.top_news_list { width: 66.10%; }
.top_news .top_common_head { position: absolute; top: 0; width: 100%; }
.top_news_head { position: relative; }
.top_news_catlist { font-size: 1.2rem; }
.top_common_ttl + .top_news_catlist { margin-top: 80px; }
.top_news_catlist li { line-height: 2.5; }
.top_news_catlist li:not(.index) { color: #9CA5AF; }

.top_news_list { border-top: 1px solid #D9D9D9; }
.top_news_item { display: flex; padding: 40px 0; border-bottom: 1px solid #D9D9D9; }
.top_news_item .meta { min-width: 127px; }
.top_news_item .date { font-size: 2.0rem; color: #9CA5AF; }
.top_news_item .cat { font-size: 1.2rem; color: #9CA5AF; }
.top_news_item .ttl_wrapper { flex-grow: 2; margin-left: 40px; font-size: 1.8rem; font-weight: 600; line-height: 1.87; }
.top_news_item .ttl {
    display: inline;
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 95%, #1b1b1b 100%);
    background-size: 0% 100%;
    background-repeat: no-repeat;
    background-position: right bottom;
    transition: background-size .6s ease; }
.top_news_item p { font-size: 1.5rem; margin-top: 15px; }
.top_news_item .thumb { min-width: 200px; margin-left: 25px; }
.top_news_item .thumb > div { padding-bottom: 66.66%; position: relative; border: 1px solid #D9D9D9; }
.top_news_item .thumb img { position: absolute; width: 100%; height: 100%; object-fit: cover; }

.top_bandg > .inner { width: 90.76%; margin: 240px auto 0; }
.top_bandg_body { margin: 80px 0 0 8.48%; }
.top_bandg_item { display: flex; justify-content: space-between; margin-top: 80px; }
.top_bandg_item:nth-child(2n) { flex-direction: row-reverse; }
.top_bandg_ph { width: 62.96%; }
.top_bandg_ph img { width: 100%; }
.top_bandg_txt { width: 31.48%; }
.top_bandg_txt .head { display: flex; flex-wrap: wrap; align-items: baseline; margin-bottom: 30px; }
.top_bandg_txt .ttl { font-size: 4.0rem; line-height: 1; }
.top_bandg_txt .hd { margin-left: 24px; font-size: 2.4rem; color: #0D5096; line-height: 1; }

.top_hournal { background: #A8B5BF; margin-top: 240px; padding: 160px 0; }
.top_hournal > .inner { width: auto; margin: 0; }
.top_hournal .top_common_hdbox { margin-left: 4.62%; }
.top_hournal .top_common_hd,
.top_hournal .top_common_ttl { color: #fff; }
.top_hournal_body { margin: 80px 0 0 12.30%; }
.top_hournal_item { padding: 0 40px 80px 0; box-sizing: border-box; position: relative; }
.top_hournal_ph > div { padding-bottom: 66.66%; position: relative; }
.top_hournal_ph > div img { width: 100%; height: 100%; object-fit: cover; position: absolute; }
.top_hournal_txt .ttl { font-size: 1.6rem; font-weight: 600; line-height: 1.87; margin-top: 24px; }
.top_hournal_txt .meta { display: flex; align-items: baseline; position: absolute; bottom: 0;  width: calc(100% - 40px); padding-top: 16px; border-top: 1px solid #8D99A5; }
.news_recommend .top_hournal_txt .meta { border-top: 1px solid #D9D9D9; }
.top_hournal_txt .date { font-size: 2.0rem; color: #fff; }
.top_hournal_txt .cat { font-size: 1.2rem; color: #fff; margin-left: 16px; }
.news_recommend .top_hournal_txt .date,
.news_recommend .top_hournal_txt .cat { color: #9CA5AF; }

.top_hournal_list .swiper-button { display: flex; justify-content: space-between; position: relative; width: 108px; margin-top: 80px; }
.top_hournal_list .swiper-button > div { width: 50px; height: 50px; background: #fff; border-radius: 50%; position: relative; }
.top_hournal_list .swiper-button > div .ico { line-height: 0; position: absolute; left: 50%; top: 50%; }
.top_hournal_list .swiper-button-prev { left: 0; }
.top_hournal_list .swiper-button-prev .ico { -webkit-transform: scale(-1, 1) translate(50%, -50%); transform:  scale(-1, 1) translate(50%, -50%); }
.top_hournal_list .swiper-button-next { right: 0; }
.top_hournal_list .swiper-button-next .ico { -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }
.top_hournal_list .swiper-button > div:after { display: none; }

.top_hournal_list .swiper-button-next.swiper-button-disabled,
.top_hournal_list .swiper-button-prev.swiper-button-disabled { opacity: 1; }
.top_hournal_list .swiper-button-next.swiper-button-disabled path,
.top_hournal_list .swiper-button-prev.swiper-button-disabled path { fill: #9CA5AF; }

.top_hournal_ph {
    transform: scale(1);
    transition: transform .6s ease;
    overflow: hidden;
    position: relative
}

.top_hournal_ph > div {
    overflow: hidden;
    transition: transform .6s ease;
    position: relative
}

.top_hournal_ph > div:after {
    content: "";
    display: block;
    position: absolute;
    box-sizing: border-box;
    inset: 0;
    border: solid 1px rgba(0,0,0,.1)
}

.top_products > .inner { width: 90.76%; margin: 240px auto 0; }
.top_products_body { margin: 80px 0 0 8.48%; }
.top_products_cat { padding-top: 80px; border-top: 1px solid #D9D9D9; }
.top_products_cat + .top_products_cat { margin-top: 80px; }
.top_products_ttl { display: flex; align-items: baseline; }
.top_products_ttl .ico { line-height: 1.5;}
.top_products_ttl .hd { font-size: 2.8rem; color: #0D5096; margin-left: 10px; }
.top_products_ttl .ttl { font-size: 1.8rem; margin-left: 8px; }
.top_products_read { margin-top: 18px;}
.top_products_list { display: flex; margin-top: 47px; }
.top_products_item { width: 31.48%; border: 1px solid #D9D9D9; box-sizing: border-box; }
.top_products_item + .top_products_item { margin-left: 2.78%; }
.top_products_ph { border-bottom: 1px solid #D9D9D9; }
.top_products_ph > div { padding-bottom: 66.66%; position: relative; }
.top_products_ph > div img { width: 100%; height: 100%; object-fit: cover; position: absolute; }
.top_products_dis { padding: 24px; border-top: none; }
.products_name { font-size: 1.5rem; font-weight: 700; }

.top_products_message { display: flex; align-items: center; margin-top: 80px; background: url("../img/top_challenge_bg.jpg") no-repeat center / cover; position: relative; }
.message_ph { width: 33.33%; min-width: 400px; }
.message_txt { width: 66.67%; padding: 0 4.44%; }
.message_txt .ttl { font-size: 2.8rem; color: #fff; line-height: 1.28; margin-bottom: 30px;}
.message_txt p { font-size: 1.5rem; color: #fff;}
.message_txt .hd { font-size: 6.4rem; color: #fff; line-height: 0.5; position: absolute; right: 0; bottom: 0; opacity: 0.2;}

.top_access > .inner { width: 90.76%; margin: 240px auto 0; }
.top_access_body { margin: 80px 0 0 8.48%; }
.top_access_map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 37.03%; /* 比率を4:3に固定 */
}
.top_access_map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.top_access_info { display: flex; justify-content: space-between; }
.info_shop { width: 50%; margin-top: 48px; }
.info_shop_ttl { display: flex; align-items: baseline; margin-bottom: 15px; }
.info_shop_ttl .ico { line-height: 1.5;}
.info_shop_ttl .hd { font-size: 2.8rem; color: #0D5096; margin-left: 10px; }
.info_shop_ttl .ttl { font-size: 1.4rem; color: #0D5096; }
.info_shop_data { display: flex; flex-wrap: wrap; font-size: 1.5rem; border-top: 1px solid #D9D9D9; margin-top: 24px; }
.info_shop_data dt { width: 5em; border-bottom: 1px solid #D9D9D9; padding: 16px 0; font-weight: 700; position: relative; }
.info_shop_data dt:after { display: inline-block; content: "："; position: absolute; right: 0; }
.info_shop_data dd { width: calc(100% - 5em); border-bottom: 1px solid #D9D9D9; padding: 16px 0 16px 10px; box-sizing: border-box; }
.list_notes { margin-top: 20px;}
.list_notes li { font-size: 1.2rem; line-height: 1.66; padding-left: 1em; position: relative; }
.list_notes li:before { content: "※"; position: absolute; left: 0; }
.list_notes li + li { margin-top: 8px; }

.info_address_box { width: 44.44%; padding: 105px 40px 0; background: #E9EDF1; box-sizing: border-box; }
.info_address .address { font-size: 1.8rem; font-weight: 700; line-height: 1.55; }
.info_address_data { display: flex; flex-wrap: wrap; margin: 24px 0 40px; font-size: 1.5rem; }
.info_address_data dt { width: 3em; font-weight: 700; position: relative;}
.info_address_data dt:after { display: inline-block; content: "："; position: absolute; right: 0; }
.info_address_data dd { width: calc(100% - 3em); padding-left: 10px; box-sizing: border-box; }

.top_contact { background: #0D5096; margin-top: 240px; padding: 160px 0; position: relative; }
.news_recommend + .top_contact { margin-top: 0; }
.top_contact > .inner { display: flex; width: 90.76%; margin: 0 auto; }
.top_contact_hdbox { width: 30.00%; }
.top_contact_txt { width: 66.27%; }
.top_contact_ico { position: absolute; right: 0.92%; top: 0; height: 100%; }
.top_contact * { color: #fff;}

footer { width: 90.76%; margin: 40px auto; display: flex; justify-content: space-between; }
.footer_company .hd { font-size: 1.5rem; color: #0D5096; }
.footer_company .name { font-size: 1.5rem; }
.footer_company .company_name { display: inline-block; margin-right: 1em; }
.footer_company address { display: inline-block; }
.footer_sns { min-width: 501px; }
.footer_sns_box { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: flex-end; }
.footer_sns_txt { font-size: 1.3rem; margin-right: 24px; padding-right: 24px;
background-size: 1px 3px;
background-image: linear-gradient(to bottom, #8f8f91 1px, transparent 1px, transparent 3px);
background-repeat: repeat-y;
background-position: top right; }
.footer_copyrights { margin-top: 80px; font-size: 1.2rem; width: 100%; text-align: right; }
.footer_sns_list { display: flex; }
.footer_sns_list li { width: 23px; }
.footer_sns_list li + li { margin-left: 20px; }

@media screen and (max-width: 1023px) {
    
    main { margin-top: 69px; }
    
    .top_about { padding-top: 40px; }
    
    .header_news { border-top: 1px solid #D9D9D9; padding: 8px 0 8px 2.46%; }
    .header_news_list { width: 100%; height: 20px; overflow: hidden; }
    .header_news .inner { display: flex; justify-content: flex-start; align-items: center; }
    .header_news .post { display: flex; justify-content: flex-start; align-items: center; height: 20px!important; }
    .header_news .hd { display: none; }
    

    .header_news .date { min-width: 75px; margin-right: 0; font-size: 1.2rem; color: #9CA5AF; }
    .header_news .ttl { font-size: 1.2rem; width: 100%; }
    .header_news .arrow { display: none }

.top_main_ph { position: relative; }
.top_main_ph .ph_item > div { width: 100%; height: 100vw; }
.top_main_ph .ph_item img { width: 100%; height: 100vh; object-fit: cover; }
    .top_main_slide { display: block; }
    .top_main_ph { display: none; }
    
    .top_main_txtsp { width: 100%; height: 100vh; mix-blend-mode: difference; position: absolute; bottom: 30px; z-index: 10; pointer-events: none; }
    .top_main_txtsp > div { display: flex; position: absolute; bottom: 0; -webkit-transform: translateY(50%); transform: translateY(50%); }
    .top_main_txtsp svg { width: 1194px; -webkit-transition: opacity 1.0s cubic-bezier(.16,1,.3,1); transition: opacity 1.0s cubic-bezier(.16,1,.3,1); }
    .top_main_txtsp .txtColor { fill: #fff; }
    
    .top_main_slide img { width: 100%; }
    .top_main_slide .swiper-pagination { text-align: right; padding-right: 4.10%; box-sizing: border-box; }
    .top_main_slide .swiper-horizontal>.swiper-pagination-bullets,
    .top_main_slide .swiper-pagination-bullets.swiper-pagination-horizontal,
    .top_main_slide .swiper-pagination-custom,
    .top_main_slide .swiper-pagination-fraction {
      bottom: -18px;
    }

    /* 直線のプログレスバー */
    .top_main_slide .swiper-pagination-bullet {
      position: relative;
      width: 24px;
      height: 1px;
      border-radius: 0;
      background-color: #ccc;
      opacity: 1;
    }
    .top_main_slide .swiper-pagination-bullet::before {
      content: "";
      position: absolute;
      display: block;
      top: 0;
      left: 0;
      width: 0;
      height: 100%;
      background-color: #0D5096;
    }
    .top_main_slide .swiper-pagination-bullet-active::before {
      animation: paginationActive 3s linear forwards;
    }
    
    .top_main_scroll { display: none; }
    
    .top_about_txt { width: 87.69%; margin: 0 auto; }
    .top_about_txt .copy { font-size: 3.6rem; font-weight: 600; line-height: 1.33; letter-spacing: 0; margin-top: 0; }
    .top_about_txt .read { margin: 24px 0; font-size: 1.5rem; font-weight: 600; line-height: 1.77; } 
    
    .top_about_ph { margin-top: 120px;}
    .top_about_ph img { width: 100%; }
    .top_about_phset01 { display: flex; justify-content: space-between; width: 100%; margin-top: 0.26%; }
    .top_about_phset02 { display: flex; flex-direction: column; justify-content: space-between; width: 49.74%; }
    
    .top_about_ph .ph01 { width: auto; }
    .top_about_ph .ph02 { width: auto; margin-top: 0; }
    .top_about_ph .ph03 { width: auto; }
    .top_about_ph .ph04 { width: 50%; margin-top: 0; }
    .top_about_ph .ph05 { width: 27.94%; margin-top: 0; }
    .top_about_ph .ph06 { width: 71.79%; }

.common_link_btn a { display: inline-block; padding: 10px 20px; }
.common_link_btn:not(._bdno):not(._readmore) a { border: 1px solid #0D5096; }
.common_link_btn:not(._dtno):not(._readmore) a .txt { font-size: 1.3rem; color: #0D5096; line-height: 1; margin-right: 17px; padding-right: 17px;
background-size: 1px 3px;
background-image: linear-gradient(to bottom, #8f8f91 1px, transparent 1px, transparent 3px);
background-repeat: repeat-y;
background-position: top right; }
.common_link_btn a .ico { line-height: 0; }
.common_link_btn a .ico img { vertical-align: middle; margin-bottom: 3px; }
.common_link_btn + .common_link_btn { margin-top: 16px; }

.common_link_btn._bdno { margin-top: 30px; text-align: right; }
.common_link_btn._bdno a .txt { font-size: 1.6rem; color: #23384E; margin-right: 24px; padding-right: 24px; }
    .top_news .common_link_btn._bdno { margin-top: 14px; padding-bottom: 14px; border-bottom: 1px solid #0D5096; }
    .top_hournal .common_link_btn._bdno { margin: -50px 4.61% 0 0; }
.top_hournal .common_link_btn._bdno a { padding: 10px 0; border-bottom: 2px solid #0D5096; }

    .top_products .common_link_btn._bdno { margin-top: 30px; }
.top_products .common_link_btn._bdno a { padding: 10px 0; border-bottom: 2px solid #0D5096; }
    
.top_contact .common_link_btn { margin-top: 28px;}
.top_contact .common_link_btn a { background: #fff; }
    .footer_company .common_link_btn { margin-top: 24px; text-align: center;}

    .common_link_btn._readmore { padding: 14px 0; border-bottom: 1px solid #0D5096; text-align: center; }
.common_link_btn._readmore > div .txt { font-size: 1.6rem; color: #23384E; margin-right: 8px; }
.common_link_btn._readmore > div .ico_plus { width: 13px; height: 13px; position: relative; }
.common_link_btn._readmore > div .ico_plus:before { content: ""; display: block; width: 13px; height: 1px; background: #23384E; position: absolute; left: 0; top: 6px; }
.common_link_btn._readmore > div .ico_plus:after { content: ""; display: block; width: 1px; height: 13px; background: #23384E; position: absolute; left: 6px; top: 0; }

    .top_common_hd { font-size: 3.6rem; color: #0D5096; line-height: 1; }
    .top_common_ttl { font-size: 1.6rem; font-weight: 600; line-height: 1.5; }

    .top_news { margin-top: 120px; position: relative; }
    .top_news._archive { margin-top: 40px; }
    .top_news > .inner { width: 87.69%; margin: 0 auto; display: block; justify-content: space-between; }
    .top_news_function { width: auto; }
    .top_news_list { width: auto; }
.top_news .top_common_head { position: absolute; top: 0; width: 100%; }
.top_news_head { position: relative; }
    .top_news_catlist { display: flex; flex-wrap: wrap; font-size: 1.2rem; margin-top: 40px; }
    .top_news_catlist li { line-height: 1.5; margin-right: 16px; }
.top_news_catlist li:not(.index) { color: #9CA5AF; }

    .top_news_list { width: 107.01%; border-top: 1px solid #D9D9D9; margin-top: 24px; }
    .top_news_item { display: block; min-height: 60px; padding: 24px 7.01% 24px 106px; border-bottom: 1px solid #D9D9D9; position: relative; }
    .top_news_item p.disc { display: none; }
    .top_news_item .meta { display: flex; min-width: auto; }
    .top_news_item .date { font-size: 1.8rem; line-height: 1.0; color: #9CA5AF; }
    .top_news_item .cat { font-size: 1.2rem; line-height: 1.5; color: #9CA5AF; margin-left: 8px; }
    .top_news_item .ttl_wrapper { flex-grow: 2; margin-left: 0; font-size: 1.3rem; font-weight: 600; line-height: 1.87; margin-top: 8px; }
    .top_news_item .thumb { width: 90px; min-width: 90px; margin-left: 0; position: absolute; top: 24px; left: 0; }

    .top_bandg > .inner { width: 87.69%; margin: 120px auto 0; }
    .top_bandg_body { margin: 40px 0 0 7.01%; }
    .top_bandg_item { display: block; margin-top: 40px; }
    .top_bandg_ph { width: 107.54%; margin-bottom: 20px; }
    .top_bandg_txt { width: auto; }
    .top_bandg_txt .head { display: flex; flex-wrap: wrap; align-items: baseline; margin: 24px 0 20px; }
    .top_bandg_txt .ttl { font-size: 3.2rem; line-height: 1; }
    .top_bandg_txt .hd { margin-left: 16px; font-size: 1.8rem; color: #0D5096; line-height: 1; }

    .top_hournal { background: #A8B5BF; margin-top: 120px; padding: 80px 0; }
.top_hournal > .inner { width: auto; margin: 0; }
    .top_hournal .top_common_hdbox { margin-left: 6.15%; }
.top_hournal .top_common_hd,
.top_hournal .top_common_ttl { color: #fff; }
    .top_hournal_body { width: 83.07%; margin: 40px 0 0 12.30%; }
.top_hournal_item { padding: 0 24px 80px 0; box-sizing: border-box; position: relative; }
.top_hournal_ph > div { padding-bottom: 66.66%; position: relative; }
.top_hournal_ph > div img { width: 100%; height: 100%; object-fit: cover; position: absolute; }
.top_hournal_txt .ttl { font-size: 1.6rem; line-height: 1.87; margin-top: 24px; }
.top_hournal_txt .meta { display: flex; align-items: baseline; position: absolute; bottom: 0;  width: calc(100% - 40px); padding-top: 16px; border-top: 1px solid #8D99A5; }
.top_hournal_txt .date { font-size: 2.0rem; color: #fff; }
.top_hournal_txt .cat { font-size: 1.2rem; color: #fff; margin-left: 16px; }
    .top_hournal_list .swiper-button { display: flex; justify-content: space-between; position: relative; width: 108px; margin-top: 50px; }
    .news_recommend .top_hournal_list .swiper-button { width: 100%; justify-content: flex-end; }
    .news_recommend .top_hournal_list .swiper-button-prev { margin-right: 8px; }

    .top_products > .inner { width: 87.69%; margin: 120px auto 0; }
    .top_products_body { margin: 40px 0 0 7.01%; }
    .top_products_cat { padding-top: 40px; border-top: 1px solid #D9D9D9; }
    .top_products_cat + .top_products_cat { margin-top: 40px; }
    .top_products_ttl { display: block; position: relative; }
    .top_products_ttl .ico { width: 18px; line-height: 1.5; position: absolute; left: 0; top: 0;}
    .top_products_ttl .hd { font-size: 2.8rem; color: #0D5096; margin-left: 10px; margin-left: 28px; line-height: 1; }
    .top_products_ttl .ttl { font-size: 1.8rem; margin-left: 28px; line-height: 1.5; }
    .top_products_read { margin-top: 24px;}
    .top_products_list { display: block; margin-top: 40px; }
    .top_products_item { display: block; width: auto; margin-top: 24px; margin-left: 0!important; border: 1px solid #D9D9D9; }
.top_products_dis { padding: 24px; border-top: none; }
.products_name { font-size: 1.5rem; font-weight: 700; }

    .top_products_message { width: 122.77%; display: block; align-items: center; margin: 80px 0 0 -15.06%; background: url("../img/top_challenge_bg.jpg") no-repeat center / cover; position: relative; }
    .message_ph { width: auto; min-width: auto; }
    .message_ph img { width: 100%; }
    .message_txt { width: auto; padding: 45px 6.15% 69px; }
    .message_txt .ttl { font-size: 2.8rem; color: #fff; line-height: 1.28; margin-bottom: 30px;}
.message_txt p { font-size: 1.5rem; color: #fff;}
    .message_txt .hd { font-size: 4.0rem; white-space: normal; color: #fff; line-height: 0.5; position: absolute; right: 0; bottom: 0; opacity: 0.2;}

    .top_access > .inner { width: 87.69%; margin: 120px auto 0; }
    .top_access_body { margin: 40px 0 0 7.01%; }
    .top_access_map {
      position: relative;
      width: auto;
      height: 0;
      padding-top: 87.71%; /* 比率を4:3に固定 */
    }
.top_access_map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
    .top_access_info { display: block; }
    .info_shop { width: auto; margin-top: 48px; }
    .info_shop_ttl { display: block; margin-bottom: 15px; position: relative; }
    .info_shop_ttl .ico { width: 18px; line-height: 1.5; position: absolute; left: 0; top: 0;}
    .info_shop_ttl .hd { font-size: 2.8rem; line-height: 1; color: #0D5096; margin-left: 28px; }
    .info_shop_ttl .ttl { font-size: 1.4rem; line-height: 1.5; color: #0D5096; margin-left: 28px; }
.info_shop_data { display: flex; flex-wrap: wrap; font-size: 1.5rem; border-top: 1px solid #D9D9D9; margin-top: 24px; }
.info_shop_data dt { width: 5em; border-bottom: 1px solid #D9D9D9; padding: 16px 0; font-weight: 700; position: relative; }
.info_shop_data dt:after { display: inline-block; content: "："; position: absolute; right: 0; }
.info_shop_data dd { width: calc(100% - 5em); border-bottom: 1px solid #D9D9D9; padding: 16px 0 16px 10px; box-sizing: border-box; }
.list_notes { margin-top: 20px;}
.list_notes li { font-size: 1.2rem; line-height: 1.66; padding-left: 1em; position: relative; }
.list_notes li:before { content: "※"; position: absolute; left: 0; }
.list_notes li + li { margin-top: 8px; }

    .info_address_box { width: auto; margin-top: 40px; padding: 40px 20px; background: #E9EDF1; box-sizing: border-box; }
.info_address .address { font-size: 1.8rem; font-weight: 700; }
.info_address_data { display: flex; flex-wrap: wrap; margin: 24px 0 40px; font-size: 1.5rem; }
.info_address_data dt { width: 3em; font-weight: 700; position: relative;}
.info_address_data dt:after { display: inline-block; content: "："; position: absolute; right: 0; }
.info_address_data dd { width: calc(100% - 3em); padding-left: 10px; box-sizing: border-box; }

    .top_contact { background: #0D5096; margin-top: 120px; padding: 80px 0; position: relative; overflow: hidden; }
    .top_contact > .inner { display: block; width: 87.69%; margin: 0 auto; }
    .top_contact_hdbox { width: auto; }
    .top_contact_txt { width: auto; margin: 40px 0 0 7.01%; }
    .top_contact_ico { position: absolute; right: -2.56%; top: auto; bottom: 0;  width: 70.51%; height: auto; }
.top_contact * { color: #fff;}

    footer { width: 87.69%; margin: 40px auto; display: flex; flex-direction: column; }
    .footer_company { order: 2; margin-top: 40px; }
    .footer_company .hd { font-size: 1.5rem; color: #0D5096; text-align: center; }
    .footer_company .name { font-size: 1.5rem; text-align: center; }
    .footer_company .company_name { display: inline-block; margin-right: 0; text-align: center; }
    .footer_company address { display: block; }
    .footer_sns { min-width: auto; }
    .footer_sns_box { display: block; }
    .footer_sns_txt { font-size: 1.3rem; line-height: 1.5; text-align: center; margin-right: 0; padding-right: 0; background: none; }
    .footer_copyrights { margin-top: 40px; font-size: 1.2rem; width: 100%; text-align: center; order: 3; }
    .footer_sns { order: 1; }
    .footer_sns_list { display: flex; justify-content: center; margin-top: 24px; }
.footer_sns_list li { width: 23px; }
.footer_sns_list li + li { margin-left: 20px; }
}

/*archive*/
.page_ttl { width: 90.76%; margin: 120px auto 0; }

@media screen and (max-width: 1023px) {
    .page_ttl { width: 87.69%; margin: 106px auto 0; }
}

/*single*/
.single_news { width: 61.53%; margin: 0 auto; }
.single_news_meta { display: flex; align-items: baseline; margin-top: 120px; }
.single_news_meta .date { font-size: 2.0rem; color: #9CA5AF; }
.single_news_meta .cat { font-size: 1.2rem; color: #9CA5AF; margin-left: 16px; }
.single_news_ttl { font-size: 2.4rem; font-weight: 600; line-height: 1.5; margin-bottom: 40px; padding: 20px 0; border-bottom: 1px solid #0D5096 } 

.single_news_body { font-size: 1.5rem; font-family: "Noto Sans JP", sans-serif; }
.single_news_body > * + * { margin-top: 40px; }
.single_news_body h2 { margin-top: 120px; padding-top: 40px; font-size: 2.2rem; font-family: "Shippori Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; font-weight: 600; line-height: 1.5; border-top: 1px solid #D9D9D9; position: relative; }
.single_news_body h2:before { content: ""; display: block; width: 16px; height: 1px; background: #0D5096; position: absolute; top: -1px; left: 0; }
.single_news_body h3 { margin-top: 48px; padding: 8px 9px; font-size: 1.8rem; font-family: "Shippori Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; color: #fff; font-weight: 600; line-height: 1.5; background: #A8B5BF; }
.single_news_body h3 + * { margin-top: 20px; }
.single_news_body h4 { margin-top: 48px; font-size: 1.5rem; font-weight: 700; line-height: 1.5; }
.single_news_body h4 + * { margin-top: 20px; }

.wp-block-anchorlink { padding: 30px 40px; border: 1px solid #D9D9D9; }
.wp-block-anchorlink dt { font-size: 1.8rem; font-family: "drummond-variable",sans-serif; font-variation-settings: 'wght' 400; }
.wp-block-anchorlink__list { margin-top: 20px; }
.wp-block-anchorlink__list li { margin-left: 1.2em; font-size: 1.6rem; font-family: "Shippori Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; font-weight: 600; line-height: 1.5; list-style-type: decimal; }
.wp-block-anchorlink__list li::marker { color: #9CA5AF; font-family: "Shippori Mincho", serif; }

.wp-block-twocol { display: flex; justify-content: space-between; }
.wp-block-twocol .wp-block-col { width: 47.50%; }

.single_news_body > ol li { margin-left: 1.2em; font-size: 1.6rem; line-height: 1.5; list-style-type: decimal; }
.single_news_body > ol li::marker { color: #9CA5AF; font-family: "Shippori Mincho", serif; }
.single_news_body > ul li { padding-left: 1.2em; font-size: 1.6rem; line-height: 1.5; position: relative; }
.single_news_body > ul li:before { content: ""; position: absolute; left: 0; top: 10px; width: 4px; height: 4px; border-radius: 50%; background: #9CA5AF; }
.single_news_body > ol li + li,
.single_news_body > ul li + li { margin-top: 10px; }

.single_news_body .box { padding: 30px 40px; border: 1px solid #D9D9D9; }
.single_news_body .box .hd { font-size: 1.8rem; }
.single_news_body .box ol { margin-top: 26px; }
.single_news_body .box ol li { margin-left: 1.2em; font-size: 1.6rem; font-weight: 600; line-height: 1.5; list-style-type: decimal; }
.single_news_body .box ol li::marker { color: #9CA5AF; }
.single_news_body .box ol li + li { margin-top: 10px; }

.single_news_body > blockquote { background: #E9EDF1; padding: 40px; position: relative; }
.single_news_body > blockquote:before { content: "“"; font-size: 3.2rem; color: #9CA5AF; line-height: 1.0; font-family: "Shippori Mincho", serif; position: absolute; left: 15px; top: 15px; }
.single_news_body > blockquote:after { content: "”"; font-size: 3.2rem; color: #9CA5AF; line-height: 1.0; font-family: "Shippori Mincho", serif; position: absolute; right: 15px; bottom: 5px; }
.single_news_body > blockquote * + * { margin-top: 40px; }

.single_news_body table { width: 100%; }
.single_news_body .is-style-left-head table td:first-child,
.single_news_body .is-style-left-head table th:first-child { width: 25%; font-weight: 700; line-height: 1.5; border-top: 1px solid #23384E; padding: 30px 0; }
.single_news_body table td,
.single_news_body table th { line-height: 1.5; border-top: 1px solid #D9D9D9; padding: 30px 0 30px 40px; }

.share_list { display: flex; justify-content: flex-end; align-items: baseline; }
.share_list .hd { font-size: 1.4rem; line-height: 1; margin-top: 2px; }
.share_list a { display: block; }
.share_list .ico { width: 24px; height: 24px; line-height: 1.5; margin-left: 16px; }

.page_nav { padding-top: 30px; border-top: 1px solid #D9D9D9; position: relative; }
.page_nav a { text-decoration: none!important; font-weight: 600; }
.page_nav a[rel=prev] { font-size: 1.6rem; position: absolute; left: 0; top: 30px; display: flex; align-items: center; }
.page_nav a[rel=next] { font-size: 1.6rem; position: absolute; right: 0; top: 30px; display: flex; align-items: center; }
.page_nav .index { font-size: 1.6rem; text-align: center; }
.page_nav .ico { line-height: 0; }
.page_nav a[rel=prev] .ico { margin-right: 16px; -webkit-transform: scale(-1, 1); transform: scale(-1, 1); }
.page_nav a[rel=next] .ico { margin-left: 16px; }

.news_recommend { background: #E9EDF1; margin-top: 240px; padding: 160px 0; }
.news_recommend_hd{ font-size: 2.8rem; font-weight: 600; margin: 0 0 0 12.30%; }
.news_recommend_hd + .top_hournal_body { margin-top: 60px; }

@media screen and (max-width: 1023px) {
    .single_news { width: 87.69%; margin: 0 auto; }
.single_news_meta { display: flex; align-items: baseline; margin-top: 120px; }
.single_news_meta .date { font-size: 2.0rem; color: #9CA5AF; }
.single_news_meta .cat { font-size: 1.2rem; color: #9CA5AF; margin-left: 16px; }
    .single_news_ttl { font-size: 2.0rem; font-weight: 600; line-height: 1.5; margin-bottom: 30px; padding: 6px 0 20px; border-bottom: 1px solid #0D5096 } 

.single_news_body { font-size: 1.5rem; font-family: "Noto Sans JP", sans-serif; }
    .single_news_body > * + * { margin-top: 30px; }
    .single_news_body h2 { margin-top: 80px; padding-top: 40px; font-size: 2.2rem; font-weight: 600; line-height: 1.5; border-top: 1px solid #D9D9D9; position: relative; }
.single_news_body h2:before { content: ""; display: block; width: 16px; height: 1px; background: #0D5096; position: absolute; top: -1px; left: 0; }
.single_news_body h3 { margin-top: 48px; padding: 8px 9px; font-size: 1.8rem; color: #fff; font-weight: 600; line-height: 1.5; background: #A8B5BF; }
.single_news_body h3 + * { margin-top: 20px; }
.single_news_body h4 { margin-top: 48px; font-size: 1.5rem; font-weight: 700; line-height: 1.5; }
.single_news_body h4 + * { margin-top: 20px; }

.single_news_body > ol li { margin-left: 1.2em; font-size: 1.6rem; line-height: 1.5; list-style-type: decimal; }
.single_news_body > ol li::marker { color: #9CA5AF; font-family: "Shippori Mincho", serif; }
    .single_news_body > ul li { padding-left: 1.2em; font-size: 1.6rem; line-height: 1.5; position: relative; }
.single_news_body > ul li:before { content: ""; position: absolute; left: 0; top: 10px; width: 4px; height: 4px; border-radius: 50%; background: #9CA5AF; }
.single_news_body > ol li + li,
.single_news_body > ul li + li { margin-top: 10px; }

.single_news_body .box { padding: 30px 40px; border: 1px solid #D9D9D9; }
.single_news_body .box .hd { font-size: 1.8rem; }
.single_news_body .box ol { margin-top: 26px; }
.single_news_body .box ol li { margin-left: 1.2em; font-size: 1.6rem; font-weight: 600; line-height: 1.5; list-style-type: decimal; }
.single_news_body .box ol li::marker { color: #9CA5AF; }
.single_news_body .box ol li + li { margin-top: 10px; }

.single_news_body > blockquote { background: #E9EDF1; padding: 40px; position: relative; }
.single_news_body > blockquote:before { content: "“"; font-size: 3.2rem; color: #9CA5AF; line-height: 1.0; font-family: "Shippori Mincho", serif; position: absolute; left: 15px; top: 15px; }
.single_news_body > blockquote:after { content: "”"; font-size: 3.2rem; color: #9CA5AF; line-height: 1.0; font-family: "Shippori Mincho", serif; position: absolute; right: 15px; bottom: 5px; }
.single_news_body > blockquote > * + * { margin-top: 40px; }

.single_news_body table { width: 100%; }
    .wp-block-table--scroll { overflow-x: scroll; }
    .single_news_body .wp-block-table--scroll table { min-width: 600px; }
.single_news_body table th { width: 35%; font-weight: 700; line-height: 1.5; border-top: 1px solid #23384E; padding: 30px 0; }
.single_news_body table td { line-height: 1.5; border-top: 1px solid #D9D9D9; padding: 30px 0 30px 40px; }

.share_list { display: flex; justify-content: flex-end; align-items: baseline; }
.share_list .hd { font-size: 1.4rem; line-height: 1; }
.share_list .ico { width: 24px; line-height: 1; margin-left: 16px; }

.page_nav { padding-top: 30px; border-top: 1px solid #D9D9D9; position: relative; }
.page_nav .prev { font-size: 1.6rem; position: absolute; left: 0; top: 30px; display: flex; align-items: center; }
.page_nav .next { font-size: 1.6rem; position: absolute; right: 0; top: 30px; display: flex; align-items: center; }
.page_nav .index { font-size: 1.6rem; text-align: center; }
.page_nav .ico { line-height: 0; }
.page_nav .prev .ico { margin-right: 16px; -webkit-transform: scale(-1, 1); transform: scale(-1, 1); }
.page_nav .next .ico { margin-left: 16px; }

    .news_recommend { background: #E9EDF1; margin-top: 80px; padding: 80px 0; }
.news_recommend_hd{ font-size: 2.8rem; font-weight: 600; margin: 0 0 0 12.30%; }
.news_recommend_hd + .top_hournal_body { margin-top: 60px; }
    
}

/*link*/
.link_txt,
.single_news_body a { text-decoration: underline; }

@media (hover: hover) and (pointer: fine) {
    
    .common_link_btn:not(._bdno):not(._readmore) a:hover { background: #0D5096; }
    .common_link_btn:not(._bdno):not(._readmore) a:hover .txt { color: #fff; }
    .common_link_btn:not(._bdno) a:hover path { fill: #fff; }
    .top_contact .common_link_btn:not(._bdno):not(._readmore) a:hover { background: #0D5096; }
    .common_link_btn a:hover svg,
    .header_news a:hover svg { -webkit-animation: link_hover_animation 1.1s ease 0s;
        animation: link_hover_animation 1.1s ease 0s;
        -webkit-animation-iteration-count: 1;
        animation-iteration-count: 1;
        -webkit-animation-direction: normal;
        animation-direction: normal;
    }
    
    .top_news_item:hover .ttl {
        background-size:100% 100%;
        background-position: left bottom
    }
    .top_hournal_ph img {
        display: block;
        transform: scale(1);
        transition: transform .6s ease
    }

    .top_hournal_item:hover .top_hournal_ph {
        transform:scale(0.95)
    }
    .top_hournal_item:hover .top_hournal_ph img {
        transform: scale(1.1)
    }
    
    .link_txt:hover,
    .single_news_body a:hover { text-decoration: none; }

    .main_nav a { -webkit-transition: color 0.8s cubic-bezier(.16,1,.3,1); transition: color 0.8s cubic-bezier(.16,1,.3,1); }
    .main_nav a:hover {  color: #9CA5AF; }
    
    .header_cart { -webkit-transition: background 1.2s cubic-bezier(.16,1,.3,1); transition: background 1.2s cubic-bezier(.16,1,.3,1); }
    .header_cart:hover { background: #23384E; }

    .top_service_list a .ph > img,
    .top_global_list a .ph img,
    .top_works_list a .ph img { -webkit-transition: transform 1.0s cubic-bezier(.16,1,.3,1); transition: transform 1.0s cubic-bezier(.16,1,.3,1); -webkit-transform-origin: center; transform-origin: center; }
    .top_service_list a:hover .ph > img,
    .top_global_list a:hover .ph img,
    .top_works_list a:hover .ph img  { -webkit-transform: scale(1.07); transform: scale(1.07); }
    
    .top_hournal_list .swiper-button > div { -webkit-transition: background 1.0s cubic-bezier(.16,1,.3,1); transition: background 1.0s cubic-bezier(.16,1,.3,1); }
    .top_hournal_list .swiper-button > div path { -webkit-transition: fill 1.0s cubic-bezier(.16,1,.3,1); transition: fill 1.0s cubic-bezier(.16,1,.3,1); }
    .top_hournal_list .swiper-button > div:hover { background: #23384E; }
    .top_hournal_list .swiper-button > div:hover path { fill: #fff; }
    
}