@charset "utf-8";

ul.Dot>li:before {
    color: #000857;
}

table.Type02 th {
    background: #000857;
}

table.Type03 {
    border-left: 3px solid #000857;
}

table.Type03 th {
    color: #000857;
}

.pcImg {
    display: block;
}

.spImg {
    display: none;
}

body {
    position: relative;
    font-size: 18px;
}

.common-btn {
    padding: 0.5em 4em 0.5em 2.5em;
    border-radius: 5px;
    position: relative;
    text-decoration: none !important;
    color: #fff;
}

.common-btn::after {
    content: "";
    width: .7em;
    height: .7em;
    background-image: url(../img/common-btn-arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    right: 2.5em;
    top: 50%;
    transform: translateY(-50%);
}

.no-wrap {
    white-space: nowrap;
}

.top-common-ttl {
    text-align: center;
    font-size: clamp(27px, 4vw, 50px);
    margin-bottom: 1em;
    padding-bottom: .2em;
    position: relative;
    font-weight: 900;
    font-family: "noto-sans-cjk-jp", sans-serif;
}

.top-common-ttl::after {
    content: "";
    width: 2em;
    height: 3px;
    background-color: #000857;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    display: block;
}


/**********
header
**********/
.header {
    z-index: 999;
    position: fixed;
    width: 100%;
    background: #fff;
}

.header strong {
    padding: 0.5em;
    font-weight: normal;
    display: block;
    font-size: 0.9rem;
}

.header strong span {
    font-weight: bold;
    padding-left: 0.5rem;
}

.header .bar {
    background: #000857;
    color: #fff;
    position: relative;
    border-bottom: #35408c solid 1px;
}

.header .bar a {
    color: #fff;
    text-decoration: none;
}

.header .headerFlex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1300px;
}

.header .topLink {
    display: inline-block;
}

.header .logomark {
    position: absolute;
    width: 80px;
    top: 50%;
    transform: translateY(-50%);
}

.header img.logomark:hover {
    opacity: 1;
}

.header h1 {
    padding-left: 90px;
}

.header h1 span {
    font-size: 2rem;
    vertical-align: sub;
    padding-left: 0.3em;
}

/* .header a{
    color: #fff;
    text-decoration: none;
}
.header img:hover{
    opacity: 1.0;
}
.header strong{
    font-size: 0.8em;
    font-weight: normal;
    margin-left: 65px;
}
.header strong span{
    padding-left: 1.0em;
    font-size: 1.1em;
}
.header .bar{
    background: #000857;
    color: #fff;
    position: relative;
    height: 50px;
}
.header .logomark{
    position: absolute;
    top: -15px;
}
.header .logomark img{
    max-width: 80px;
}
.header h1{
    margin-left: 80px;
    padding-left: 1.0em;
}
.header h1 span{
    font-weight: bold;
    font-size: 2.0em;
    padding-left: 0.3em;
}
.header ul.menu li{
    float: left;
    height: 51px;
}
.header ul.menu li a{
    margin: 0 1.0em;
}
.header ul.menu li:first-child a{
    margin-left: 0;
}
.header ul.menu li:last-child a{
    margin: 0;
}
.header ul.menu a{
    color: #fff;
    text-decoration: none;
    line-height: 47px;
    display: block;
}
.header ul.menu li.current a,
.header ul.menu li a:hover{
    border-bottom: 4px solid #AD8600;
}
.header ul.menu li:hover a{
    opacity: 0.8;
}
.header ul.menu li.contact{
    background: #AD0000;
    border: 3px solid #AD0000;
    height: 50px;
}
.header ul.menu li.contact:hover{
    border-bottom: 3px solid #AD0000;
    background: #fff;
}
.header ul.menu li.contact a:hover{
    border: none;
}
.header ul.menu li.contact:hover a{
    color: #AD0000;
}
.header ul.menu li.contact a{
    padding: 0 1.0em;
}
.header .navigation{
    background: #000857;
    width: 100%;
    left: 0;
    z-index: 999;
}
.header .navigation ul.menu{
    width: 95%;
    margin: 0 auto;
}
.header .navigation ul.menu li{
    width: 25%;
    text-align: center;
} */


/**********
top
**********/
/* -------------
top MV
---------------*/
.top-mv-wrapper video {
    width: 100%;
}

#top-mv {
    padding-top: 106px;
    aspect-ratio: 1905/757;
}







/* -----------------
top　導入企業ロゴ
-------------------*/
#case_logo {
    padding: 100px 20px;
    background-color: #ecedff;
    margin-top: -10px;
}

#case_logo .case_logo-wrapper {
    width: 90%;
    margin: auto;
}

#case_logo .logo-slider {
    /*横幅94%で左右に余白を持たせて中央寄せ*/
    width: 94%;
    margin: 0 auto;
}

#case_logo .logo-slider .slider-item img {
    width: 100%;
    /*スライダー内の画像を横幅100%に*/
    height: auto;
    border-radius: 15px;
    margin-bottom: .8em;
}

#case_logo .logo-slider .slider-item>p {
    text-align: center;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/

#case_logo .logo-slider .slick-slide {
    margin: 0 20px;
}

/*矢印の設定*/
#case_logo .slick-prev,
#case_logo .slick-next {
    position: absolute;
    z-index: 3;
    top: 42%;
    cursor: pointer;
    outline: none;
    /* border-top: 2px solid #ffffff; */
    /* border-right: 2px solid #ffffff; */
    height: 45px;
    width: 45px;
    background-color: #AD0000;
    border-radius: 50%;
}

#case_logo .slick-prev {
    left: -45px;
}

#case_logo .slick-next {
    right: -45px;
}

#case_logo .slick-prev::after,
#case_logo .slick-next::after {
    position: absolute;
    z-index: 3;
    outline: none;
    border-top: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    height: 15px;
    width: 15px;
    content: "";
}

#case_logo .slick-prev::after {
    /*戻る矢印の位置と形状*/
    transform: rotate(-135deg);
    top: 35%;
    left: 40%;
}

#case_logo .slick-next::after {
    /*次へ矢印の位置と形状*/
    transform: rotate(45deg);
    top: 35%;
    right: 40%;
}

#case_logo .slick-next::before {
    content: "";
}

#case_logo .slick-prev::before {
    content: "";
}

.caseDetail .caseSlider .slick-list li {
    aspect-ratio: 600/400;
}

