@charset "utf-8";

/*
 * style.css
 *
 *  version --- 1.0
 *  updated --- 2017/11/30
 */

/* !HTML5 elements
---------------------------------------------------------- */
header, 
footer, 
nav, 
section, 
aside, 
article {
    display: block;
}

/* !Reseting
---------------------------------------------------------- */
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,
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 {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

fieldset {
  border: none;
}

ul,
ol,
li {
	list-style: none;
}

img {
	max-width: 100%;
    height: auto;
	vertical-align: top;
}

table {
	border-collapse: collapse;
}

button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

select::-ms-expand {
	display: none;
}

input[type=radio]::-ms-check,
input[type=checkbox]::-ms-check{
	display: none;
}

select,
input[type=radio],
input[type=checkbox],
input[type=text],
input[type=search],
input[type=password],
input[type=email],
input[type=tel],
input[type=number],
input[type=reset],
input[type=button],
input[type=submit],
textarea {
	appearance: none;
	border-radius: 0;
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

input[type=text]::-ms-clear,
input[type=search]::-ms-clear,
input[type=tel]::-ms-clear,
input[type=number]::-ms-clear{
	display: none;
}

input[type=reset],
input[type=button],
input[type=submit]  {
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	cursor: pointer;
}

input::-webkit-input-placeholder, 
textarea::-webkit-input-placeholder { 
    color: #949494; 
} 
input:-moz-placeholder, 
textarea:-moz-placeholder { 
    color: #949494; 
} 
input::-moz-placeholder, 
textarea::-moz-placeholder { 
    color: #949494; 
} 
input:-ms-input-placeholder, 
textarea:-ms-input-placeholder { 
    color: #949494; 
}

input:-webkit-autofill {
    box-shadow: 0 0 0 100rem rgb(54, 54, 54) inset !important;
    -webkit-text-fill-color: #fff !important;
}

input:-webkit-autofill:focus {
    caret-color: #fff !important;
}

*,
*:before,
*::after {
	box-sizing: border-box;
}
/* !Clearfix
---------------------------------------------------------- */
.clearfix {
    display: block;
    min-height: 1%;
}

.clearfix:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}

* html .clearfix {
    height: 1%;
}


/*** 非スマホ 751px ~ ***/
@media screen and (min-width: 768px) {
    .is-sp {
        display: none;
    }
}

/*** スマホ 320px ~ 767px***/
@media only screen and (max-width : 767px){
    .is-pc {
        display: none;
    }
}

/* !Layout
---------------------------------------------------------- */
html {
    overflow-y: scroll;
    font-size: 62.5%;
}

/*** タブレット 768x ~ 1200px***/
@media screen and (min-width: 768px) and (max-width: 1240px) {
    html {
        font-size: calc(100vw / 124);
    }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    html {
        font-size: 62.5%;
    }
}

body {
    font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-size: 1.6rem;
    -webkit-text-size-adjust: none;
    line-height: 1.5;
    font-weight: normal;
    color: #fff;
    background: #131316;
    -webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* !Base Fonts -------------------------------------------------------------- */
a {
    color: #fff;
    text-decoration: none;
}

/*** hover ***/
@media screen and (min-width: 768px) {
    a {
        transition: all 0.5s;
    }

    a:hover {
        text-decoration: none;
        opacity: .7;
    }

    a[href^="tel:"] {
        cursor: default;
        pointer-events:none;
    }
}

.is-hide {
    display: none;
}

.underline {
    text-decoration: underline;
}

/* !wrapper
---------------------------------------------------------- */
#wrapper {
    width: 100%;
    padding-top: 8.8rem;
    word-break: break-word;
    position: relative;
}

#wrapper:before {
    width: 100%;
    background: url(../img/common/bg_body.jpg) center top no-repeat;
    background-size: cover;
    position: fixed;
    left: 0;
    top: 0;
    height: 100%;
    z-index: -1;
    content: '';

}

/*** スマホ 320px ~ 767px***/
@media only screen and (max-width : 767px){
    #wrapper {
        padding-top: 6.4rem;
    }
}


/* !header
---------------------------------------------------------- */
#header {
    width: 100%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 9999;
    background: #131316;
    box-shadow: 0 .4rem 2rem 0 rgba(0, 0, 0, 0.25);
}

.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2.2rem 4rem;
}

.header-logo a {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    font-size: 1.4rem;
    line-height: 1.35;
    font-weight: 500;
}

.header-logo a img {
    width: 11rem;
}

.header-search {
    width: 30rem;
    position: relative;
}

.header-search input[type=search] {
    width: 100%;
    height: 4.4rem;
    border: 0;
    border-radius: .4rem;
    background: #363636;
    padding: 0 2.4rem 0 4.8rem;
    color: #fff;
    font-size: 1.4rem;
    line-height: 1.5;
    outline: none;
}

.header-search input[type=submit] {
    width: 2.4rem;
    height: 2.4rem;
    position: absolute;
    left: 1.6rem;
    top: 1rem;
    border: 0;
    border-radius: 0;
    background: url(../img/common/icon_search.svg) center center no-repeat;
    background-size: 2.4rem auto;
    display: block;
    text-indent: -999rem;
    overflow: hidden;
}

.btn-menu,
.overlay {
    display: none;
}

/*** hover ***/
@media screen and (min-width: 768px) {}

