@charset "utf-8";
/*
Theme Name: NISSAN GOUSEI 2024
Author: BASARA
Author URI: 
Version: 1.0
*/

*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    backface-visibility: hidden;
}

html{ margin: 0; padding: 0; }

body {
    font-family: "Noto Sans Japanese","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",sans-serif;
    color: #000;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.8;
    word-break: break-all;
    margin: 0;
    padding: 0;
}

div, p, ul, ul li, dl, dt, dd {
	margin: 0;
	padding: 0;
	font-size: 100%;
	list-style:none;
	box-sizing:border-box;
}
img, video, object {
    max-width: 100%;
    height: auto;
    border: none;
}
img{ image-rendering: -webkit-optimize-contrast; }

h1, h2, h3, h4, h5 {
	margin: 0;
	padding: 0;
	font-size: 100%;
	line-height: 1.5;
}

a:link { color:#D74535; outline:none; }
a:visited { color:#D74535;}
a:hover { color: #000; transition: 0.3s;}
a:hover img { opacity: 0.8; transition: 0.3s;}
a[href^="tel:"] { text-decoration:none; pointer-events:none ; text-emphasis: none !important;}
a[href^="fax:"] { text-decoration:none; pointer-events:none ;}

.pc{display: inherit;}
.tb{display: none;}
.sp{display: none;}

@media only screen and (max-width:820px){
    .pc {display:none;}
    .tb {display:block;}
    .sp {display:none;}
}
@media only screen and (max-width:468px){
    body {font-size: 15px; min-width: 375px;}
    .pc {display:none;}
    .tb {display:none;}
    .sp {display:block;}
}

/*reCAPTCHAのロゴを非表示*/
.grecaptcha-badge {
	visibility: hidden;
}
/* =========================================================================================
Header
=========================================================================================*/
#header {
    width:100%;
    height: 100px;
    background:#FFF;
    position: fixed;
    padding:0 30px;
    margin: 0;
    z-index: 100;
    top: 0;
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
}
#header .inner{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 5px;
    max-width: 1500px;
    padding: 0;
    height: 100%;
}
#header .logo{
    width: 240px;
    height: 48px;
}
#header .logo a{
    display: block;
    width: 240px;
    height: 48px;
    text-indent: -9999px;
    background: url(images/common/logo.svg) no-repeat;
    background-size: contain;
}

/*globalnavi*/
#header #g-navi-area{
    width: 100%;
}
#header #g-navi ul {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content:end;
    gap:3.0em;
}
    #header #g-navi ul li{
        font-size:1.0em;
    }
    #header #g-navi ul li a{
        color: #000;
        display: block;
        padding: 10px 0;
        text-decoration: none;
        position: relative;
    }
    #header #g-navi ul li a:hover{
        text-decoration: none;
    }
    #header #g-navi ul li.nav_contact a {
        position: relative;
        padding-left: 30px;
        background: url( images/common/icon_mail_g.svg) no-repeat left;
        background-size:22px 16px;
    }
    #header #g-navi ul li.nav_contact a:hover{
        background: url( images/common/icon_mail_r.svg) no-repeat left;
        background-size:22px 16px;
    }
    #header #g-navi ul li a::after {
        content:"";
        position: absolute;
        left: 0;
        bottom: 5px;
        width: 0; height: 2px;
        background: #D74535;
        transition: 0.4s;
    }
    #header #g-navi ul li a:hover {
        color: #D74535;
    }
    #header #g-navi ul li a:hover::after {
        width: 100%;
    }

#header .sp-logo,
#header .btn,
#header #g-navi-sub,
#header .catch,
#header .copy{
    display: none;/*PCでは非表示*/
}

@media only screen and (max-width:920px){
    #header #g-navi ul { gap:1.25em;}
}