.caseDetail .caseSlider .slick-list li img {
    object-fit: contain;
    height: 100%;
}

/* 導入事例　スライドショードット */
.caseDetail .slick-dots li button:before {
    font-size: 13px;
}

.caseDetail .slick-dots li.slick-active button:before {
    color: #000857 !important;
}

.logo-slider {
    opacity: 0;
}

/* ページ読み込み時に、一瞬縦並びになるのを防止 */
/* slick-initializedが付与されたら表示 */
.logo-slider.slick-initialized {
    opacity: 1;
}


/* -----------------
受賞情報バナー
-------------------*/
.top-award-banner a {
    transition: .2s;
    max-width: 1000px;
    margin: 100px auto 0;
    display: block;
}

.top-award-banner a img {
    width: 100%;
}


/* -----------------
top　有識者インタビュー
-------------------*/
#top-interview {
    padding: 130px 20px 230px;
    background-image: url(../img/top/top-racura-logo-deco.png);
    background-repeat: no-repeat;
    background-size: 22%;
    background-position: -5% 105%;
}

#top-interview .top-interview-ttl {
    text-align: center;
    font-size: clamp(27px, 4vw, 50px);
    margin-bottom: 1em;
    position: relative;
    color: #000857;
    font-weight: 900;
    font-family: "noto-sans-cjk-jp", sans-serif;
}

#top-interview .top-interview-ttl::before {
    content: "";
    height: 1.3em;
    aspect-ratio: 1;
    background-image: url(../img/top/interview-ttl-crown.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: 50%;
    top: -1.2em;
    transform: translateX(-50%);
}

#top-interview .interview-list {
    display: flex;
    width: 80%;
    margin: auto;
    gap: 1.5em;
    justify-content: center;
}

#top-interview .interview-list .item {
    flex-basis: calc(50% - 1.5em);
}

#top-interview .interview-list .item>a {
    display: flex;
    gap: 1em;
    padding: 1.5em;
    text-decoration: none;
    border-radius: 15px;
    border: solid 2px #000857;
    background-color: #fafaff;
    transition: all 0.4s;
}

#top-interview .interview-list .item>a:hover {
    background-color: #f0f0ff;
}

#top-interview .interview-list .item>a img:hover {
    opacity: 1;
}

#top-interview .interview-list .item>a .txtBox {
    width: 65%;
    padding: .5em 0;
}

#top-interview .interview-list .item>a .imgBox {
    width: 30%;
}

#top-interview .interview-list .item>a .imgBox img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
}


#top-interview .interview-list .item>a .txtBox .list-about-interviewee {
    line-height: 1.7;
    margin-top: .7em;
}

#top-interview .interview-list .item>a .txtBox .list-about-interviewee .interviewee-name {
    font-size: 1.3em;
    margin-right:.4em;
}

.to-interview-list {
    text-align: center;
    margin-top: 4em;
    position: relative;
    z-index: 1;
}

.to-interview-list .common-btn {
    color: #fff;
    background-color: #000857;
}


/* -----------------
top　選ばれる理由
-------------------*/
#reason {
    background-color: #000857;
    position: relative;
    padding: 200px 20px 100px;
    background-image: url(../img/top/reason-bg.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

#reason::before {
    content: "";
    width: 100%;
    background-image: url(../img/top/reason-circle.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom;
    position: absolute;
    left: 0;
    top: -118px;
    height: 120px;
}

#reason .top-reason-ttl {
    text-align: center;
    font-size: clamp(27px, 4vw, 50px);
    margin-bottom: 1em;
    position: absolute;
    color: #ffffff;
    top: -.2em;
    left: 50%;
    transform: translateX(-50%);
    font-weight: 900;
    font-family: "noto-sans-cjk-jp", sans-serif;
}

#reason .top-reason-ttl::before {
    content: "";
    height: 100%;
    aspect-ratio: 1;
    background-image: url(../img/top/top-slider2-deco-l.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: -3em;
    bottom: 0;
}

#reason .top-reason-ttl::after {
    content: "";
    height: 100%;
    aspect-ratio: 1;
    background-image: url(../img/top/top-slider2-deco-r.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    right: -3em;
    bottom: 0;
}

#reason .top-reason-ttl .reason-ttl-small {
    display: block;
    font-size: .6em;
}

#reason .reason-list {
    display: flex;
    flex-wrap: wrap;
    gap: 2em;
    justify-content: center;
    max-width: 1100px;
    margin: auto;
}

#reason .reason-item {
    width: 30%;
    background-color: #fff;
    border-radius: 15px;
    border: #AD8600 solid 5px;
    padding: 1.5em 1em;
}

#reason .reason-item h3 {
    font-size: clamp(22px, 3vw, 24px);
    text-align: center;
    color: #000857;
}

#reason .reason-item img {
    width: 50%;
    margin: 1em auto;
    display: block;
    object-fit: contain;
    aspect-ratio: 1;
}

#reason .reason-item .reason-item-txt {
    display: inline-block;
    position: relative;
    left: 50%;
    transform: translate(-50%);
    text-align: center;
}

#reason .reason-item .reason-item-txt span {
    display: block;
}


/* -----------------
top　トータルサポート
-------------------*/
#total-support {
    padding: 100px 0 0;
    background-image: url(../img/top/top-racura-logo-deco.png);
    background-repeat: no-repeat;
    background-size: 25%;
    background-position: 105% -5%;
}

#total-support .total-support-top {
    max-width: 1100px;
    margin: auto;
    padding: 0 20px;
}

#total-support .total-support-top>h2 {
    text-align: center;
    margin-bottom: 1em;
    color: #000857;
    font-size: clamp(27px, 4vw, 50px);
}

#total-support .total-support-top>h2 .dot-line {
    border-bottom: dotted 6px #000857;
    padding: .1em 0em .1em .3em;
}

#total-support .total-support-top>h2 span {
    font-weight: 900;
    font-family: "noto-sans-cjk-jp", sans-serif;
}

#total-support .total-support-top>h2 .no-wrap {
    position: relative;
    margin-top: .3em;
    display: inline-block;
}

#total-support .total-support-top .intro {
    display: flex;
    gap: 2em;
    justify-content: space-between;
    margin-bottom: 2em;
}

#total-support .total-support-top .intro img {
    width: 30%;
    object-fit: contain;
}