/*** スマホ 320px ~ 767px***/
@media only screen and (max-width : 767px){
    #header {
        box-shadow: unset;
    }

    .header-inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 1.6rem;
    }

    .header-logo a {
        gap: 1rem;
        font-size: 1rem;
    }

    .header-logo a img {
        width: 8rem;
    }

    .btn-menu {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        width: 6rem;
        height: 100%;
        margin-right: -1.6rem;
        cursor: pointer;
        gap: .4rem;
    }

    .btn-menu .line {
        width: 3.1rem;
        height: .2rem;
        background: #fff;
        transition: .3s;
    }

    #header.is-open .btn-menu .line:nth-child(1) {
        transform: translateY(.6rem) rotate(30deg);
    }

    #header.is-open .btn-menu .line:nth-child(2) {
        opacity: 0;
    }

    #header.is-open .btn-menu .line:nth-child(3) {
        transform: translateY(-.6rem) rotate(-30deg);
    }

    .header-search {
        margin-top: 4.8rem;
        width: 100%;
    }

    .header-search input[type=search] {
        height: 5.6rem;
    }

    .header-search input[type=submit] {
        top: 1.6rem;
    }

    .overlay {
        position: fixed;
        width: 100%;
        height: calc(100% - 6.4rem);
        z-index: -1;
        left: 0;
        top: 6.4rem;
        display: block;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity .4s ease, visibility .4s ease;
    }

    #header.is-open .overlay {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
}


/* !global navigation
---------------------------------------------------------- */
#g-navi {
    display: flex;
    align-items: center;
    gap: 3.2rem;
}

#g-navi ul {
    display: flex;
    align-items: center;
    gap: 2.4rem;
}

#g-navi ul li a {
    font-size: 1.4rem;
    line-height: 1.5;
    font-weight: 500;
}

/*** hover ***/
@media screen and (min-width: 768px) {}

/*** スマホ 320px ~ 767px***/
@media only screen and (max-width : 767px){
    #g-navi {
        display: block;
        position: fixed;
        left: 0;
        top: 6.4rem;
        z-index: 2;
        width: 100%;
        height: calc(100dvh - 6.4rem);
        background: url(../img/common/bg_body.jpg) center center repeat;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding: 4.8rem 1.6rem;
        clip-path: inset(0% 0% 100%);
        transition:clip-path .5s ease-in-out;
    }

    #header.is-open #g-navi {
        clip-path: inset(0% 0% 0%);
    } 

    #g-navi ul {
        display: block;
    }

    #g-navi ul li + li {
        margin-top: 4rem;
    }

    #g-navi ul li a {
        font-size: 1.6rem;
        display: block;
        text-align: center;
    }
}

/* !breadcrumb
---------------------------------------------------------- */
.breadcrumb {
    width: 100%;
    margin: 5rem 0 1.2rem;
    padding: 1.6rem 0;
    border-top: .1rem solid #363636;
    border-bottom: .1rem solid #363636;
}

.breadcrumb ul {
    display: inline-flex;
    align-items: flex-start;
    justify-content: flex-start;
    font-size: 1.4rem;
    line-height: 1.5;
}

.breadcrumb ul li {
    word-break: keep-all;
    white-space: nowrap;
    font-size: 1.4rem;
    line-height: 1.5;
    position: relative;
    color: #D1D1D1;
}

.breadcrumb ul li + li {
    padding-left: 3.2rem;
}

.breadcrumb ul li + li:before {
    content: '';
    width: 1.6rem;
    height: 1.6rem;
    background: url(../img/common/icon_arrow_02_wh.svg) center center no-repeat;
    background-size: cover;
    position: absolute;
    left: .8rem;
    top: .25rem;
    z-index: 2;
}

.breadcrumb ul li:last-child {
    word-break: break-all;
    white-space: wrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

.breadcrumb ul li a{
  color: #D1D1D1;
}

/*** hover ***/
@media screen and (min-width: 768px) {}

/*** スマホ 320px ~ 767px***/
@media only screen and (max-width : 767px){}

/* !main Visual
---------------------------------------------------------- */
#main-visual {
    padding-bottom: 7rem;
    width: 100%;
    position: relative;
    overflow: hidden;
}

#main-visual .main-swiper {
    width: 100%;
    max-width: 88rem;
    margin: 0 auto;
}

#main-visual .main-swiper .swiper {
    overflow: visible;
}

#main-visual .main-swiper .swiper-slide {
    padding: 0 1.2rem;
}

#main-visual .main-swiper .news-item .news-image {
    aspect-ratio: 857 / 482;
}

#main-visual .main-swiper .news-item .news-box {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 2;
    padding: 2.4rem 3.2rem 3.6rem;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
    display: block;
}

#main-visual .main-swiper .news-item .news-categorys {
    margin-top: 0;
}

#main-visual .main-swiper .news-item .news-categorys .news-categorys__cate,
#main-visual .main-swiper .news-item .news-categorys .news-categorys__tag {
    font-size: 1.4rem;
}

#main-visual .main-swiper .news-item .news-title {
    margin-top: .8rem;
    font-size: 2.4rem;
    -webkit-line-clamp: 2;
}

#main-visual .main-swiper .news-item .news-date {
    margin-top: .8rem;
}