@media only screen and (max-width:820px){
    #header {
        height: 70px;
    }
    #header .inner{
        flex-direction: row;
        align-items: center;
        justify-content: start;
        gap: 5px;
    }
    #header .logo,
    #header .logo a{
        width: 210px;
        height: 42px;
    }
    #header .sp-logo {
        display: block;
        width: 50%;
        margin-bottom: 10px;
    }
    #header .sp-logo a{
        color: #FFF;
        display: inline-block;
        font-size: 1.25em;
        background: url(images/common/arrow_right.svg) no-repeat right;
        line-height: 1.0;
        text-indent: 0;
        padding: 10px 1.2em 10px 0;
        text-decoration: none;
    }

    /* HAMBURGER MENU */
    .openbtn{
        position:fixed;
        z-index: 9999;
        top: 0;
        right: 0;
        cursor: pointer;
        width: 70px;
        height:70px;
        background: url(images/common/menu_btn.svg) no-repeat center;
        background-size: 44px 44px !important;
    }
    .openbtn.active {
        background: url(images/common/menu_close.svg) no-repeat center;
        transform: 0.3s;
    }
    #header #g-navi-area{
        position:fixed;
        z-index: 999;
        top:0;
        right: -120%;
        width: 400px !important;
        height: 100vh;
        background: #D74535;
        transition: all 0.5s;
        display: initial;
        float: none;
        border-radius: 0;
        padding: 50px 0 0 0;
    }
    #header #g-navi-area.panelactive{/*アクティブクラスがついたら位置を0に*/
        right: 0;
    }
    #header #g-navi-area a:hover{
        text-decoration: none !important;
        opacity: 0.8 !important;
        transition: 0.3s !important;
    }
    #header #g-navi-area #g-navi-list{/*ナビの数が増えた場合縦スクロール*/
        width: 100%;
        height: 100%;
        padding: 0 40px;
        margin: auto;
        overflow: auto;
    }
    #header #g-navi ul {
        width: 100%;
        flex-wrap: wrap;
        align-items: start;
        justify-content: left;
        position: relative;
        z-index: 999;
        padding: 0;
        margin: auto;
        margin-bottom: 1.0em;
        gap: 10px 0;
    }
    #header #g-navi ul li{
        width: 50%;
        text-align: left;
        font-size: 1.25em;
    }
    #header #g-navi ul li.nav_contact{
        width: 100%;
    }
    #header #g-navi ul li a,
    #header #g-navi ul li a:hover{
        color: #FFF;
        position: relative;
        display: inline-block;
    }
    #header #g-navi ul li a::before{
        position: absolute;
        content: "";
        background: url(images/common/arrow_right.svg) no-repeat;
        background-size: contain;
        width: 0.5em;
        height: 0.5em;
        right: -1.2em;
        top: 50%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
    }
    #header #g-navi ul li.nav_contact a,
    #header #g-navi ul li.nav_contact a:hover {
        background: url( images/common/icon_mail_w.svg) no-repeat left;
        background-size:1.15em;
    }
    #header .btn{
        display: block;
    }
    #header .btn a{
        display: block;
        min-width: 100%;
        border: 1px solid #FFF;
        margin: 1.5em 0;
    }
    #header .btn.mailmagazine {
        margin: 0;
        padding: 0 !important;
    }
    #header .btn.mailmagazine a {
        display: block;
        padding: 0.5em 0.5em 0.5em 50px;
        font-size: 125%;
        text-decoration: none;
        color: #D74535 !important;
        background: #fff url(images/common/icon_mailmagazine_r.svg) no-repeat 20px center;
        background-size:40px auto;
        border-radius: 10px;
    }
    #header .btn.mailmagazine a::after{
        display: none;
    }
    #header #g-navi-sub{
        display: block;
        width: 100%;
        margin-bottom: 2.0em;
    }
    #header #g-navi-sub ul{
        display: flex;
        flex-wrap: wrap;
        gap: 10px 5px;
        justify-content: left;
    }
    #header #g-navi-sub li {
        width: 100%;
        font-size: 1.0em; 
        padding-left: 0.9em ; 
        position: relative;
    }
    #header #g-navi-sub li::before {
        content: "\25CF";
        color: #FFF;
        font-size: 50%;
        position: absolute;
        left: 0;
        top: 1.1em;
    }
    #header #g-navi-sub li a,
    #header #g-navi-sub li a:hover{
        color: #FFF;
        padding: 0;
        text-decoration: none;
    }
    #header .catch {
        display: block;
    }
    #header .catch span {
        display: block;
        text-align: center;
        font-size: 87.5%;
        color: #fff;
    }
    #header .catch span + span {
        margin-top: 20px;
    }
    #header .catch img {
        width: 270px;
        height: auto;
    }
    #header .copy {
        display: block;
        padding: 30px 0 10px;
        text-align: center; 
        font-size: 11px;
        color: #FFF;
        margin-left: -40px;
        margin-right: -40px;
    }
}

@media only screen and (max-width:468px){
    #header { padding: 0 10px; }
    #header .sp-logo { display: block; position: absolute; top: 15px; left: 10px; }
    #header .sp-logo a{ width: 210px; height: 42px; background: url(images/common/logo_w.svg) no-repeat; text-indent: -9999px;}
    #header #g-navi-area{ right: -150%; width: 100% !important; padding: 60px 0 0; }
    #header #g-navi{ width: 100%; margin:1.0em auto 1.25em; }
    #header #g-navi ul{ gap:0; }
    #header .btn a { margin: 0 0 1.5em; }
    #header .btn.mailmagazine{ width: 90%; margin:0 auto; }
    #header #g-navi-sub{ width: 100%; margin:0 auto 2.0em; }
    #header .copy { margin-bottom: 50px; }
}