#total-support .total-support-top .intro .intro-txt {
    width: 70%;
    padding-top: .5em;
}

#total-support .total-support-top .intro .intro-txt h2 {
    font-size: clamp(25px, 4vw, 50px);
    margin-bottom: .8em;
}

#total-support .total-support-top .intro .intro-txt .support-contents {
    display: flex;
    gap: 1em;
    margin-bottom: 1em;
}

#total-support .total-support-top .intro .intro-txt .support-contents p {
    background-color: #000857;
    padding: .3em 0;
    border-radius: 5px;
    color: #fff;
    font-size: clamp(16px, 3vw, 22px);
    font-weight: bold;
    flex: 1;
    text-align: center;
}

#total-support .total-support-top .check {
    background-color: #f8f9fd;
    border-radius: 15px;
    box-shadow: 0 0 10px #ccc;
    padding: 2em 3em;
    display: flex;
    justify-content: center;
}

#total-support .total-support-top .check .check-inner p {
    position: relative;
}

#total-support .total-support-top .check .check-inner p:not(:last-child) {
    margin-bottom: .8em;
}

#total-support .total-support-top .check .check-inner p::before {
    content: "";
    width: 1.4em;
    height: 1.4em;
    background-image: url(../img/top/support-check-icon.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: -2em;
    top: 0;
}

#total-support .total-support-bottom {
    background-image: url(../img/top/support-bg.jpg);
    background-repeat: no-repeat;
    background-size: auto 72%;
    background-position: bottom;
    padding: 150px 20px 80px;
}

#total-support .total-support-bottom .support-list {
    display: flex;
    flex-wrap: wrap;
    gap: 2em;
    justify-content: center;
    max-width: 1100px;
    margin: auto;
}

.total-support-bottom .support-list .support-item {
    width: 30%;
    background-color: #fff;
    border-radius: 15px;
    padding: 1.5em 2em 1.5em;
    box-shadow: 0 0 10px #ccc;
    position: relative;
}

.total-support-bottom .support-list .support-item:nth-child(1),
.total-support-bottom .support-list .support-item:nth-child(2),
.total-support-bottom .support-list .support-item:nth-child(3) {
    margin-bottom: 3em;
}

.total-support-bottom .support-list .support-item img {
    width: 60%;
    margin: 1em auto 2em;
    display: block;
    object-fit: contain;
    aspect-ratio: 1;
}

.total-support-bottom .support-list .support-item .support-item-txt {
    display: inline-block;
    position: relative;
    left: 50%;
    transform: translate(-50%);
    text-align: center;
}

.total-support-bottom .support-list .support-item .support-item-txt span {
    display: block;
}

.total-support-bottom .support-list .support-item .num {
    background-color: #AD0000;
    color: #fff;
    font-weight: bold;
    font-size: clamp(22px, 3.3vw, 35px);
    padding: .5em;
    border-radius: 50%;
    position: absolute;
    top: -1em;
    left: 50%;
    transform: translateX(-50%);
}

/* -----------------
top　システム
-------------------*/
#system {
    padding: 100px 20px;
}

#system .system-image {
    max-width: 1100px;
    margin: auto;
    border-radius: 20px;
    background-color: #f6f7ff;
    padding: 3em;
}

#system .system-image .system-content {
    display: flex;
    border-radius: 15px;
    background-color: #fff;
    margin-bottom: 1.5em;
    border: solid 2px #000857;
}

#system .system-image .system-content h3 {
    background-color: #000857;
    color: #fff;
    border-radius: 12px 0 0 12px;
    padding: .6em;
    text-align: center;
    writing-mode: vertical-rl;
    font-size: clamp(22px, 3vw, 28px);
}

#system .system-image .system-content .system-content-detail {
    display: flex;
    gap: 1em;
    padding: 1em 1.5em;
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
}

.system-content-detail .system-content-detail-item {
    padding: 1em 1.5em;
    border-radius: 15px;
}

.system-content-detail .system-content-detail-item .ttl {
    text-align: center;
    font-size: 1.2em;
    font-weight: bold;
    color: #000857;
}

.system-content-detail .system-content-detail-item .ttl span {
    text-align: left;
    color: #000000;
    display: block;
    font-size: 16px;
}

.system-content-detail .system-content-detail-item ul {
    margin-top: 1em;
}

.system-content1 .system-content-detail .system-content-detail-item {
    width: calc(50% - 1em);
    background-color: #ecd196;
}

.system-content2 .system-content-detail .system-content-detail-item {
    width: calc(50% - 1em);
    background-color: #c0dbff;
}

.system-content3 .system-content-detail .system-content-detail-item {
    width: 98%;
    background-color: #ffcfd5;
}

.system-content2 .system-content-detail .system-content-detail-item3 {
    width: calc(100% - 1em);
}

.system-content2 .system-content-detail .system-content-detail-item3 .list-flex {
    display: flex;
    gap: 1em;
    justify-content: space-between;
}

.system-content2 .system-content-detail .system-content-detail-item3 .list-flex ul {
    width: calc(50% - 1em);
}

.system-content-detail .system-content-detail-item ul li {
    position: relative;
    padding-left: 1.4em;
    margin-bottom: .5em;
    line-height: 1.3;
}

.system-content-detail .system-content-detail-item ul li::before {
    position: absolute;
    content: "";
    width: 1em;
    height: 1em;
    background-color: #000857;
    border-radius: 50%;
    display: inline-block;
    left: 0;
    top: .2em;
}

.system-content-detail .system-content-detail-item ul li .note {
    font-size: 14px;
    margin-left: .5em;
}

.system-content3 .system-content-detail .system-content-detail-item .ttl .note {
    font-size: 14px;
    margin-left: .5em;
    display: inline-block;
    font-weight: normal;
}

.system-content3 .system-content-detail .system-content-detail-item ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.system-image-note-bottom p {
    font-size: clamp(15px, 2vw, 16px);
}


/* -----------------
top　ニュース
-------------------*/
#top-news {
    padding: 100px 20px 140px;
}

#top-news .to-news-list {
    margin-top: 3em;
}

/* -----------------
top　運用イメージ
-------------------*/
#operation-image {
    padding: 100px 20px;
    background-color: #ecedff;
}

#operation-image .operation-image-wrapper {
    max-width: 1100px;
    margin: auto;
    padding: 2em;
    border-radius: 20px;
    background-color: #f4f7ff;
}