#main-visual .main-swiper .swiper-controller {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    z-index: 2;
}

#main-visual .main-swiper .swiper-controller .swiper-pagination {
    position: relative;
    bottom: 0;
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: 0 7.4rem;
    height: 4.2rem;
}

#main-visual .main-swiper .swiper-controller .swiper-pagination .swiper-pagination-bullet  {
    width: 8rem;
    height: .3rem;
    background: #949494;
    border-radius: 0;
    margin: 0;
    opacity: 1;
}

#main-visual .main-swiper .swiper-controller .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #731718;
}

#main-visual .main-swiper .swiper-play {
    display: block;
    width: 4.2rem;
    height: 4.2rem;
    border-radius: 100%;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 11;
    cursor: pointer;
    background: url(../img/common/icon_stop.svg) center center no-repeat rgba(255, 255, 255, .1);
    background-size: 2.4rem auto;
}

#main-visual .main-swiper .swiper-play.is-stop {
    background-image: url(../img/common/icon_play.svg);
}

/*** hover ***/
@media screen and (min-width: 768px) {}

/*** スマホ 320px ~ 767px***/
@media only screen and (max-width : 767px){
    #main-visual {
        padding-bottom: 5.4rem;
    }

    #main-visual .main-swiper {
        width: 100%;
        max-width: 100%;
    }

    #main-visual .main-swiper .swiper {
        overflow: hidden;
    }

    #main-visual .main-swiper .swiper-slide {
        padding: 0;
    }

    #main-visual .main-swiper .news-item .news-image {
        aspect-ratio: 375 / 211;
        margin-bottom: 2.4rem;
    }

    #main-visual .main-swiper .news-item .news-box {
        position: relative;
        padding: 0 1.6rem;
        background: none;
        display: block;
    }

    #main-visual .main-swiper .news-item .news-categorys {
        margin-top: 0;
    }

    #main-visual .main-swiper .news-item .news-categorys .news-categorys__cate,
    #main-visual .main-swiper .news-item .news-categorys .news-categorys__tag {
        font-size: 1.2rem;
        padding: .4rem .8rem;
    }

    #main-visual .main-swiper .news-item .news-title {
        margin-top: 1.2rem;
        font-size: 1.8rem;
        -webkit-line-clamp: 3;
    }

    #main-visual .main-swiper .news-item .news-date {
        margin-top: 1.6rem;
    }

    #main-visual .main-swiper .swiper-controller {
        width: 100%;
        left: 0;
        transform: unset;
        padding: 0 1.6rem;
    }

    #main-visual .main-swiper .swiper-controller .swiper-pagination {
        width: 24rem;
        padding: 0;
    }

    #main-visual .main-swiper .swiper-controller .swiper-pagination .swiper-pagination-bullet  {
        width: 100%;
        height: .2rem;
    }

    #main-visual .main-swiper .swiper-play {
        right: 1.6rem;
    }
}

/* !teaser
---------------------------------------------------------- */
#teaser {}

/*** hover ***/
@media screen and (min-width: 768px) {}

/*** スマホ 320px ~ 767px***/
@media only screen and (max-width : 767px){}

/* !contents
---------------------------------------------------------- */
#contents {}

#main {}

#side {}

.inner {
    padding: 0 7.2rem;
}

/*** hover ***/
@media screen and (min-width: 768px) {}

/*** スマホ 320px ~ 767px***/
@media only screen and (max-width : 767px){

    .inner {
        padding: 0 1.6rem;
    }
}

/* !page Top
---------------------------------------------------------- */
.page-top {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 2;
}

.page-top a {
    width: 4.8rem;
    height: 4.8rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #363636;
    border-radius: 100%;
}

.page-top img {
    width: 2.6rem;
}

/*** hover ***/
@media screen and (min-width: 768px) {}

/*** スマホ 320px ~ 767px***/
@media only screen and (max-width : 767px){
    .page-top {
        position: relative;
        width: calc(100% + 3.2rem);
        margin: 0 -1.6rem;
        margin-bottom: 4rem;
    }

    .page-top a {
        width: 100%;
        border-radius: 0;
        gap: .8rem;
    }

    .page-top img {
        width: 2rem;
    }

    .page-top a:after {
        font-size: 1.4rem;
        font-weight: 500;
        line-height: 1.5;
        color: #D1D1D1;
        content: 'トップへ';
    }
}

/* !footer
---------------------------------------------------------- */
#footer {
    position: relative;
    width: 100%;
}

.footer-site {
    width: 100%;
    background: #fff;
    padding: 3.2rem;
}

.footer-site .footer-site__inner {
    width: 100%;
    max-width: 107.6rem;
    margin: 0 auto;
    display: flex;
    align-items: center;
}

.footer-site .footer-site__inner .site-info {
    width: calc(100% - 25.4rem);
    display: flex;
    align-items: center;
}

.footer-site .footer-site__inner .site-info .site-info__logo {
    width: 7.1rem;
    margin-right: 4.8rem;
}

.footer-site .footer-site__inner .site-info .site-info__logo img {
    width: 100%;
}

.footer-site .footer-site__inner .site-info .site-info__text {
    width: calc(100% - 11.9rem);
    font-size: 1.4rem;
    line-height: 1.5;
    letter-spacing: .04em;
    color: #131316;
}