/* =========================================================================================
Footer
=========================================================================================*/
#footer {
    padding: 85px 30px 40px;
    background:#F0F0F0;
}
#footer .inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: start;
}
#footer .logo{
    width: 100%;
    margin-bottom: 65px;
}
#footer .logo a{
    display: inline-block;
}
#footer .logo img{
    width: 100%;
    max-width: 245px;
}
#footer .copyright {
    font-size: 75%;
    text-align: left;
    width: 100%;
    margin: 40px auto 0;
}

/* footer-navi */
#footer .f_nav {
    width:700px;
    display: flex;
    justify-content: start;
    align-items: start;
}
#footer .f_nav ul{
    min-width: 140px;
}
#footer .f_nav ul li + li {
    margin-top: 25px;
}
#footer .f_nav ul li a {
    color: #000;
    text-decoration: none;
}
#footer .catch {
    position: relative;
    top: -60px;
    display: flex;
    justify-content:end;
    width: calc( 100% - 700px);
    gap: 40px;
}
#footer .catch p {
    display: block;
    text-align: center;
    font-size: 87.5%;
    margin-top: 1.0em;
}
#footer .catch img {
    width: 100%;
    max-width: 280px;
    max-height: 250px;
}

@media only screen and (max-width:1100px){
    #footer .inner { align-items: center; justify-content: center; }
    #footer .f_nav { width:100%; justify-content: center; margin-bottom: 45px;}
    #footer .catch { top: 0; width: 100%; justify-content: center;}
    #footer .catch img { max-width: 350px;}
    #footer .copyright { text-align: center; }
}
@media only screen and (max-width:820px){
    #footer { padding: 40px 30px 40px; }
    #footer .logo{ width: fit-content; margin-bottom: 30px; }
    #footer .f_nav { display: none; }
    #footer .catch { width: 70%; gap:30px}
    #footer .catch img { max-width: 100%; max-height: none;}
}
@media only screen and (max-width:468px){
    #footer { padding: 40px 20px 40px; }
    #footer .catch { width: 100%; gap:30px}
    #footer .copyright { font-size: 70%; }
}


/* footer-img */
.footer-img {
    position: relative;
    width: 100%;
    height: 600px;
    /*padding: 0 30px !important;*/
}
.footer-img img {
    position: absolute;
    object-fit:cover;
    height: 100%;
    width: 100%;
    top:2px !important /* 縮小字のはみ出し防止 */;
    left: 0;
    bottom: 0;
    z-index: 1;
}
.footer-img.wave-top::before{
    margin-left: 0 !important;
    margin-right: 0 !important;
}

@media only screen and (max-width:820px){
    .footer-img { height: 400px;}
}
@media only screen and (max-width:468px){
    .footer-img { height: 135px; overflow: hidden;}
    .footer-img img{ height: auto; width: 100%;}
}


/* =========================================================================================
Page Top
=========================================================================================*/
#pagetop,
#pagetop a {
    display:block;
    width:44px;
    height:44px;
}
#pagetop {
    position: fixed;
    bottom:15px;
    right:15px;
    z-index: 99;
}
#pagetop a {
    text-indent: -9999px;
    background:#D74535 url(images/common/arrow_up.svg) no-repeat center;
    background-size:65% auto;
    border-radius: 100px;
}
#pagetop a:hover{
    opacity: 0.8;
}

@media only screen and (max-width:820px){
    
}
@media only screen and (max-width:468px){

}


/* =========================================================================================
Layout
=========================================================================================*/
#wrapper{
    position:relative;
    margin:0;
    padding:0;
    overflow: hidden !important;
}
#container{
    margin:0;
    padding:100px 0 0 0;
}
article{
    position: relative;
    margin: 0;
    padding: 0;
}
section{
    position: relative;
    padding-inline: 0;
}
.inner {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    position:relative;
    box-sizing:border-box;
}
.inner.w800{
    max-width: 800px;
}
.inner.backnumber{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap:0 20px;
}
.kadomaru{
    border-radius:100px 100px 0 0;
    padding: 150px 30px 100px;
}
.entry-content,
.archive-content {
    width: 100%;
    border-radius: 60px;
    background: #FFF;
    padding: 80px 7vw 7vw;
}
.entry-content .note {
    font-size: 0.9em;
    color: #D74535;
}
@media only screen and (max-width:980px){
    #container{ padding:70px 0 0 0; }
}
@media only screen and (max-width:820px){
    .kadomaru{ padding: 80px 30px 100px; border-radius:60px 60px 0 0; }
}
@media only screen and (max-width:468px){
    .kadomaru{ border-radius:40px 40px 0 0; padding: 50px 20px; }
    .entry-content,
    .archive-content { border-radius: 40px; padding: 50px 20px 30px; }
}