#operation-image img {
    width: 100%;
}






/* .top .fadein{
    animation-name: fadein;
    animation-duration: 1s;
}
@keyframes fadein {
    from {
        opacity: 0;
        transform: translateX(100px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}
.top .main{
    position: relative;
    z-index: -1;
    /* height: 668px;
}
.top .main p.bigCopy{
    font-size: 3.0em;
}
.top .main p.smallCopy{
    color: #AD8600;
}
.top .main p.smallCopy span.spColumn{
    padding-right: 0.5em;
}
.top .main .img{
    position: absolute;
    top: -70px;
    right: 0;
}
.top .main .img img{
    width: 300px;
}
.top .main p.it{
  font-size:1.5rem;
  color: #AD0000;
}
.top .main p.it br{
    display: none;
}
.top .question{
    background: #000857;
    color: #fff;
    position: relative;
    z-index: -2;
    height: 500px;
}
.top .question .sp{
  display: none;
}
.top .question .toji{
    text-align: center;
    position: absolute;
    top: 8%;
    bottom: 0;
    left: 0;
    right: 0;
}
.top .question .toji img{
    max-width: 250px;
}
.top .question .q{
    position: absolute;
}
.top .question .q1{
    top: 50px;
    right: 58%;
}
.top .question .q2{
    top: 100px;
    left: 58%;
}
.top .question .q3{
    bottom: 50px;
    right: 58%;
}
.top .question .q4{
    bottom: 25px;
    left: 55%;
}
.top .help .table{
  margin: 0 auto;
}
.top .help .arrow{
    max-width: 80px;
    top: -80px;
    left: 10%;
}
.top .help img.say{
    max-width: 80px;
}
.top .help .sayBox{
    padding: 0 2.0em;
}
.top .help p:first-child{
    font-size: 2.0em;
}
.top .help p:last-child{
    font-size: 3.0em;
}
.top .help .light{
    max-width: 100px;
    top: -50px;
    right: 22%;
}
.top .point{
    margin: 0 auto;
}
.top .point p.b{
    background: #AD0000;
    color: #fff;
    border: 10px solid #fff;
    box-shadow: 0px 0px 0px 1px #AD0000;
    font-size: 1.2em;
    width: 250px;
    height: 250px;
    border-radius: 250px;
    text-align: center;
    padding-top: 4.8em;
}
.top .point .cell{
    padding: 0 1.0em;
}
.top .point .triangle{
    border-top: 25px solid transparent;
    border-bottom: 25px solid transparent;
    border-left: 25px solid #790000;
}
.top .about{
    text-align: center;
}
.top .machine{
    margin: 0 auto;
}
.top .machine .cell{
    padding: 0 2.0em;
}
.top .machine .cell:nth-child(1) img,
.top .machine .cell:nth-child(3) img{
    max-width: 400px;
}
.top .machine .cell:nth-child(2) img{
    max-width: 150px;
} */


/* -----------------
機能、導入事例へのリンク
-------------------*/
.func {
    background: #000857;
    padding: 5.0em 0;
}

.func .in {
    max-width: 1100px;
}

.func a {
    color: #fff;
    text-decoration: none;
    display: block;
    text-align: center;
}

.func .left {
    width: 50%;
}

.func .item {
    background: #fff;
    border: 10px solid #000857;
    transition: all 0.4s;
}

.func .item:hover {
    transform: scale(1.02, 1.02);
}

.func .item a {
    color: #000857;
    display: block;
    padding-top: 4.0em;
    height: 450px;
}

.func .item strong {
    display: block;
    background: #000857;
    border: 6px solid #fff;
    border-radius: 100px;
    color: #fff;
    padding: 0.5em 1.0em;
    font-size: 1.3em;
    top: -20px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 70%;
}

.func .item img {
    max-width: 256px;
}

.func .item img:hover {
    opacity: 1.0;
}

.func .item .text {
    padding: 2.0em 2.0em 0;
}

.func .item .more {
    background: #000857;
    color: #fff;
    margin-top: 1.0em;
    bottom: 0;
    width: 100%;
    padding: 0.5em 0;
    border: 5px solid #fff;
}


/* .top .voice h2{
    border-bottom: 5px dotted #000857;
    color: #000857;
}
.top .voice strong{
    font-size: 1.8em;
    line-height: 1.2;
}
.top .voice .name{
    color: #000857;
}
.top .voice img{
    max-width: 400px;
} */

/**********
pageTop
**********/
.pageTop {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 99;
}

.pageTop a {
    text-decoration: none;
    color: #AD8600;
    display: block;
    font-size: 4.0em;
}

.pageTop a:hover {
    opacity: 0.5;
}

/**********
footer
**********/
.footer img {
    display: block;
    margin: 0 auto;
    width: 100%;
}

.footer .footerBox .posiA {
    left: 0;
    right: 0;
    top: 35%;
    max-width: 60%;
    margin: auto;
}

.footer .footerBox a {
    display: block;
    background: #AD0000;
    border: 3px solid #AD0000;
    color: #fff;
    text-align: center;
    border-radius: 10px;
    text-decoration: none;
    padding: .7em;
    width: 50%;
    max-width: 550px;
    margin: 0 auto;
    font-size: clamp(18px, 2vw, 45px);
}

.footer .footerBox a:hover {
    background: #fff;
    color: #AD0000;
}

.footer .footerBox p {
    text-align: center;
    color: #000857;
}

.top-contact-ttl {
    font-size: clamp(22px, 2.5vw, 50px);
    margin-bottom: .5em;
}

.top-contact-ttl span {
    position: relative;
    font-weight: 900;
    font-family: "noto-sans-cjk-jp", sans-serif;
}