.footer-site .footer-site__inner .site-links {
    width: 20.6rem;
    margin-left: 4.8rem;
}

.footer-site .footer-site__inner .site-links a {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .4rem;
    border-radius: .4rem;
    width: 100%;
    height: 4.7rem;
    background: #131316;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
}

.footer-site .footer-site__inner .site-links a:after {
    width: 1.8rem;
    height: 1.8rem;
    content: '';
    background: url(../img/common/icon_arrow_02_wh.svg) center center no-repeat;
    background-size: cover;
}

.footer-inner {
    padding: 4.8rem 0;
}

.footer-inner .footer-inner__inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
}

.footer-tags {
    width: 60%;
    max-width: 77.6rem;
}

.footer-tags .footer-tags__title {
    font-size: 2rem;
    line-height: 1.45;
    font-weight: 500;
    letter-spacing: .02em;
    margin-bottom: 2rem;
}

.footer-tags .tags-list li {
    display: none;
}

.footer-tags .footer-tags__showmore {
    margin-top: 3.2rem;
}

.footer-tags .footer-tags__showmore {
    width: 14.4rem;
    height: 4.7rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .4rem;
    background: #363636;
    border-radius: .4rem;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 500;
    cursor: pointer;
}

.footer-tags .footer-tags__showmore:before {
    width: 2rem;
    height: 2rem;
    content: '';
    background: url(../img/common/icon_more.svg) center center no-repeat;
    background-size: cover;
}

.footer-banner {
    max-width: 33.95%;
}

.footer-banner img {
    max-width: 100%;
}

#copyright {
    border-top: .1rem solid #363636;
    padding: 2rem;
    width: 100%;
    font-size: 1.4rem;
    color: #D1D1D1;
    line-height: 1.214;
    letter-spacing: .04em;
    text-align: center;
}

/*** hover ***/
@media screen and (min-width: 768px) {}

/*** スマホ 320px ~ 767px***/
@media only screen and (max-width : 767px){


    .footer-site {
        padding: 3.2rem .8rem;
    }

    .footer-site .footer-site__inner {
        display: block;
    }

    .footer-site .footer-site__inner .site-info {
        width: 100%;
    }

    .footer-site .footer-site__inner .site-info .site-info__logo {
        width: 5rem;
        margin-right: 2.4rem;
    }

    .footer-site .footer-site__inner .site-info .site-info__text {
        width: calc(100% - 7.4rem);
        font-size: 1.2rem;
    }

    .footer-site .footer-site__inner .site-links {
        width: 100%;
        margin: 1.8rem 0 0;
    }

    .footer-site .footer-site__inner .site-links a {
        margin: 0 auto;
        max-width: 18.4rem;
        height: 4.4rem;
        font-size: 1.4rem;
    }

    .footer-site .footer-site__inner .site-links a:after {
        width: 1.4rem;
        height: 1.4rem;
    }

    .footer-inner {
        padding: 0 0 4.8rem;
    }

    .footer-inner .footer-inner__inner {
        display: block;
    }

    .footer-tags {
        width: 100%;
        max-width: 100%;
    }

    .footer-tags .footer-tags__showmore {
        width: 13.4rem;
        height: 4.4rem;
        font-size: 1.4rem;
    }

    .footer-banner {
        max-width: 100%;
        margin-top: 4.8rem;
    }
}

/* !button
---------------------------------------------------------- */
.btn-links {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
}

.btn-links:after {
    width: 1.8rem;
    height: 1.8rem;
    content: '';
    background: url(../img/common/icon_arrow_02_wh.svg) center center no-repeat;
    background-size: cover;
}

.is-blank:after {
    width: 1.6rem;
    height: 1.6rem;
    content: '';
    background: url(../img/common/icon_external.svg) center center no-repeat;
    background-size: cover;
}

/*** hover ***/
@media screen and (min-width: 768px) {}

/*** スマホ 320px ~ 767px***/
@media only screen and (max-width : 767px){
    .btn-links {
        font-size: 1.4rem;
        line-height: 1.5;
    }
}

/* !heading
---------------------------------------------------------- */
.heading-large {
    position: relative;
    margin-bottom: 3.6rem;
    padding-bottom: 2rem;
    font-size: 3.6rem;
    font-weight: 500;
    line-height: 1.44;
}

.heading-large:before {
    width: 100%;
    height: .1rem;
    background: #363636;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
    content: '';
}

.heading-large:after {
    width: 10rem;
    height: .2rem;
    background: #731718;
    position: absolute;
    left: 0;
    bottom: -.05rem;
    z-index: 2;
    content: '';
}

.heading-large .btn-links {
    margin-left: 2.3rem;
}

/*** スマホ 320px ~ 767px***/
@media only screen and (max-width : 767px){
    .heading-large {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        margin-bottom: 2.4rem;
        padding-bottom: 1.6rem;
        font-size: 2.8rem;
        line-height: 1.46;
    }
}

/* !news
---------------------------------------------------------- */

.news-list {
    display: flex;
    flex-wrap: wrap;
    gap: 4.8rem 2.4rem;
}

.news-list.column2 > li {
    width: calc((100% - 2.4rem) / 2);
}

.news-list.column3 > li {
    width: calc((100% - 4.8rem) / 3);
}

.news-list.column4 > li {
    width: calc((100% - 7.2rem) / 4);
}