/*flex-item*/
.flex-box{ display: flex; flex-wrap: wrap; justify-content: space-between;}
.flex-column{ display: flex; flex-direction: column; justify-content: space-between; }

/*bg*/
.bg_beige{ background: #F2F2E7; }
.bg_gray{ background: #F0F0F0; }
.bg_white{ background: #FFF; }

/*note*/
.entry-content ul.note{
    list-style: none;
}
.entry-content ul.note.center{
    width: fit-content;
    margin: auto;
}
.entry-content ul.note li{
    padding-left: 0.25em;
}
.entry-content ul.note li:before{
    content: "※";
    margin-right: 0.5em;
    background: none;
    top: 0.2em;
    left: -1.0em;
}

/*wave*/
.wave-top{
    padding-top: 50px;
}
.wave-bottom{
    padding-bottom: 50px;
}
.wave-top::before,
.wave-bottom::after{
    content: "";
    position: absolute;
    background-repeat: repeat-x;
    background-size: contain;
    width: 100vw;
    height: 200px;
    z-index: 10;
    /*要素を突き抜ける*/
    margin-left: -30px;
    margin-right: -30px;
}
.wave-top::before{ top: -2px; }
.wave-bottom::after{ bottom: -198px; }

.wave-white.wave-top::before , .wave-white.wave-bottom::after { background-image: url(images/common/wave_w.png)}
.wave-beige.wave-top::before , .wave-beige.wave-bottom::after { background-image: url(images/common/wave_b.png)}
.wave-gray.wave-top::before , .wave-gray.wave-bottom::after { background-image: url(images/common/wave_g.png)}

@media only screen and (max-width:820px){
}
@media only screen and (max-width:468px){
    .wave-top::before,
    .wave-bottom::after{ height: 100px; margin-left: -20px; margin-right: -20px; }
    .wave-top::before{ top: -2px; }
    .wave-bottom::after{ bottom: -98px; }
}


/* =========================================================================================
Breadcrumbs
=========================================================================================*/
.pan {
    font-size:75%;
    color: #7E7E7E;
    position: relative;
    z-index: 10;
    text-align: left;
}
.pan span {
    display: inline-block;
    vertical-align: text-top;
}
.pan span + span {
    margin-left: 7px;
    padding-left: 13px;
    background: url(images/common/icon_pan.svg) no-repeat left 0.65em;
    background-size:6px auto;
}
.pan a {
    color: #7E7E7E;
    text-decoration: underline;
}
@media only screen and (max-width:820px){
    .pan { text-align: right; top:-2.25em ; padding-inline: 30px; }
    .single .pan { text-align: right; top:0 ; padding-inline: 30px; }
}
@media only screen and (max-width:468px){
    .pan { padding-inline: 20px; position: static; margin-bottom: 10px;}
    .single .pan { padding-inline: 20px; margin-top: 1.0em; }
}

/* =========================================================================================
Btn
=========================================================================================*/
.btn{
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    padding: 10px 0;
}
.btn a {
    text-align: center;
    color: #fff;
    font-weight:bold;
	font-size:112.5%;
    background: #D74535;
    min-width: 300px;
    padding: 0.5em 1.5em;
    position: relative;
    border-radius:20px;
    border: 2px solid #D74535;
    text-decoration: none;
}
.btn a::after{
    position: absolute;
    content: "";
    background: url(images/common/arrow_right.svg) no-repeat;
    background-size: contain;
    width: 0.5em;
    height: 0.5em;
    right: 1.26em;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
.btn a:hover {
    color: #D74535;
    background: #FFF;
    text-decoration: none;
    transition:0.3s;
}
.btn a:hover::after {
    background: url(images/common/arrow_right_r.svg) no-repeat;
    transition:0.3s;
}

/* color */
.btn.white a{ color: #D74535; background: #FFF;}
.btn.white a::after{ background: url(images/common/arrow_right_r.svg) no-repeat; }
.btn.white a:hover{ color: #FFF; background: #D74535; border-color: #FFF;}
.btn.white a:hover::after{ background: url(images/common/arrow_right.svg) no-repeat; }

.btn.backnumber a {
    color: #D74535;
    padding: 0.35em;
    font-size: 125%;
    background: #fff;
}    
.btn.backnumber a span {
    padding-right:50px;
    background: url(images/common/icon_mailmagazine_r.svg) no-repeat right center;
    background-size:35px auto;
}
.btn.backnumber a::after{ background: none; }
.btn.backnumber a:hover{
    color: #FFF;
    background: #D74535;
}
.btn.backnumber a:hover span {
    background: url(images/common/icon_mailmagazine_w.svg) no-repeat right center;
    background-size:35px auto;
}

/* option */
.btn.left { justify-content: left; }
.btn.right { justify-content: right; }

.btn.fit a { min-width: 100%; }
.btn.long a { width: 100%; max-width: 600px; min-width:auto; }


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

}
@media only screen and (max-width:468px){
    .btn , .btn a { min-width: 100% !important;}
}


/* =========================================================================================
  Midashi
=========================================================================================*/
h2 , h3{
    display: flex;
    flex-wrap: wrap;
    align-items:baseline;
    gap: 0 10px;
}
span.ja {
    font-size: 175%;
    font-weight: 600;
}
span.en {
    font-size: 112.5%;
    color: #7E7E7E;
    font-weight: 500;
    margin-left: 0.25em;
}

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

}
@media only screen and (max-width:468px){
    
}

/* Entry-header */
.entry-header {
    position: relative;
    margin:auto;
    padding: 30px;
    min-height: 330px;
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: stretch;
    z-index: 50;
}
.entry-header .inner{
    position: relative;
}
.entry-header .center{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.entry-header h2 {
    font-size: 262.5%;
    line-height: 1.4;
    font-weight: 600;
    position: relative;
    z-index: 1;
    margin: 0;
}
.entry-header .day{ 
    display: block;
    font-size: 137%;
    font-weight: bold;
    margin-bottom: 0.5em;
}
.entry-header .cat{ 
    margin-bottom: 1.0em;
}
.entry-header .slug-title { 
    display: block;
    font-size: 137%;
    color: #7E7E7E;
    padding-bottom: 5%;
    margin-left: 0.2em;
}
.entry-header .cate-title {
    display: inline-block;
    margin-top:0;
    margin-bottom: 40px;
    padding: 10px;
    line-height: 1.0;
    font-size:87.5%;
    color: #D74535;
    border: 1px solid #D74535;
}
.entry-header .sbimg {
    position: absolute;
    top:-90px;
    right: 0;
    width: 70%;
    max-width: 760px;
}
.entry-header .sbimg img {
    width: 100%;
    height: auto;
    border-radius: 50px 200px 80px 200px;
}
.entry-header .sbimg.border img{
    border: 10px solid #FFF;
}

@media only screen and (max-width:820px){
    .entry-header { padding: 30px 0 0 0; min-height: auto; justify-content: start;}
    .single .entry-header { padding: 30px 0 10px; margin-bottom: 0;}
    .entry-header h2 { text-align: left !important;font-size: 180%; padding-inline: 30px;}
    .entry-header .cate-title { margin-bottom: 0; }
    .entry-header .center{ align-items: start; }
    .entry-header .day , .entry-header .cat{ padding-inline: 30px;}
    .entry-header .slug-title { font-size: 112.5%; padding-bottom: 0; padding-inline: 30px;}
    .entry-header .sbimg { position: relative; top:0; width: 100%; max-width: 100%; margin-bottom: -30px;}
    .entry-header .sbimg img { width: 100%; height: 300px; object-fit: cover;  border-radius: 25px 100px 40px 100px;}
}
@media only screen and (max-width:468px){
    .entry-header h2 { padding-inline: 20px;}
    .entry-header .day , .entry-header .cat { padding-inline: 20px; font-size: 100%; margin: 0;}
    .entry-header .slug-title { padding-inline: 20px;}
}

/* contents */
.title-fukidashi { 
    position: relative;
    max-width: 440px;
    margin: 0 auto 60px;
    padding: 20px 20px 20px 60px;
    font-size: 212.5%;
    border:7px solid #D74535; border-radius: 100px;
} 
.title-fukidashi::before {
    content:"";
    position: absolute;
    bottom: -15px; right:30px;
    width:50px; height: 30px;
    background:#FFF url(images/common/fukidashi.svg) no-repeat center center;
    background-size: auto 100%;
}

.tit1 {
    font-size:100%;
    margin: 0 0 3.0em;
    flex-direction: column;
}
    .tit1.center{
        align-items: center;
    }
    .tit1 span.ja {
        font-size: 237.5%;
        font-weight: 600;
    }
    .tit1 span.en {
        font-size: 112.5%;
        color: #D74535;
    }
.tit2 {
    margin: 0 0 1.25em;
    padding-left: 15px;
    font-size: 137%;
    border-left: 6px solid #D74535;
}
.tit3 {
    margin: 40px 0;
    font-size: 162.5%;
}
.tit4 {
    margin: 20px 0;
    font-size: 137%;
}
.tit5 {
    margin: 20px 0;
    font-size: 137%;
    line-height: 1.6;
    color:#D74535;
}
.tit6 {
    margin: 15px 0;
    padding-bottom: 10px;
    font-size: 112.5%;
    border-bottom: 1px solid #D74535;
}

@media only screen and (max-width:820px){
    .title-fukidashi { margin: 0 0 30px; padding: 15px 0; font-size: 150%; border:6px solid #D74535; justify-content: center;} 
    .title-fukidashi::before { bottom: -13px; width:30px; height: 20px; background-size: auto 100%; }  
    .tit1 { align-items: center;}
    .tit1 span.ja { font-size: 187.5%;}
    .tit1 span.en { font-size: 112.5%; margin: 0;}
}


/* =========================================================================================
Post list
=========================================================================================*/
.post-list{
    position: relative;
}
.post-list ul{
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
}
.post-list ul li{
    border-bottom: 1px solid #000;
    padding: 1.5em 1.5em 1.5em 0;
    display: flex;
    gap: 5px 0;
    align-items: start;
    background: url(images/common/arrow_right_r.svg) no-repeat 97%;
}
.post-list ul li:last-child{
    border-bottom: none;
}
.post-list ul li:hover{
    background: url(images/common/arrow_right_r.svg) no-repeat 98%;
    transition: 0.3s;
}
.post-list ul li a{
    color: #000;
    text-decoration: none;
}
.post-list ul li:hover a{
    color: #D74535 ;
    text-decoration: underline;
    transition: 0.3s;
}
.post-list ul li .day{
    width: 120px;
    color: #7E7E7E;
}
.post-list ul li .cat{
    font-size: 0.8em;
    width:100px;
    height: auto;
}
.post-list ul li .cat a {
    display: block;
    text-align: center;
    padding: 0.25em;
    background: #CCC;
}
.post-list ul li .title{
    width: calc(100% - 120px);
}
.post-list ul li .title a{
    display: block;
}

@media only screen and (max-width:820px){
    .post-list ul li { flex-wrap: wrap; }
    .post-list ul li div{ width: 100% !important; }
}
@media only screen and (max-width:468px){
}

/*technical*/
.technical-list{
    position: relative;
}
.technical-list ul{
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
}
.technical-list ul li{
    display: flex;
    align-items: start;
    border-bottom: 1px solid #000;
    background: url(images/common/arrow_right_r.svg) no-repeat 97%;
    padding: 1.5em 1.5em 1.5em 0;
    gap: 20px;
}
.technical-list ul li:hover{
    background: url(images/common/arrow_right_r.svg) no-repeat 98%;
    transition: 0.3s;
}
.technical-list ul li:last-child{
    border-bottom: none;
}
.technical-list ul li .cat,
.entry-header .cat{
    font-size: 0.8em;
    width:100px;
    height: auto;
}
.technical-list ul li .cat a,
.entry-header .cat a{
    display: block;
    text-align: center;
    padding: 0.25em;
    color: #FFF;
    background: #CCC;
    text-decoration: none;
}
.technical-list ul li .cat a:hover,
.entry-header .cat a:hover{
    opacity: 0.8;
    transition: 0.3s;
}
    .cat a.nissan { background:#51A2AB !important;}
    .cat a.literature { background:#5166AB !important;}
    .cat a.mame { background:#AB7751 !important;}

.technical-list ul li .title{
    width: calc(100% - 120px);
}
.technical-list ul li .title a{
    display: block;
    color: #000;
    text-decoration: none;
}
.technical-list ul li .title a:hover{
    color: #D74535;
    text-decoration: underline;
}

@media only screen and (max-width:820px){
    .technical-list ul li { flex-direction: column; gap:0.25em; }
    .technical-list ul li .cat,
    .entry-header .cat{ width:auto;}
    .technical-list ul li .cat a,
    .entry-header .cat a{ padding: 0.25em 10px;}
    .technical-list ul li .title{ width: 100% }
}
@media only screen and (max-width:468px){
}

/* =========================================================================================
Archive-Page
=========================================================================================*/
.archive .post-list{
    border-top:none;
    border-bottom:none;
    padding:0;
}

/*pagination*/
.pagination {
    margin:80px auto 0;
}
.pagination ul {
    text-align: center;
    display: flex;
    justify-content: center;
    gap:10px;
    margin-bottom: 2.5em;
}
.pagination ul li {
    display: inline-block;
}
.pagination ul li .page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px; height: 40px;
    line-height: 40px;
    color: #D74535;
    text-decoration: none;
    border: 2px solid #D74535;
    border-radius: 40px;
}
.pagination ul li .page-numbers.current {
    pointer-events: none;
    color:#fff;
    background:#D74535  !important;
}
.pagination ul li .page-numbers.prev,
.pagination ul li .page-numbers.next {
    text-indent: -9999px;
}
.pagination ul li .page-numbers.prev {
    background: url(images/common/arrow_left_r.svg) no-repeat 49% center;
    background-size: 7px auto;
}
.pagination ul li .page-numbers.next {
    background: url(images/common/arrow_right_r.svg) no-repeat 51% center;
    background-size: 7px auto;
}
.pagination ul li .page-numbers.dots {
    cursor: pointer;
    color:#D74535;
    background:none;
    font-weight: bold;
}

@media only screen and (min-width:820px){
    .pagination ul li .page-numbers:hover { background-color: #fff !important;}
}
@media only screen and (max-width:820px){
    .pagination { margin:50px auto 0;}
    .pagination ul li .page-numbers { margin: 0 2px; width: 35px; height: 35px; line-height: 35px;}
}


/* =========================================================================================
Single-Page
=========================================================================================*/
.single .single-navi {
    display: flex;
    justify-content: center;
    padding-top: 80px;
}
.single .single-navi div:nth-child(2) {
    border-left: 1px solid #000;
}
.single .single-navi .prev-navi,
.single .single-navi .next-navi{
        width: auto;
        box-sizing: border-box;
        background-repeat: no-repeat;
        background-size: 15px;
    }
.single .single-navi .prev-navi{
        text-align: left;
        background-image: url(images/common/arrow_left.svg);
        background-position: left;
    }
.single .single-navi .prev-navi a{padding: 0 2.0em 0 2.0em;}

.single .single-navi .next-navi{
        text-align: right;
        background-image: url(images/common/arrow_right.svg);
        background-position: right;
    }
.single .single-navi .next-navi a{padding: 0 2.0em 0 2.0em;}

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

}
@media only screen and (max-width:468px){
    .single .single-navi { padding-top: 40px; }
}


/* =========================================================================================
  Editer
=========================================================================================*/
/*Hr*/
.wp-block-separator{
    height: 1px;
    border: none;
    background-color: #000;
    margin: 5vh 0;
}
.wp-block-separator.is-style-dots:before{
    font-size: 3.0em;
    letter-spacing: 1.0em;
    padding-left: 1.0em;
}

/*midashi*/
.wp-block-heading{ font-weight: bold; margin: 1.0em 0 0.5em ; line-height: 1.6;}
h1.wp-block-heading{ font-size: 2.0em !important; }
h2.wp-block-heading{ font-size: 1.65em !important; }
h3.wp-block-heading{ font-size: 1.35em !important; }
h4.wp-block-heading{ font-size: 1.15em !important; }
h5.wp-block-heading{ font-size: 1.0em !important; }
h6.wp-block-heading{ font-size: 0.85em !important; }

@media only screen and (max-width:468px){
    .wp-block-heading{ line-height: 1.5;}
}

/*Table*/
.wp-block-table table{
	width:100%;
}
.wp-element-caption{
    color: #CCC;
    padding: 0.5em 0;
}
.wp-block-table th, .wp-block-table td{
    text-align: left;
    padding: 1.0em;
    vertical-align:middle;
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom:1px solid #000;
    position: relative;
}
.wp-block-table.is-style-stripes .wp-element-caption{
    border-top:3px solid #000;
}

/*Button(wp-block-button)*/
.wp-block-buttons{
    display: flex;
}
.wp-block-button a{
    color: #FFF;
    font-weight: bold;
    font-size:112.5%;
    text-align: center;
    line-height: 1.4;
    background: #D74535;
    padding: 1.0em 3.0em 1.0em 2.0em;
    position: relative;
    border-radius:20px;
}
.wp-block-button a:hover{
    text-decoration: none;
}
.wp-block-button a::after{
    position: absolute;
    content: "";
    background: url(images/common/arrow_right.svg) no-repeat;
    background-size: contain;
    width: 0.5em;
    height: 0.5em;
    right: 1.26em;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
.wp-block-button.is-style-outline{
}
.wp-block-button a:hover{ opacity: 0.7; }
.wp-block-button__link{ font-size: 1.0em; }
.wp-block-buttons>.wp-block-button{ margin: 10px 10px 10px 0; }

@media only screen and (max-width:820px){
    .wp-block-buttons{ display: block; text-align: center;}
}


/*blockquote*/
blockquote{
    position:relative;
    padding: 3.0em 2.0em;
    background:#f5f5f5;
}
blockquote cite {
    display: block;
    font-size: 0.8rem;
    text-align: right;
    color: #808080;
    padding-right:20px;
}

@media only screen and (max-width:820px){
    .wp-block-media-text .wp-block-media-text__content{
        margin: 0;
        padding: 1.5em 0 0.5em;
    }
}

/* text / link / list */
.entry-content p + p {
    margin-top: 1.5em;
}

.entry-content dl {
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
}
    .entry-content dt {
        width:70px;
    }
    .entry-content dt::after {
        margin-left: 20px;
        content: "：";
    }
    .entry-content dd {
        width: calc(100% - 80px);
    }

.entry-content .link  {
    clear: both;
    margin:15px 0 0 1.0em;
    padding-left: 25px;
}
.entry-content .link + .link  {
    margin-top: 20px;
}
.entry-content .link_txt {
    background: url(images/common/arrow_right_r.svg) no-repeat 5px 10px;
    background-size: 7px auto;
}
.entry-content .link_pdf {
    background: url(images/common/icon_pdf.svg) no-repeat left 7px;
    background-size: 16px auto;
}

.entry-content ul {
    margin-left:35px !important;
}
.entry-content ul li {
    text-indent: -6px;
    word-break: break-all;
}
.entry-content ul li + li {
    margin-top: 1.5em;
}
.entry-content ul li::before {
    position: relative; top: -2px; left: -18px;
    display: inline-block;
    width: 6px; height: 6px;
    content: '';
    border-radius: 100%;
    background:#D74535;
}
.entry-content ul li ul {
    margin-top: 20px;
    margin-left:25px;
}
.entry-content ul li ul li::before {
    width: 4px;
    height: 4px;
    background:#000;
}

.entry-content ol {
    margin: 1.5em 0 1.5em 2.75em;
    counter-reset:number;
    list-style-type: none!important;
}
.entry-content ol li {
    position: relative;
}
.entry-content ol li + li {
    margin-top: 1.25em;
}
.entry-content ol li::before {
    position: absolute;
    top: -0.2em;
    left: -1.75em;
    counter-increment: number;
    content: counter(number) ".";
    display:inline-block;
    font-weight:700;
    color: #D74535;
    font-size: 1.375em;
}

.entry-content ol.list_number small {
    display: block;
    line-height: 1.6;
    margin-top: 0.25em;
}
.entry-content ol.list_number2 {
    margin-top:0;
    padding-left:30px;
    counter-reset:number;
    list-style-type: none!important;
}
.entry-content ol.list_number2 li {
    position: relative;
}
.entry-content ol.list_number2 li::before {
    position: absolute;
    top:0;
    left:-25px;
    counter-increment: number;
    content: counter(number) ".";
    display:inline-block;
    font-weight:500;
    font-size: 16px;
}
@media only screen and (max-width:820px){
    .entry-content .link  { margin-left:0;}
    .entry-content ol.list_number { margin-top: 35px;}
}


/* image */
.entry-content .image{
    display: flex;
    flex-wrap: wrap;
    gap:30px;
}
.entry-content .image div{
    width: calc( (100% - 30px ) / 2 );
}
.entry-content .image div.large{
    width: 100%;
}
.entry-content .image img{
    margin: 0;
    padding: 0;
    display: block;
}
.radius1 { border-radius: 50px 100px 80px 100px; }
.radius2 { border-radius: 25px 100px 40px 100px; }
.radius3 { border-radius: 50px 140px 80px 140px; }
.radius4 { border-radius: 30px 80px 50px 80px; }

@media only screen and (max-width:820px){
    .entry-content .image{ gap:20px; }
    .entry-content .image div{ width: calc( (100% - 20px ) / 2 ); }
    .radius1 {  border-radius: 25px 50px 40px 50px;}
    .radius2 {  border-radius: 25px 50px 40px 50px;}
    .radius3 {  border-radius: 25px 50px 40px 50px;}
    .radius4 {  border-radius: 25px 50px 40px 50px;}
}