.top-contact-ttl span::before {
    content: "";
    width: 1.2em;
    height: 1.2em;
    background-image: url(../img/top/top-slider2-deco-l.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: -1.5em;
    top: 50%;
    transform: translateY(-50%);
}

.top-contact-ttl span::after {
    content: "";
    width: 1.2em;
    height: 1.2em;
    background-image: url(../img/top/top-slider2-deco-r.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    right: -1.5em;
    top: 50%;
    transform: translateY(-50%);
}

/* フッター下部 */
.footer .footer-bottom {
    background-color: #000857;
    padding: 2em 20px;
    background-image: url(../img/footer-bg.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    color: #fff;
}

.footer .footer-bottom .footer-bottom-inner {
    max-width: 1100px;
    margin: auto;
}

.footer-bottom-links {
    padding-bottom: 2em;
    border-bottom: solid 1px #fff;
    margin-bottom: 2em;
}

.footer-bottom-links img {
    max-width: 370px;
    display: block;
    margin: 0 auto 3em;
}

.footer-bottom-links .link-list {
    display: flex;
    gap: 1em;
    justify-content: center;
    flex-wrap: wrap;
}

.footer-bottom-links .link-list li {
    margin: 0 .5em;
}

.footer-bottom-links .link-list li a {
    color: #fff;
    text-decoration: none;
}

.footer-bottom-links .link-list-btns {
    display: flex;
    gap: 1em;
    justify-content: center;
    margin-top: 2em;
}

.footer-bottom-links .link-list-btns li a {
    padding: .5em 1.5em;
    border-radius: 5px;
    transition: .2s;
    width: 250px;
    display: block;
    text-align: center;
    text-decoration: none;
}

.footer-bottom-links .link-list-btns .f-award a {
    background-color: #AD8600;
    color: #fff;
    border: #AD8600 solid 2px;
}

.footer-bottom-links .link-list-btns .f-award a:hover {
    background-color: #ffffff;
    color: #AD8600;
}

.footer-bottom-links .link-list-btns .f-inquiry a {
    background-color: #AD0000;
    color: #fff;
    border: #AD0000 solid 2px;
}

.footer-bottom-links .link-list-btns .f-inquiry a:hover {
    color: #AD0000;
    background-color: #fff;
}



.footer-bottom-pascal {
    display: flex;
    gap: 3em;
    align-items: center;
    justify-content: center;
}

.footer-pascal-logo {
    width: 30%;
}

.footer-bottom-pascal .address {
    width: 50%;
}

.footer-bottom-pascal .address a {
    color: #fff;
}

.footer .copyright {
    background-color: #121212;
    color: #fff;
    padding: .4em;
    text-align: center;
    font-size: .7em;
}

@supports (-webkit-touch-callout: none) {
    .footer-bottom-pascal .address a {
        position: relative;
        top: -.2em;
    }
}

/**********
Bread
**********/
.bread {
    border-bottom: 1px solid #000857;
    padding-top: 106px;
}

.bread p,
.bread p::after {
    font-size: 0.8em;
}

.bread p {
    float: left;
}

.bread p::after {
    content: "　〉";
}

.bread p:last-child::after {
    content: none;
}

.bread p:last-child {
    font-weight: 900;
}

/**********
sub
**********/
.sub h2 {
    text-align: center;
}

.sub h2 p {
    text-align: center;
    font-weight: bold;
}

.sub h2 p:first-child {
    position: relative;
    display: inline-block;
    padding: 0 3.5em;
    color: #000857;
}

.sub h2 p:first-child:before,
.sub h2 p:first-child:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 85px;
    height: 1px;
    background-color: #AD8600;
}

.sub h2 p:first-child:before {
    left: 0;
}

.sub h2 p:first-child:after {
    right: 0;
}

.sub h2 p:nth-child(2) {
    font-size: 0.8em;
    color: #AD8600;
}

.sub h3 {
    color: #000857;
}

.sub .mark {
    background: linear-gradient(0deg, #feff66 0%, #feff66 50%, #fff 50%, #fff 100%);
}

.monitoring .item .left {
    width: 58%;
}

.monitoring .item .right {
    width: 40%;
    max-width: 400px;
    padding-top: 1.0em;
}

.monitoring .item .right img {
    border: 3px solid #EBEBEB;
    padding: 0.5em;
    border-radius: 5px;
}

.monitoring .item strong {
    display: block;
    background: #000857;
    color: #fff;
    padding: 0.2em 0.5em;
}

.monitoring .flow {
    background: #EBEBEB;
}

.monitoring .flow h3 {
    background: #000857;
    color: #fff;
    text-align: center;
    padding: 0.5em 0;
}

.monitoring .flow img {
    max-width: 900px;
    margin: 0 auto;
    display: block;
    padding: 2.0em 1.0em;
}

.monitoring .sensor h3 {
    text-align: center;
}

.monitoring .sensor {
    padding: 2em !important;
    background: #e6e8fb;
    border-radius: 15px;
    max-width: 80%;
    margin: 2em auto 0;
}

.monitoring .sensor>h4 {
    text-align: center;
    margin-bottom: 1em;
}

.monitoring .sensor .table {
    max-width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    justify-content: center;
}

.monitoring .sensor .cell {
    text-align: center;
}

.monitoring .sensor .cell img {
    max-width: 200px;
}

.monitoring .sensor .table .sensor-item {
    width: calc(100% / 2 - 0.7em);
}

.monitoring .sensor .table .sensor-item:nth-child(5) {
    flex: 1;
}

.monitoring .sensor .table .sensor-item>p {
    padding: .5em .1em;
    background: #000857;
    color: #fff;
    text-align: center;
    border-radius: 10px 10px 0 0;
    font-size: clamp(16px, 3vw, 18px);
}

.monitoring .sensor .table .sensor-item .sensor-img {
    padding: .8em;
    background: #fff;
    border-radius: 0 0 10px 10px;
}

.monitoring .sensor .table .sensor-item .sensor-img img {
    filter: drop-shadow(2px 4px 4px #999);
}

.monitoring .sensor .table .sensor-item:nth-child(5) .kiki-note {
    font-size: clamp(12px, 2vw, 15px);
    font-weight: 400;
    font-family: sans-serif;
    margin-top: 1em;
}


/**********************************
 function
**********************************/
.functionSub .small {
    padding-top: 6.5em;
}

.function .itemBox {
    display: flex;
}

.function .item {
    width: 100%;
    margin: 1em;
}

.function .item a {
    display: block;
    padding: 1em 0.5em;
    text-decoration: none;
    text-align: center;
    overflow: hidden;
    transition: transform .6s ease;
    border: 1px solid #888;
    border-radius: 5px;
}

.function .item a:hover {
    transform: scale(1.1);
    box-shadow: 0px 0px 8px rgba(0, 0, 0, .8)
}

.function .item img {
    max-width: 150px;
}

.function .item img:hover {
    opacity: 1;
}

.function .item p {
    font-weight: bold;
    padding-top: 0.5rem;
}

.function .item p.line1 {
    padding-bottom: 1.4rem;
}

.function .item a:hover p {
    font-weight: bold;
    letter-spacing: 0.05rem;
}

/* functionSub */
.functionSub .columnBox {
    position: relative;
    display: flex;
    gap: 1.5em;
}

.functionSub .mainContents {
    flex: 1;
}

.functionSub .subMenu {
    position: sticky;
    top: 80px;
    max-width: 290px;
    height: 290px;
    padding-top: 1em;
}

.functionSub .subMenu.subMenuStop {
    position: absolute;
    top: auto;
    transform: none;
    bottom: 0;
}

.functionSub .subMenu ul {
    border-top: 4px solid;
    border-bottom: 4px solid;
    border-color: #000857;
    padding-bottom: 1em;
}

.functionSub .subMenu ul li {
    padding: 1em 0.5em 0 1.5em;
    position: relative;
}

.functionSub .subMenu ul li a {
    text-decoration: none;
    position: relative;
}

.functionSub .subMenu ul li.current a {
    font-weight: bold;
    color: #000857;
}

.functionSub .subMenu ul li.current a::before,
.functionSub .subMenu ul li a:hover::before {
    content: "●";
    position: absolute;
    left: -1rem;
    color: #000857;
}

.functionSub .bottomSubMenu {
    display: none;
}

.functionSub .middle {
    padding-top: 6.5em;
}


.thumbnail, .slider {
  opacity: 0;
}
.thumbnail.slick-initialized, .slider.slick-initialized {
    opacity: 1;
}

.function-note-graph {
    font-size: clamp(11px, 2vw, 13px);
}

/* 事績一覧表 */
.achievements-content {
    display: flex;
    justify-content: space-between;
    border: solid 1px #000857;
    padding: 2em 2em 1em;
    font-size: .8em;
    border-radius: 10px;
    background: #ecedffb8;
    gap: 1em;
    flex-wrap: wrap;
}

.achievements-content-list {
    margin-bottom: 2em;
}

.achievements-content-list>p {
    font-size: 1.2em;
    margin-left: -.4em;
}

.achievements-ttl {
    margin-top: 2em;
}

.achievements-content-list ul.dot>li:before {
    color: #000857;
    font-size: .8em;
}

.achievements-table-wrapper {
    padding: 1.5em;
    background: #e3e6ec;
    margin-top: 3em;
}

.achievements-table-wrapper>p {
    margin-bottom: .5em;
    text-align: center;
    color: #000857;
    font-weight: bold;
}



/**********************************
 case
**********************************/
.case .flexBox {
    display: flex;
}

.caseIndex .flexBox {
    flex-wrap: wrap;
}

.case .item {
    flex-basis: calc(100%/3);
    padding: 1em;
}

.case .item a {
    display: block;
    text-decoration: none;
    border-radius: 20px;
    padding: 1.5em 1.5em 3em;
    background: #EBEBEB;
    height: 100%;
    position: relative;
}

.case .item a:hover {
    background: #e5e6ee;
}

.case .item a .imgBox {
    aspect-ratio: 320 / 240;
}

.case .item a .imgBox img {
    max-width: 400px;
}

.case .item a .imgBox img:hover {
    opacity: 1;
}

.case .item a .txtBox {
    padding: 1em;
}

.case .item a .iconBox {
    text-align: center;
    position: absolute;
    bottom: 1em;
    left: 50%;
    transform: translateX(-50%);
}

.case .item a .iconBox i {
    font-size: 2rem;
}

.caseDetail .caseSlider {
    width: 600px;
}

.caseDetail .intro {
    padding: 1em;
}

.caseDetail .intro .brand {
    padding: 1em;
}

.caseDetail .intro .brand img {
    width: 180px;
}

.caseDetail table {
    border-collapse: collapse;
}

.caseDetail table.prof tr:first-child {
    border-top: 1px solid #888;
}

.caseDetail table.prof tr {
    border-bottom: 1px solid #888;
}

.caseDetail table.prof tr th,
.caseDetail table.prof tr td {
    padding: 0.3em 0.5em;
    font-size: 0.8rem;
}

.caseDetail .faqBox {
    padding: 3em;
    border-radius: 20px;
    background: #EBEBEB;
}

.caseDetail .faqBox h3 {
    font-size: 1.2rem;
    position: relative;
    display: inline-block;
    padding: 0 65px;
}

.caseDetail .faqBox h3::before {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 55px;
    height: 1px;
    background-color: black;
    left: 0;
}

.caseDetail .faqBox p {
    font-size: 1.1rem;
}

.caseDetail .faqBox .item:not(:first-child) {
    padding-top: 2em;
}

.caseDetail .faqBox .item .interview-content {
    padding-top: 0.4em;
}

.caseSlider {
    opacity: 0;
}

/* ページ読み込み時に、一瞬縦並びになるのを防止 */
/* slick-initializedが付与されたら表示 */
.caseSlider.slick-initialized {
    opacity: 1;
}


/* 挿入事例ページ　ロゴ一覧 */
.case-logo-list-main-wrapper {
    background-color: #dfe4f3;
    padding: 2em 20px;
    margin-top: 3em;
}

.case-logo-list-main-wrapper .case-logo-list-main {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    justify-content: center;
    max-width: 1200px;
    margin: auto;
}

.case-logo-list-main-wrapper .case-logo-list-main .case-logo-main-item {
    width: calc(100% / 6 - 1em);
}

.case-logo-list-main-wrapper .case-logo-list-main .case-logo-main-item img {
    border-radius: 10px;
}

.case-logo-list-main-wrapper>h3 {
    font-size: clamp(22px, 3vw, 28px);
    font-weight: bold;
    margin-bottom: 1em;
    text-align: center;
}

.case-list>h3 {
    font-size: clamp(22px, 3vw, 28px);
    font-weight: bold;
    text-align: center;
}

.case-list>h3 span {
    position: relative;
}

.case-list>h3 span::before {
    content: "";
    width: 1.2em;
    height: 1.2em;
    background-image: url(../img/top/top-slider2-deco-l.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: -1.5em;
    top: 50%;
    transform: translateY(-50%);
}

.case-list>h3 span::after {
    content: "";
    width: 1.2em;
    height: 1.2em;
    background-image: url(../img/top/top-slider2-deco-r.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    right: -1.5em;
    top: 50%;
    transform: translateY(-50%);
}

.case-list {
    padding-top: 5em;
}

.case-list .middle {
    padding-top: 1em;
}


/**********************************
 flow
**********************************/

#flow {
    background-image: url(../img/top/top-racura-logo-deco.png);
    background-repeat: no-repeat;
    background-size: 22%;
    background-position: 105% -5%;
}

.flow {
    padding: 100px 20px;
}

.flow h2 {
    text-align: center;
}

.flow .itemBox {
    counter-reset: number 0;
}

.flow .itemBox .item h3:before {
    counter-increment: number 1;
    content: counter(number) "";
    display: block;
    text-align: center;
    font-size: 1.8rem;
    font-family: 'Noto Sans Japanese', sans-serif;
    font-weight: 300;
    padding-bottom: 0.2em;
}

.flow .itemBox .item {
    display: flex;
    align-items: center;
    border-bottom: 1px dashed #cdb666;
    margin-bottom: 0.5em;
}

.flow .itemBox .item h3 {
    font-size: 0.9rem;
    width: 200px;
    text-align: center;
    padding: 1em 0;
    margin-right: 1em;
    background: #AD8600;
    color: #fff;
    font-size: 1.1rem;
}

.flow .itemBox .item h3 span {
    display: block;
    font-weight: bold;
}

.flow .itemBox .item div p.memo {
    font-size: 0.8rem;
}



/**********************************
 news一覧
**********************************/
.news-category-list {
    margin-bottom: 3em;
    margin-top: 3em;
    text-align: center;
}

.news-category-list>div {
    display: flex;
    justify-content: center;
    gap: 1em;
    flex-wrap: wrap;
}

.news-category-list>div a {
    padding: .3em .8em;
    display: inline-block;
    border-radius: 5px;
    text-decoration: none;
    font-size: clamp(14px, 2.5vw, 16px);
    font-weight: bold;
}

.news-category-list a.active {
    background-color: #dcdfec;
    /* お好みの背景色 */
    color: #000000;
    /* テキスト色も必要に応じて変更 */
}

.news-list {
    max-width: 900px;
    margin: auto;
}

.news-list .news-list-item {
    border-bottom: solid 1px #84869d;
    padding: 1em 1.5em;
}

.news-list .news-list-item:first-child {
    border-top: solid 1px #84869d;
}

.news-list .news-list-item .categories {
    display: flex;
    gap: .5em;
}

.news-list .news-list-item .date {
    font-size: clamp(14px, 2.5vw, 16px);
}

.news-list .news-list-item .categories a {
    padding: .4em 1em .2em;
    display: inline-block;
    color: #fff;
    font-size: 13px;
    text-decoration: none;
}

.news-list .news-list-item h1 a {
    font-weight: bold;
}

.news-list .news-list-item h1 a:hover {
    text-decoration: none;
}

.news-list .news-list-item .news-list-item-top {
    display: flex;
    gap: 1.5em;
    margin-bottom: 1em;
    align-items: center;
}

/**********************************
 ページネーション　一覧
**********************************/
#pagination {
    margin-top: 3em;
}

#pagination .pagination {
    display: flex;
    justify-content: center;
    color: #000857;
}

#pagination .pagination .page-numbers,
#pagination .pagination span {
    width: 1.8em;
    height: 1.8em;
    text-align: center;
    line-height: 1.6;
    border: solid 2px #000857;
    margin-left: .8em;
    display: inline-block;
}

#pagination .pagination .current {
    background-color: #000857;
    width: 1.8em;
    height: 1.8em;
    text-align: center;
    line-height: 1.6;
    margin-left: .8em;
    color: #fff;
}

#pagination .pagination a:first-child {
    margin-right: 1em;
    border: none;
    width: auto;
    height: auto;
}