.news-item {
    display: block;
    width: 100%;
    position: relative;
}

.news-item .news-image {
    position: relative;
    width: 100%;
    aspect-ratio: 308 / 205;
    overflow: hidden;
    display: block;
}

.news-item .news-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.news-item .news-categorys {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    margin-top: 1.2rem;
}

.news-item .news-categorys.is-sp {
    display: none;
}

.news-item .news-categorys.is-pc {
    display: flex;
}

.news-item .news-categorys .news-categorys__cate {
    background: #731718;
    display: inline-flex;
    padding: .4rem .8rem;
    font-size: 1.2rem;
    line-height: 1.5;
}

.news-item .news-categorys .news-categorys__tag {
    background: #363636;
    display: inline-flex;
    padding: .4rem .8rem;
    font-size: 1.2rem;
    line-height: 1.5;
}

.news-item .news-title {
    overflow : hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    font-size: 1.8rem;
    line-height: 1.5;
    font-weight: bold;
    margin-top: 2rem;
}

.news-item .news-description {
    font-size: 1.6rem;
    line-height: 1.8;
    color: #D1D1D1;
    letter-spacing: .04em;
    display: block;
}

.news-item .news-date {
    font-size: 1.4rem;
    line-height: 1.214;
    color: #949494;
    display: block;
    margin-top: 1.4rem;
}

.news-item .news-view {
    display: flex;
    align-items: center;
    margin-top: 1.4rem;
}

.news-item .news-view .news-view__item {
    font-size: 1.4rem;
    line-height: 1.214;
    color: #fff;
    margin-left: 1.2rem;
    padding-left: 1.2rem;
    border-left: .1rem solid #474747;
}

.news-item .news-view .news-date {
    margin-top: 0;
}

/*** hover ***/
@media screen and (min-width: 768px) {}

/*** スマホ 320px ~ 767px***/
@media only screen and (max-width : 767px){
    .news-list {
        gap: 3.2rem 1.6rem;
    }

    .news-list.column2 > li {
        width: 100%;
    }

    .news-list.column3 > li,
    .news-list.column4 > li {
        width: calc((100% - 1.6rem) / 2);
    }

    .news-item {
        display: block;
        width: 100%;
        position: relative;
    }

    .news-item .news-image {
        aspect-ratio: 164 / 109;
    }

    .news-item .news-categorys {
        gap: .4rem;
    }

    .news-item .news-categorys.is-sp {
        display: flex;
    }

    .news-item .news-categorys .news-categorys__cate,
    .news-item .news-categorys .news-categorys__tag {
        padding: .2rem .8rem;
    }

    .news-item .news-categorys.is-pc,
    .news-item .news-categorys .news-categorys__cate.is-pc {
        display: none;
    }

    .news-item .news-title {
        font-size: 1.4rem;
        margin-top: .8rem;
    }

    .news-item .news-description {
        overflow : hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        font-size: 1.4rem;
    }

    .news-item .news-date {
        font-size: 1.2rem;
        line-height: 1.16;
        margin-top: 1.2rem;
    }

    .news-item .news-view {
        margin-top: 1.2rem;
    }

    .news-item .news-view .news-view__item {
        font-size: 1.2rem;
        line-height: 1.16;
    }
}


/* !tags
---------------------------------------------------------- */
.tags-list {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
}

.tags-list a {
    display: inline-flex;
    padding: .2rem .8rem;
    background: #D1D1D1;
    font-size: 1.4rem;
    line-height: 2rem;
    color: #131316;
    border-radius: .1rem;
}

.categorys-list {
    background: rgba(255, 255, 255, 0.05);
    padding: 1.4rem 2rem;
}

.categorys-list li + li {
    margin-top: 1rem;
}

.categorys-list li a {
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: .02em;
}

/*** hover ***/
@media screen and (min-width: 768px) {}

/*** スマホ 320px ~ 767px***/
@media only screen and (max-width : 767px){}



/* !Home
---------------------------------------------------------- */
.news-wrap {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 8rem 0 5rem;
}

.news-wrap .news-main {
    width: 75%;
}

.news-wrap .news-side {
    width: 20%;
}

.home .news-wrap .news-side {
    position: sticky;
    top: 8.8rem;
}

.news-side .news-side__item + .news-side__item {
    margin-top: 5.6rem;
}

.news-side .news-side__title {
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.45;
    margin-bottom: 1.6rem;
    display: flex;
    align-items: center;
    gap: .4rem;
}

.news-side .news-side__title.icon-map:before {
    width: 2rem;
    height: 2rem;
    content: '';
    background: url(../img/common/icon_map.svg) center center no-repeat;
    background-size: cover;
}

.news-side .news-side__title.icon-genre:before {
    width: 2rem;
    height: 2rem;
    content: '';
    background: url(../img/common/icon_genre.svg) center center no-repeat;
    background-size: cover;
}

.pickup-wrap {
    padding: 6rem 0;
}

.pickup-wrap .news-list > li:nth-child(1) {
    width: 100%;
}

.pickup-wrap .news-list > li:nth-child(1) .news-item {
    display: flex;
    align-items: center;
    gap: 4.8rem;
}

.pickup-wrap .news-list > li:nth-child(1) .news-item .news-image {
    aspect-ratio: 500 / 333;
    width: 38.58%;
}

.pickup-wrap .news-list > li:nth-child(1) .news-item .news-box {
    width: 57.716%;
}

.pickup-wrap .news-list > li:nth-child(1) .news-item .news-categorys {
    margin-top: 0;
}

.pickup-wrap .news-list > li:nth-child(1) .news-item .news-categorys .news-categorys__cate,
.pickup-wrap .news-list > li:nth-child(1) .news-item .news-categorys .news-categorys__tag {
    font-size: 1.4rem;
}

.pickup-wrap .news-list > li:nth-child(1) .news-item .news-title {
    margin-top: 1.2rem;
    font-size: 2.4rem;
}

.pickup-wrap .news-list > li:nth-child(1) .news-item .news-date {
    margin-top: 2.4rem;
    font-size: 1.4rem;
}

.ranking-wrap {
    padding: 6rem 0 10rem;
}

.ranking-wrap .news-list > li:nth-child(1),
.ranking-wrap .news-list > li:nth-child(2),
.ranking-wrap .news-list > li:nth-child(3) {
    width: calc((100% - 4.8rem) / 3);
}

.ranking-wrap .news-list > li:nth-child(1) .news-item:before,
.ranking-wrap .news-list > li:nth-child(2) .news-item:before,
.ranking-wrap .news-list > li:nth-child(3) .news-item:before {
    width: 5.6rem;
    height: 7.2rem;
    content: '';
    position: absolute;
    left: 1.2rem;
    top: -.6rem;
    z-index: 2;
}

.ranking-wrap .news-list > li:nth-child(1) .news-item:before {
    background: url(../img/common/ranking_01.svg) center center no-repeat;
    background-size: cover;
}

.ranking-wrap .news-list > li:nth-child(2) .news-item:before {
    background: url(../img/common/ranking_02.svg) center center no-repeat;
    background-size: cover;
}

.ranking-wrap .news-list > li:nth-child(3) .news-item:before {
    background: url(../img/common/ranking_03.svg) center center no-repeat;
    background-size: cover;
}

.recommend-wrap {
    background: url(../img/common/bg_pickup.jpg) center center no-repeat;
    background-size: cover;
    padding: 8rem 0;
    color: #131316;
}

.recommend-wrap .recommend-head {
    margin-bottom: 4.8rem;
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.8;
    letter-spacing: .04em;
}

.recommend-wrap .recommend-title {
    font-size: 3.6rem;
    font-weight: bold;
    letter-spacing: .02em;
    line-height: 1.44;
    margin-bottom: 1.2rem;
}

.recommend-wrap .recommend-body img {
    width: 100%;
}

.recommend-wrap .recommend-body .caption {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 1.8rem;
    font-size: 1.6rem;
    line-height: 1.1875;
    gap: .5rem;
    color: #131316;
}

/*** スマホ 320px ~ 767px***/
@media only screen and (max-width : 767px){
    .news-wrap {
        flex-direction: column-reverse;
        padding: 4rem 0 3.2rem;
    }

    .news-wrap .news-main {
        width: 100%;
    }

    .news-wrap .news-side {
        width: 100%;
    }

    .home .news-wrap .news-side {
        position: relative;
        top: 0;
    }

    .news-side {
        margin-bottom: 6.4rem;
    }

    .news-side .news-side__item + .news-side__item {
        margin-top: 4.8rem;
    }

    .pickup-wrap {
        padding: 3.2rem 0;
    }

    .pickup-wrap .news-list > li:nth-child(1) {
        width: 100%;
    }

    .pickup-wrap .news-list > li:nth-child(1) .news-item {
        display: block;
    }

    .pickup-wrap .news-list > li:nth-child(1) .news-item .news-image {
        aspect-ratio: 343 / 228;
        width: 100%;
    }

    .pickup-wrap .news-list > li:nth-child(1) .news-item .news-box {
        width: 100%;
        margin-top: 1.6rem;
        display: block;
    }

    .pickup-wrap .news-list > li:nth-child(1) .news-item .news-categorys {
        margin-top: 1.2rem;
    }

    .pickup-wrap .news-list > li:nth-child(1) .news-item .news-categorys .news-categorys__cate,
    .pickup-wrap .news-list > li:nth-child(1) .news-item .news-categorys .news-categorys__tag {
        font-size: 1.2rem;
    }

    .pickup-wrap .news-list > li:nth-child(1) .news-item .news-title {
        margin-top: 0;
        font-size: 1.8rem;
    }

    .pickup-wrap .news-list > li:nth-child(1) .news-item .news-date {
        margin-top: 1.4rem;
    }

    .ranking-wrap {
        padding: 3.2rem 0 6.4rem;
    }

    .ranking-wrap .news-list > li:nth-child(1),
    .ranking-wrap .news-list > li:nth-child(2),
    .ranking-wrap .news-list > li:nth-child(3) {
        width: 100%;
    }

    .ranking-wrap .news-list > li:nth-child(1) .news-item:before,
    .ranking-wrap .news-list > li:nth-child(2) .news-item:before,
    .ranking-wrap .news-list > li:nth-child(3) .news-item:before {
        width: 6.2rem;
    }

    .recommend-wrap {
        padding: 5.6rem 0;
    }

    .recommend-wrap .recommend-head {
        margin-bottom: 4rem;
        font-size: 1.4rem;
    }

    .recommend-wrap .recommend-title {
        font-size: 2.4rem;
    }

    .recommend-wrap .recommend-body .caption {
        margin-top: 1.2rem;
        font-size: 1.4rem;
        line-height: 1.214;
    }
}