#pagination .pagination a {
    text-decoration: none;
}

#pagination .pagination a:last-child {
    margin-left: 1em;
    border: none;
    width: auto;
    height: auto;
}

#pagination .pagination .dots {
    border: none;
    width: auto;
}

/**********************************
 news詳細
**********************************/
#news-detail .news-detail-box {
    box-shadow: 0 0 5px #ccc;
    padding: 3em;
    max-width: 900px;
    margin: 0 auto 3em;
}

#news-detail .news-detail-box-top {
    display: flex;
    gap: 1.5em;
    margin-bottom: 1em;
    align-items: center;
}

#news-detail .news-detail-box-top .categories {
    display: flex;
    gap: .5em;
}

#news-detail .news-detail-box-top .categories a {
    padding: .4em 1em .2em;
    display: inline-block;
    color: #fff;
    font-size: 13px;
    text-decoration: none;
}

/* カテゴリーの色（一覧、詳細） */
.news-list .news-list-item .categories a.notice,
#news-detail .news-detail-box-top .categories a.notice {
    background-color: #5d5db1;
}

.news-list .news-list-item .categories a.topics,
#news-detail .news-detail-box-top .categories a.topics {
    background-color: #e57463;
}

.news-list .news-list-item .categories a.award,
#news-detail .news-detail-box-top .categories a.award {
    background-color: #7c5a3c;
}