/* !wp-pagenavi
---------------------------------------------------------- */
.wp-pagenavi {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 6.4rem auto 0;
    position: relative;
    text-align: center;
}

.wp-pagenavi .first,
.wp-pagenavi .last,
.wp-pagenavi .pages {
    display: none;
}

.wp-pagenavi a,
.wp-pagenavi span {
    border: 0;
    padding: 0;
    margin: 0;
}

.wp-pagenavi .page,
.wp-pagenavi .current,
.wp-pagenavi .extend {
    width: 4.8rem;
    height: 4.8rem;
    border-radius: 100%;
    font-size: 1.8rem;
    line-height: 1;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin: 0 .2rem;
    color: #D1D1D1;
}

.wp-pagenavi span.current {
    color: #131316;
    background: #D1D1D1;
}

.wp-pagenavi .extend {
    font-size: 1.8rem;
    line-height: 1;
}

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
    width: 4.8rem;
    height: 4.8rem;
    font-size: 1px;
    line-height: 1;
    display: block;
    position: relative;
}

.wp-pagenavi a.previouspostslink {
    margin-right: 2.2rem;
    background: url(../img/common/icon_arrow_01.svg) center center no-repeat;
    background-size: 3.2rem auto;
    transform: rotate(-90deg);
}

.wp-pagenavi a.nextpostslink {
    margin-left: 2.2rem;
    background: url(../img/common/icon_arrow_01.svg) center center no-repeat;
    background-size: 3.2rem auto;
    transform: rotate(90deg);
}

/*** スマホ 320px ~ 767px***/
@media only screen and (max-width : 767px){
    .wp-pagenavi .page,
    .wp-pagenavi .current,
    .wp-pagenavi .extend {
        width: 4rem;
        height: 4rem;
        font-size: 1.4rem;
    }

    .wp-pagenavi a.previouspostslink,
    .wp-pagenavi a.nextpostslink {
        width: 2.8rem;
        height: 4rem;
    }

    .wp-pagenavi a.previouspostslink {
        margin-right: 3.3rem;
        background-size: 2.8rem auto;
    }

    .wp-pagenavi a.nextpostslink {
        margin-left: 3.3rem;
        background-size: 2.8rem auto;
    }
}

/* !詳細ページ
---------------------------------------------------------- */
.news-other {
    padding: 4rem 0;
}


.news-detail {
    width: 100%;
    max-width: 85.7rem;
    margin: 0 auto;
    padding: 6.4rem 0 7.5rem;
    color: #E8E8E8;
}

.news-detail .news-head {
    margin-bottom: 6.4rem;
}

.news-detail .news-body .wp-block-group + .wp-block-group {
    margin-top: 7.2rem;
}

.news-detail figure {
    display: block;
    text-align: center;
    width: 100%;
    margin-bottom: 4.8rem;
}

.news-detail figure figcaption {
    display: block;
    margin-top: 1.6rem;
    font-size: 1.4rem;
    line-height: 1.5;
    color: #949494;
    text-align: center;
}

.news-detail p {
    margin-bottom: 4.8rem;
    font-size: 1.8rem;
    line-height: 1.8;
    letter-spacing: .04em;
}

.news-detail p.normal {
    font-size: 1.6rem;
}

.news-detail p.small {
    font-size: 1.4rem;
}

.news-detail .news-head__title,
.news-detail h1 {
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 1.2rem;
}

.news-detail .news-body p a {
    color: #5C74F6;
    text-decoration: underline;
}

.news-detail .news-body h2 {
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: .04em;
    margin-bottom: 5.6rem;
    padding-bottom: 1.6rem;
    border-bottom: .1rem solid #363636;
}

.news-detail .news-body h3 {
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: .04em;
    margin-bottom: 1.2rem;
}

.news-detail .news-body h4 {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.8;
    letter-spacing: .04em;
    margin-bottom: 1.6rem;
}

.news-detail .news-body table {
    width: 100%;
    margin-bottom: 2.4rem;
}

.news-detail .news-body table th {
    width: 11.8rem;
    background: #363636;
    padding: 1.6rem;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: bold;
    color: #fff;
    border-bottom: .1rem solid #131316;
    vertical-align: middle;
}

.news-detail .news-body table td {
    font-size: 1.6rem;
    padding: 1.6rem 3.2rem;
    color: #fff;
    line-height: 1.5;
    vertical-align: middle;
    border-bottom: .1rem solid #363636;
}

.news-detail .news-body table td span {
    display: inline-flex;
    padding: .2rem .8rem;
    background: #D1D1D1;
    font-size: 1.4rem;
    line-height: 2rem;
    color: #131316;
    border-radius: .1rem;
    margin: .4rem .8rem .4rem 0;
}

.news-detail .news-body table td dl {
    display: flex;
    align-items: center;
}

.news-detail .news-body table td dl + dl {
    margin-top: .4rem;
}

.news-detail .news-body table td dl dt {
    width: 8rem;
    margin-right: 1.2rem,;
}

.news-detail .news-body table td dl dd {
    width: calc(100% - 9.2rem);
}