.news-detail-box h1 {
    padding: .2em;
    border-bottom: 2px solid #000857;
    font-size: clamp(20px, 3vw, 24px);
    font-weight: bold;
    margin-bottom: 1.5em;
    color: #000857;
}

.news-detail-box .content {
    line-height: 1.8;
}

.news-detail-box .content img {
    margin: 2em 0;
    /* display: block; */
    max-width: 100%;
    margin-right: 1em;
    width: auto;
}

.to-news-list {
    text-align: center;
    margin-top: -1.5em;
}

.to-news-list .common-btn {
    color: #fff;
    background-color: #000857;
}

/**********************************
ページネーション　詳細
**********************************/
.pagenavi {
    display: flex;
    justify-content: space-around;
    align-items: center;
    gap: 6em;
}

.pagenavi .next a,
.pagenavi .prev a {
    color: #000857;
    text-decoration: none;
}


/**********************************
有識者インタビュー一覧
**********************************/
#interview .interview-list {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

#interview .interview-list .item {
    flex-basis: calc(100% / 2);
    padding: 1em;
}

#interview .interview-list .item>a {
    display: flex;
    gap: 1em;
    padding: 1.5em;
}

#interview .interview-list .item>a .txtBox {
    width: 65%;
    padding: .5em 0;
}