.news-detail .news-body table a {
    color: #5C74F6;
    text-decoration: underline;
}

.wp-block-media-text {
    display: flex;
    gap: 2.4rem;
    margin-bottom: 6.4rem;
}

.wp-block-media-text .wp-block-media-text__media {
    width: 10rem;
    height: 10rem;
    border-radius: 100%;
    margin-bottom: 0;
}

.wp-block-media-text .wp-block-media-text__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wp-block-media-text .wp-block-media-text__content {
    width: calc(100% - 12.4rem);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.wp-block-media-text .wp-block-media-text__content.writer{
    padding: 0;
}

.wp-block-media-text .wp-block-media-text__content h5 {
    font-size: 1.6rem;
    line-height: 1.5rem;
    font-weight: bold;
    margin-bottom: .4rem;
    letter-spacing: .04em;
}

.wp-block-media-text .wp-block-media-text__content p {
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: .04em;
    color: #949494;
    margin-bottom: 0;
}

.news-detail .news-share {
    margin-top: 10rem;
}

.news-detail .news-share ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.4rem;
}

.news-detail .news-share .btn-x {
    background: #fff;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: .2rem;
    height: 7rem;
    width: 100%;
    font-size: 1.6rem;
    line-height: 1.8;
    font-weight: bold;
    letter-spacing: .04em;
    gap: 1.6rem;
    color: #000000;
}

.news-detail .news-share .btn-x:before {
    width: 2.2rem;
    height: 2.2rem;
    content: '';
    background: url(../img/common/icon_x.svg) center center no-repeat;
    background-size: cover;
}

.news-detail .news-share .btn-fb {
    background: #4267B2;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: .2rem;
    height: 7rem;
    width: 100%;
    font-size: 1.6rem;
    line-height: 1.8;
    font-weight: bold;
    letter-spacing: .04em;
    gap: 1.6rem;
    color: #fff;
}

.news-detail .news-share .btn-fb:before {
    width: 2.4rem;
    height: 2.4rem;
    content: '';
    background: url(../img/common/icon_facebook.svg) center center no-repeat;
    background-size: cover;
}

/*** スマホ 320px ~ 767px***/
@media only screen and (max-width : 767px){
    .news-other {
        padding: 3.2rem 0;
    }


    .news-detail {
        width: 100%;
        max-width: 85.7rem;
        margin: 0 auto;
        padding: 5.6rem 0 4.8rem;
        color: #E8E8E8;
    }

    .news-detail .news-head {
        margin-bottom: 4rem;
    }

    .news-detail .news-body .wp-block-group + .wp-block-group {
        margin-top: 6.4rem;
    }

    .news-detail figure {
        margin-bottom: 4rem;
    }

    .news-detail figure figcaption {
        margin-top: 1.2rem;
        font-size: 1.2rem;
    }

    .news-detail p {
        margin-bottom: 4rem;
        font-size: 1.6rem;
    }

    .news-detail p.small {
        font-size: 1.2rem;
    }

    .news-detail .news-head__title,
    .news-detail h1 {
        font-size: 2.4rem;
    }

    .news-detail .news-body h2 {
        font-size: 2.4rem;
        margin-bottom: 4rem;
        padding-bottom: 1.2rem;
    }

    .news-detail .news-body h3 {
        font-size: 2rem;
    }

    .news-detail .news-body table {
        margin-bottom: 2rem;
    }

    .news-detail .news-body table th {
        width: 10rem;
        font-size: 1.4rem;
    }

    .news-detail .news-body table td {
        font-size: 1.4rem;
        padding: 1.6rem;
    }

    .news-detail .news-body table td span {
        margin: .2rem .4rem .2rem 0;
    }

    .news-detail .news-body table td dl dt {
        margin-right: .4rem,;
    }

    .news-detail .news-body table td dl dd {
        width: calc(100% - 8.4rem);
    }

    .wp-block-media-text {
        display: flex;
        gap: 1.6rem;
        margin-bottom: 4.8rem;
    }

    .wp-block-media-text .wp-block-media-text__media {
        width: 8rem;
        height: 8rem;
    }

    .wp-block-media-text .wp-block-media-text__content {
        width: calc(100% - 9.6rem);
    }

    .wp-block-media-text .wp-block-media-text__content p {
        font-size: 1.2rem;
    }

    .news-detail .news-share {
        margin-top: 6.4rem;
    }

    .news-detail .news-share ul {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 1.6rem;
    }

    .news-detail .news-share .btn-x,
    .news-detail .news-share .btn-fb {
        height: 5.7rem;
        font-size: 1.4rem;
    }

    .news-detail .news-share .btn-x:before {
        width: 1.8rem;
        height: 1.8rem;
    }

    .news-detail .news-share .btn-fb:before {
        width: 2rem;
        height: 2rem;
    }
}

.news-main .site-links{
    padding: 8rem 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.news-main  .site-links a{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 4.7rem;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
    border-radius: 0.4rem;
    background: #fff;
    color: rgb(19, 19, 22);
    padding: 0 2.4rem;
}

@media only screen and (max-width : 767px){
    .news-main .notfound{
        padding: 5.6rem 0;
    }

    .news-main  .notfound a{
        max-width: 18.4rem;
        height: 4.4rem;
        font-size: 1.4rem;
        margin: 0px auto;
    }
}