#interview .interview-list .item>a .imgBox {
    width: 30%;
}

#interview .interview-list .item>a .imgBox img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
}

#interview .interview-list .item>a .txtBox h3 {
    font-size: clamp(22px, 3vw, 24px);
}

#interview .interview-list .item>a .txtBox .list-about-interviewee .interviewee-name {
    font-size: 1.3em;
    margin: 0 .4em;
}

.interview-list .interviewee-name {
    font-size: 1.3em;
    margin-right: .3em;
}

/**********************************
有識者インタビュー詳細
**********************************/
.interview-detail-wrapper>h3 {
    font-size: clamp(20px, 4vw, 28px);
    width: 60%;
    margin: 3em auto 0;
}

.interview-detail-wrapper .interview-detail-profile {
    max-width: 80%;
    margin: 0 auto 3em;
    background-color: #f8f8ff;
    border-radius: 10px;
    padding: 4em 2em 2em;
    position: relative;
    border: solid 1px #000857;
}

.interview-detail-wrapper .interview-detail-profile .profile {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    padding: .3em 1em;
    background-color: #AD8600;
    color: #fff;
    font-weight: bold;
}

.interview-detail-wrapper .interview-detail-profile .content {
    display: flex;
    gap: 2em;
    justify-content: center;
    align-items: flex-start;
}

.interview-detail-wrapper .interview-detail-profile .content .profile-img {
    height: auto;
    width: 30%;
    object-fit: contain;
}

.interview-detail-wrapper .interview-detail-profile .content .profile-txt {
    /* width: 63%; */
    flex: 1;
}

.detail-about-interviewee>span {
    display: block;
}

.profile-txt .detail-about-interviewee,
.profile-txt .detail-about-interviewee span {
    font-weight: bold;
}

.profile-txt .detail-about-interviewee {
    margin-bottom: 1em;
}

.profile-txt .interviewee-name {
    font-size: 1.3em;
    margin-right: .3em;
}

.profile-txt .history {
    font-size: 15px;
    padding-top: 1em;
    border-top: solid 1px #000;
}

.profile-txt .history .award-list {
    display: flex;
    gap: 1em;
    margin-bottom: .3em;
}

.profile-txt .history .award-list .award-year {
    width: 4.5em;
}

.profile-txt .history .award-list .award-content {
    flex: 1;
}

.interview-contents {
    margin-top: 3em;
}

.interview-contents .interview-block {
    background-color: #f8f8ff;
    width: 90%;
    margin: auto;
    border-radius: 15px;
}

.interview-contents .interview-block:not(:last-child) {
    margin-bottom: 120px;
}

.interview-item-wrapper {
    padding: 4em 3em 3em;
}

.interview-item-wrapper .interview-item:not(:last-child) {
    margin-bottom: 7em;
}

.interview-contents .interview-block>h3 {
    background-color: #000857;
    color: #fff;
    padding: .8em 1.5em;
    border-radius: 15px 15px 0 0;
    position: relative;
    font-size: clamp(18px, 3vw, 22px);
    line-height: 1.7;
}

.interview-contents .interview-block .interview-item dt,
.interview-contents .interview-block .interview-item dd {
    display: flex;
    gap: .5em;
    align-items: flex-start;
    line-height: 1.7;
}

.interview-contents .interview-block .interview-item dt>img,
.interview-contents .interview-block .interview-item dd>img {
    width: 10%;
    object-fit: contain;
    margin-top: -1em;
    aspect-ratio: 188 / 143;
}

.interview-contents .interview-block .interview-item .interview-item-txt {
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 0 5px #ccc;
    padding: 1.5em;
    flex: 1;
}

.interview-contents .interview-block .interview-item dt {
    margin-bottom: 3em;
}

.interview-a .interview-item-txt img {
    margin: 1em auto;
    width: auto;
    padding-right: .5em;
    display: block;
}

.interview-intro-txt {
    width: 80%;
    margin: 150px auto 0;
    font-size: clamp(18px, 3vw, 20px);
}

/****************
サイトマップ
****************/
#sitemap .link-list {
    display: flex;
    justify-content: center;
    gap: 1em;
    margin-top: 3em;
}

#sitemap .link-list .list-column {
    width: 45%;
}

#sitemap .link-list a {
    text-decoration: none;
    transition: all .3s;
}

#sitemap .link-list a:hover {
    color: #AD8600;
}

#sitemap .link-list .list-column>li {
    margin-bottom: 2.5em;
}

#sitemap .link-list .list-column>li>a {
    padding: .5em .5em .5em .8em;
    border-left: solid 6px #AD8600;
    font-size: 1.1em;
}

#sitemap .sitemap_sub_menu {
    padding: 1em 0 0 1em;
}

#sitemap .sitemap_sub_menu li {
    margin-bottom: .3em;
}


/* インタビュー2025.08.29追加 */

#interview .interview-list .item>a .txtBox h4 {
    margin-bottom: 1em;
    font-size: clamp(1rem, 3vw, 1.2rem);
    color: #000857;
    white-space: nowrap;
}

.interview-list_post {
    display: flex;
    width: 100%;
    gap: 10px;
}

.interview-detail-wrapper {
    display: flex;
    flex-direction: column;
}

.interview-ttl {
    font-size: 1.5rem;
    font-weight: bold;
}

.interview-subttl {
    font-size: 1.2rem;
    color: #000857;
    white-space: nowrap;
    width: 60%;
    margin: 0 auto 1.6rem;
}

.profile-txt .detail-about-interviewee {
    display: flex;
    align-items: baseline;
    gap: 15px;
}

.company-info {
    display: flex;
    gap: 15px;
    align-items: flex-end;
}

.company-post1,
.company-post2 {
    font-size: 1rem;
    color: #333;
}

.profile-txt.interviewee {
    display: inline-block;
}

@media (max-width: 1000px) {
    .interview-subttl {
        width: 80%;
        font-size: clamp(1.0rem, 2vw, 1.2rem);
    }
}

@media (max-width: 500px) {
    .interview-subttl {
        width: 90%;
    }
}

@media (min-width: 768px) {

    .company-post2 {
        display: block;
    }
}

/* レスポンシブ処理: スマートフォン表示 */
@media (max-width: 767px) {
    .company-info {
        align-items: end;
    }

    .company-post1,
    .company-post2 {
        font-size: 0.9rem;
    }
}