@charset "UTF-8";

@media screen and (min-width: 750px) {
#template .frm{
        padding: 32px ;
        margin: 32px auto;
        background: #f4f6f9;
        max-width: 1240px;
}
/*////////////////////////////////////////////////////////////////////
#mv-slide　RHDのメインビジュアル
////////////////////////////////////////////////////////////////////*/
#mv-slide {
    margin-bottom: 60px;
}

#mv-slide ul {

}

#mv-slide ul.slick-slider::after {
    content: "";
    display: block;
    background: linear-gradient(to right, #073c67, #4dc6ff);
    width: 100%;
    height: 6px;
}

#mv-slide ul li {
    /* header-pc.cssに設定 */
}

#mv-slide ul li .img {
    /*position: relative;*/
    width: 100%;
    padding-bottom: 56.25%;
    overflow: hidden;
}

#mv-slide ul li .img video,
#mv-slide ul li .img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

#mv-slide ul li:nth-child(1) .img {
    position: relative;
    height: 100%;

}

#mv-slide ul li:nth-child(1) .img img {
    /*padding-bottom: 25%;*/
    /*margin-bottom: 25%;*/
    height: 50%;
    max-height: 450px;
    width: auto;
    top: 10%;
    left: 0;
    right: 0;
}

#mv-slide ul li .catch {
    position: absolute;
    bottom: 2.5em;
    left: 0;
    right: 0;
    display: block;
    width: 50%;
}

#mv-slide ul li .catch a {
    display: flex;
    width: 100%;
    height: 100%;
    flex-wrap: wrap;
    padding: 5%;
    position: relative;
    background: rgba(255, 255, 255, 0.5);
    transition: all 0.3s ease;
}

#mv-slide ul li .catch .non {
    pointer-events: none;
}

#mv-slide ul li .catch .non:before, #mv-slide ul li .catch .non_more:before {
    content: none;
    background: none;
}

#mv-slide ul li .catch a:hover {
    background: rgba(206, 225, 241, 0.5);
}

#mv-slide ul li .catch a::before {
    content: "MORE";
    position: absolute;
    display: block;
    bottom: 7%;
    right: 3%;
    margin: auto;
    font-size: 1.4rem;
    padding-right: 0.8em;
    line-height: 1;
    color: #134b7a;
    font-weight: 600;
    background: url(../img/common/cmn-arw1.png) no-repeat right center / 6px auto;
    font-family: 'Josefin Sans', sans-serif;
    padding-top: 0.2em;
}

#mv-slide ul li .catch a span {
    font-size: 2vw;
    font-weight: 600;
    display: block;
    color: #fff;
}

#mv-slide ul li .catch a span.catch-upper {
    position: relative;
    text-align: center;
    width: 100%;
    padding-bottom: 0.7em;
    margin-bottom: 0.4em;
    text-indent: -0.8em;
}

#mv-slide ul li .catch a span.catch-upper::before {
    content: "";
    position: absolute;
    display: block;
    width: 60%;
    height: 5px;
    background: #134b7a;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

#mv-slide ul li:nth-child(1) .catch a span, #mv-slide ul li .catch.is-bl a span {
    color: #134b7a;
}

.mv-slide-controller {
    display: flex;
    justify-content: center;
    align-items: center;
}

.mv-slide-controller__buttons {
    position: relative;
    flex: 0 0 51px;
    height: 30px;
    margin: 0 10px 0 0;
    padding: 0 20px 0 0;
    border-right: 1px solid #dadada;
}

.mv-slide-controller__play,
.mv-slide-controller__pause {
    position: absolute;
    top: 0;
    left: 0;
    visibility: hidden;
    width: 30px;
    height: 30px;
    padding: 0;
    border: none;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% auto;
    opacity: 0;
    text-indent: -9999px;
    outline: none;
    cursor: pointer;
    transition: visibility 0.4s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.mv-slide-controller__play.is-show,
.mv-slide-controller__pause.is-show {
    visibility: visible;
    opacity: 1;
}

.mv-slide-controller__play {
    background-image: url(../img/top/icon-mv-play.png);
}

.mv-slide-controller__pause {
    background-image: url(../img/top/icon-mv-pause.png);
}

#mv-slide .slick-dots {
    position: static;
    flex: 0 1 fit-content;
    line-height: 1px;
}

#mv-slide .slick-dots li {
    width: 16px;
    height: 16px;
    margin: 0 10px;
}

#mv-slide .slick-dots li button {
    background: #dededc;
    border-radius: 0;
    width: 100%;
    height: 100%;
}

#mv-slide .slick-dots li.slick-active {
}

#mv-slide .slick-dots li.slick-active button {
    background: #025dad;
}

/*////////////////////////////////////////////////////////////////////
#mv-top　共通下層タイトル
////////////////////////////////////////////////////////////////////*/
#mv-top {
    margin-bottom: 64px;
    position: relative;
    background-color: #718493;
}

#mv-top .mv-inner {
    position: absolute;
    top: 0;
    width: 100%;
    left: 0;
    height: 100%;
    display: flex;
    align-items: center;
}

#mv-top .mv-inner .ttl1 {
    text-align: left;
    width: 100%;
    padding-left: 5%;
}

#mv-top .mv-inner .ttl1 span {
    display: block;
    font-weight: 600;
    color: #fff;
}

#mv-top .mv-inner .ttl1 .en {
    font-family: 'Josefin Sans', sans-serif;
    font-size: 4.6rem;
    line-height: 1.5;
    letter-spacing: 0;
}

#mv-top .mv-inner .ttl1 .jp {
    font-size: 1.4rem;
    margin-top: 24px;
}

/*////////////////////////////////////////////////////////////////////
mv-sub　共通下層タイトル
////////////////////////////////////////////////////////////////////*/
#mv-sub {
    margin-bottom: 50px;
    max-width: 1240px;
    position: relative;
    background-color: #718493;
}

#mv-sub .mv-inner {
    position: absolute;
    top: 0;
    width: 100%;
    left: 0;
    height: 100%;
    display: flex;
    align-items: center;
}

#mv-sub .mv-inner .ttl1 {
}

#mv-sub .mv-inner .ttl1 span {
    display: block;
    line-height: 1;
    font-weight: 400;
    color: #fff;
}

#mv-sub .mv-inner .ttl1 .en {
    font-family: 'Josefin Sans', sans-serif;
    font-size: 4.6rem;
}

#mv-sub .mv-inner .ttl1 .large {
    font-family: 'Josefin Sans', 'Noto Sans JP', sans-serif;
    font-size: 4.6rem;
}

#mv-sub .mv-inner .ttl1 .jp {
    font-size: 1.4rem;
    margin-top: 24px;
}
#mv-sub .mv-inner .ttl1 .jp.exception {
    font-size: 3rem;
    font-weight: 600;
    margin-top: 0;
}

/*////////////////////////////////////////////////////////////////////
#ttl-box　下層のタイトル
////////////////////////////////////////////////////////////////////*/
#ttl-box {
    padding: 0 20px;
}

#ttl-box .ttl-box-inner {
    max-width: 1240px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    position: relative;
    margin-bottom: 50px;
}

#ttl-box .ttl-box-inner .ttl2 {
    font-size: 2.6rem;
    font-weight: 600;
    padding: 0 16px 0 40px;
    position: relative;
    margin: 0;
    background: #fff;
}

#ttl-box .ttl-box-inner .ttl2::before {
    content: "";
    display: block;
    position: absolute;
    background: #4dc6ff;
    width: 22px;
    height: 3px;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}

#ttl-box .ttl-box-inner::before {
    content: "";
    display: block;
    position: absolute;
    background: #e6e6e6;
    width: 100%;
    height: 1px;
    top: 20px;
    left: 0;
    margin: auto;
}

#ttl-box .ttl-box-inner .breadcrumbs {
    display: flex;
    margin: 0;
    background: #fff;
    position: relative;
    margin: 0 0 0 auto;
}

#ttl-box .ttl-box-inner .breadcrumbs li {
    padding-left: 30px;
    position: relative;
    font-size: 1.2rem;
}

#ttl-box .ttl-box-inner .breadcrumbs li:nth-child(1) {
    padding-left: 15px;
}

#ttl-box .ttl-box-inner .breadcrumbs li:nth-child(1)::before {
    content: "";
    display: none;
}

#ttl-box .ttl-box-inner .breadcrumbs li::before {
    content: ">";
    content: "";
    position: absolute;
    display: block;
    left: 13px;
    color: #c7c7c7;
    background: url(../img/common/cmn-arw1-black.png) no-repeat center / 6px auto;
    width: 6px;
    height: 100%;
}

#ttl-box .ttl-box-inner .breadcrumbs li a {
    text-decoration: underline;
    color: #c7c7c7;
    transition: 0.2s ease;
}

#ttl-box .ttl-box-inner .breadcrumbs li a:hover {
    color: #134b7a;
}

/*////////////////////////////////////////////////////////////////////
#top-news　トップのニュース [RHD][RDC][REC][RMK]
////////////////////////////////////////////////////////////////////*/
#top-news {
}

#top-news .nav {
    position: absolute;
    top: -10px;
    left: 435px;
}

#top-news .nav li {
}

/*////////////////////////////////////////////////////////////////////
.top-important-news　重要なお知らせ
////////////////////////////////////////////////////////////////////*/
.top-important-news {
    max-width: 1240px;
    margin: 0 auto 60px;
    padding: 0 20px;
}
.top-important-news__item {
    margin: 0 0 30px;
    padding: 40px 30px;
    border: 5px solid #E4EDF9;
    text-align: left;
    line-height: 1.7;
}
.top-important-news__item:last-child {
    margin-bottom: 0;
}
.top-important-news__item p {
    margin: 0 0 1em;
    font-size: 1.6rem;
}
.top-important-news__item p:last-child {
    margin-bottom: 0;
}
.top-important-news__item ul,
.top-important-news__item ol {
    margin: 0 0 1em;
    padding: 0 0 0 1em;
    font-size: 1.6rem;
}
.top-important-news__item ul:last-child,
.top-important-news__item ol:last-child {
    margin-bottom: 0;
}
.top-important-news__item li {
    margin: 0 0 0.5em;
}
.top-important-news__item li:last-child {
    margin-bottom: 0;
}
.top-important-news__item ul li {
    list-style: disc;
}
.top-important-news__item ol li {
    list-style: decimal;
}
.top-important-news__item h1 {
    margin: 0 0 1em;
    font-size: 2.2rem;
    font-weight: bold;
}
.top-important-news__item h1:last-child {
    margin-bottom: 0;
}
.top-important-news__item h2 {
    margin: 0 0 1em;
    font-size: 2rem;
    font-weight: bold;
}
.top-important-news__item h2:last-child {
    margin-bottom: 0;
}
.top-important-news__item h3 {
    margin: 0 0 1em;
    font-size: 1.8rem;
    font-weight: bold;
}
.top-important-news__item h3:last-child {
    margin-bottom: 0;
}
.top-important-news__item h4,
.top-important-news__item h5,
.top-important-news__item h6 {
    margin: 0 0 1em;
    font-size: 1.6rem;
    font-weight: bold;
}
.top-important-news__item h1:last-child,
.top-important-news__item h2:last-child,
.top-important-news__item h3:last-child {
    margin-bottom: 0;
}
.top-important-news__item a {
    color: #134b7a;
    text-decoration: underline;
}
.top-important-news__item a:hover {
    text-decoration: none;
}

/*////////////////////////////////////////////////////////////////////
.top-emergency　緊急告知欄
////////////////////////////////////////////////////////////////////*/
.top-emergency {
    max-width: 1240px;
    margin: 0 auto 70px;
    padding: 0 20px;
}
.top-emergency__block {
    padding: 20px 0;
}
.top-emergency__text {
    margin: 0 0 1em;
    font-size: 1.6rem;
    line-height: 1.5;
}
.top-emergency__text:last-child {
    margin-bottom: 0;
}
.top-emergency__text a {
    color: #005eac;
    text-decoration: underline;
}
.top-emergency__text a:hover {
    text-decoration: none;
}

/*////////////////////////////////////////////////////////////////////
#top-banner　トップのバナー一覧
////////////////////////////////////////////////////////////////////*/
#top-banner {
    max-width: 1240px;
    margin-bottom: 64px;
}

#top-banner .img-list {
    justify-content: center;
}

#top-banner .img-list section {
    margin: 0 1% 30px 0;
    width: 24.2%;
}

#top-banner .img-list section:last-child {
    margin-right: 0;
}

#top-banner .img-list section > a {
}

#top-banner .img-list section > a::after {
    border: 1px solid #dadada;
}

#top-banner .img-list section.non {
    pointer-events: none;
}

#top-banner .img-list section.non > a::after {
    content: none;
}

#top-banner .img-list section > a > img {
}

#top-banner .img-list section > a > p {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
}

#top-banner .img-list section > a > p .wrap {
}

#top-banner .img-list section > a > p .wrap.double {
    margin-top: 1.68rem;
}

#top-banner .img-list section > a > p .wrap .en {
    display: block;
    font-size: 1.2rem;
    color: #fff;
}

#top-banner .img-list section > a > p .wrap .jn {
    position: relative;
    display: block;
    font-size: 1.4rem;
    color: #fff;
    padding-top: 0.5em;
    margin-top: 0.5em;
}

#top-banner .img-list section > a > p .wrap .jn::before {
    content: "";
    position: absolute;
    display: block;
    width: 52px;
    height: 1px;
    background: #4dc6ff;
    left: 0;
    right: 0;
    margin: auto;
    top: 0;
}

/*////////////////////////////////////////////////////////////////////
#top-links　ショッピングボタン等 [REC]
////////////////////////////////////////////////////////////////////*/
#top-links {
    max-width: 1240px;
    padding: 0 20px;
    box-sizing: content-box;
    margin: 60px auto 0;
}

#top-links .list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#top-links .list section {
    width: 49%;
    margin: 0;
    margin-bottom: 20px;
}

.rec-top #top-links .list section,
.rmk-top #top-links .list section {
    width: 66%;
    min-width: 700px;
}

#top-links .list section a {
    position: relative;
    display: block;
}

#top-links .list section a::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    background: #fff url(../img/common/cmn-arw1.png) no-repeat center / 6px auto;
    width: 28px;
    height: 28px;
    border: 1px solid #dcdcdc;
}

#top-links .list section a img {
    transition: ease 0.2s;
}

#top-links .list section a:hover img {
    opacity: 0.6;
}

/*////////////////////////////////////////////////////////////////////
#top-business　トップの事業紹介 [RHD,RMK]
////////////////////////////////////////////////////////////////////*/
#top-business {
}

.h-rhd.h-top #top-business {
    background: #f4f6f9;
    margin: 0 0 100px;
    padding: 64px 0;
}

.h-rec.h-top #top-business {
}

.h-rdc.h-top #top-business {
}

.h-rmk.h-top #top-business {
    margin: 64px auto 120px;
}

#top-business h2 {
    max-width: 1240px;
}

/*////////////////////////////////////////////////////////////////////
#top-outline　トップの会社情報 [RMK]
////////////////////////////////////////////////////////////////////*/
#top-outline {
}

.h-rhd.h-top #top-outline {
}

.h-rec.h-top #top-outline {
}

.h-rdc.h-top #top-outline {
}

.h-rmk.h-top #top-outline {
    background: #f4f6f9;
    margin-top: 60px;
    padding: 64px 0;
}

#top-outline .outline-list {
    max-width: 1240px;
    display: flex;
    margin-top: 48px;
    justify-content: space-between;
}

#top-outline .outline-list dl {
    width: 49%;
}

#top-outline .outline-list dl dt {
}

#top-outline .outline-list dl dd {
}

/*////////////////////////////////////////////////////////////////////
#top-company　トップの事業紹介 [RHD,RMK]
////////////////////////////////////////////////////////////////////*/
#top-company {
}

.h-rhd.h-top #top-company {
}

.h-rec.h-top #top-company {
}

.h-rdc.h-top #top-company {
}

.h-rmk.h-top #top-company {
}

#top-company h2 {
    max-width: 1240px;
}

/*////////////////////////////////////////////////////////////////////
#top-solution　トップのソリューション [REC]
////////////////////////////////////////////////////////////////////*/
#top-solution {
}

.h-rhd.h-top #top-solution {
}

.h-rec.h-top #top-solution {
    margin: 120px 0 120px;
}

.h-rdc.h-top #top-solution {
}

.h-rmk.h-top #top-solution {
}

#top-solution h2 {
    max-width: 1240px;
}

#top-solution .img-list {
    max-width: 1240px;
    padding: 0 20px;
    margin: 48px auto;
    box-sizing: content-box;
    justify-content: space-between;
}
#top-solution .img-list:after {
    content: "";
    width: 32%;
    height: 0;
}

#top-solution .img-list section {
    width: 32%;
    margin:0 0 20px;
}

#top-solution .img-list section:nth-of-type(3n) {
    margin: 0;
}

#top-solution .img-list section a {
}

#top-solution .img-list section a img {
}

#top-solution .img-list section div p ,
#top-solution .img-list section a p {
    font-size: 3.3rem;
}

#top-solution .img-list section .txt {
    font-size: 1.4rem;
    text-align: left;
    padding: 1em 0 0;
}

/*////////////////////////////////////////////////////////////////////
#top-message　トップのメッセージ [RDC]
////////////////////////////////////////////////////////////////////*/
#top-message {
}

.h-rhd.h-top #top-message {
}

.h-rec.h-top #top-message {
}

.h-rdc.h-top #top-message {
    margin: 60px 0 120px;
}

.h-rmk.h-top #top-message {
}

#top-message h2 {
    max-width: 1240px;
}

/*////////////////////////////////////////////////////////////////////
#top-special　トップのスペシャルコンテンツ一覧
////////////////////////////////////////////////////////////////////*/
#top-special {
    background: #e4edf9;
}

.h-rhd.h-top #top-special {
    padding: 90px 0 50px;
}

.h-rec.h-top #top-special {
}

.h-rdc.h-top #top-special {
}

.h-rmk.h-top #top-special {
}

#top-special h2 {
    max-width: 1240px;
}

/*////////////////////////////////////////////////////////////////////
#greeting　ごあいさつ
////////////////////////////////////////////////////////////////////*/
#greeting {
    width: 100%;
    max-width: 1240px;
    background: #f7f8fb;
    padding: 75px 86px;
    margin-bottom: 100px;
}

#greeting .greeting-inner {
}

#greeting .greeting-inner .greeting-text {
    text-align: left;
    font-size: 1.8rem;
    line-height: 1.8;
    margin-bottom: 70px;
}

#greeting .greeting-inner .greeting-text p {
    margin-bottom: 1.5em;
}

#greeting .greeting-inner .greeting-text p:last-child {
    margin-bottom: 0;
}

#greeting .greeting-inner .greeting-text a {
    color: #134b7a;
    text-decoration: underline;
}

#greeting .greeting-inner .greeting-text a:hover {
    text-decoration: none;
}

#greeting .greeting-inner .signature {
    display: block;
    text-align: right;
}

#greeting .greeting-inner .signature li {

    margin: 8px 0 0;
    width: 100%;
    font-size: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: baseline;
}

#greeting .greeting-inner .signature li .position {
    margin: 0;
    line-height: 1;
}

#greeting .greeting-inner .signature li .name {
    font-size: 2.0rem;
    line-height: 1;
    margin: 0;
    margin-left: 20px;
    width: 120px;
    text-align: left;

}

#greeting .greeting-inner .signature li .name img {
    width: 154px;
}

#greeting .greeting-inner .caution {
    text-align: right;
    margin-top: 20px;
    font-size: 110%;
}

#greeting .greeting-company {
    text-align: right;
    font-size: 1.6rem;
    /* margin-right: 30px; */
    font-weight: bold;

}

/*////////////////////////////////////////////////////////////////////
.img-left-list　画像が左側にあるボタンリスト
////////////////////////////////////////////////////////////////////*/
.img-left-list {
    max-width: 1240px;
    display: flex;
}

.img-left-list section {
    position: relative;
}

.img-left-list section > a {
    background: #fff;
    display: flex;
    border: 1px solid #dadada;
}

.img-left-list section > a .img {
    width: 35%;
    overflow: hidden;
}

.img-left-list section > a .img img {
    transition: 0.7s cubic-bezier(0.23, 1, 0.32, 1);
}

.img-left-list section > a:hover .img img {
    transform: scale(1.1);
}

.img-left-list section > a .txt {
    flex: 1;
    display: flex;
    align-items: center;
    position: relative;
    transition: 0.2s ease;
}

.img-left-list section > a:hover .txt {
    background-color: #e4edf9;
}

.img-left-list section > a .txt::after {
    position: absolute;
    bottom: -1px;
    right: -1px;
    content: "";
    display: block;
    width: 28px;
    height: 28px;
    background: #fff url(../img/common/cmn-arw1.png) no-repeat center / 6px auto;
    border: 1px solid #dadada;
    transition: 0.2s ease;
}

.img-left-list section > a:hover .txt::after {
    background-color: #e4edf9;
}

/*////////////////////////////////////////////////////////////////////
#company-philosophy　経営理念
////////////////////////////////////////////////////////////////////*/
#company-philosophy {
    max-width: 1260px;
    position: relative;
    margin-bottom: 100px;
    padding: 0 20px 44px;
}

#company-philosophy::before {
    content: "";
    position: absolute;
    display: block;
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 45px);
    background: url(../img/philosophy/philosophy-bg.png) no-repeat center / 100% 100%;
}

#company-philosophy section {
    position: relative;
}

#company-philosophy section h2 {
    position: relative;
    line-height: 60px;
    height: 60px;
    color: #4dc6ff;
    text-align: left;
}

#company-philosophy section h2::after {
    position: absolute;
    bottom: 13px;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    line-height: 0;
    border-bottom: 1px dotted #0e3a6a;
}

#company-philosophy section h2 .en {
    font-size: 5.0rem;
    font-family: 'Josefin Sans', sans-serif;
    font-weight: 400;
    display: inline-block;
    height: 60px;
}

#company-philosophy section h2 .jp {
    font-size: 1.6rem;
    padding-left: 0.5em;
}

#company-philosophy section p {
    font-size: 1.8rem;
    margin: 0.9em auto 0;
    color: #0e3a6a;
    font-weight: 600;
}

#company-philosophy section:nth-of-type(1) p {
    padding-top: 48px;
}

#company-philosophy section p a {
    text-decoration: underline;
}

#company-philosophy section p a:hover {
    text-decoration: none;
}

/*////////////////////////////////////////////////////////////////////
#company-overview　会社概要
////////////////////////////////////////////////////////////////////*/
#company-overview {
}

#company-overview .company-overview-detail {
    max-width: 1240px;
    background: #f5f5f8;
    padding: 10px;
    margin-bottom: 100px;
}

#company-overview .company-overview-detail ul {
}

#company-overview .company-overview-detail ul li {
    display: flex;
    background: #fff;
    margin-top: 1px;
    font-size: 1.8rem;
    align-items: center;
    position: relative;
}

#company-overview .company-overview-detail ul li:nth-child(1) {
    margin-top: 0;
}

#company-overview .company-overview-detail ul li::before {
    content: "";
    display: block;
    position: absolute;
    width: 5px;
    height: 100%;
    background: #4dc6ff;
    left: 0;
    top: 0;
}

#company-overview .company-overview-detail ul li .ttl {
    width: 340px;
    text-align: left;
    margin: 0;
    align-items: center;
    padding: 10px 0 10px 74px;
    height: 100%;
    display: block;
}

#company-overview .company-overview-detail ul li .txt {
    margin: 0;
    text-align: left;
    padding: 13px 0;
    flex: 1;
}

#company-overview .company-overview-detail ul li .txt .post1 {
    letter-spacing: 0.04em;
}
#company-overview .company-overview-detail ul li .txt.pdf a{
    position: relative;
    padding-left: 25px;
    transition: opacity .3s;
    color: #1b4f7e;
}
#company-overview .company-overview-detail ul li .txt a:hover{
    opacity: .6;
}
#company-overview .company-overview-detail ul li .txt.pdf a:before{
    content: '';
    width: 15px;
    height: 17px;
    position: absolute;
    background: center center no-repeat;
    background-size: contain;
    left: 0;
    top:6px;
}
#company-overview .company-overview-detail ul li .txt.pdf a:before {
    background-image: url(../img/common/cmn-icon-pdf.png);
}


#company-overview .company-overview-detail ul li .txt img {
    width: 279px;
    margin-bottom: 5px;
}
#company-overview .company-overview-detail ul li .txt .license {
    position: relative;
    display: block;
}
#company-overview .company-overview-detail ul li .txt .license-1 {
    padding-left: 6em;
}
#company-overview .company-overview-detail ul li .txt .license-2 {
    padding-left: 8em;
}
#company-overview .company-overview-detail ul li .txt .license-3 {
    padding-left: 17.3em;
}
#company-overview .company-overview-detail ul li .txt .license-heading {
    position: absolute;
    left: 0;
}

/*////////////////////////////////////////////////////////////////////
#company-officers　役員一覧
////////////////////////////////////////////////////////////////////*/
#company-officers {
}

#company-officers h4 {
}

#company-officers .company-officers-detail {
    max-width: 1240px;
    margin-bottom: 50px;
}

#company-officers .company-officers-detail ul {
    display: flex;
    flex-wrap: wrap;
}

#company-officers .company-officers-detail ul li {
    width: calc(50% - 30px);
    margin: 0 0 50px 30px;
    display: flex;
    align-items: center;
    height: 60px;
    position: relative;
}

#company-officers .company-officers-detail ul li::before {
    content: "";
    display: block;
    position: absolute;
    width: 5px;
    height: 100%;
    background: #4dc6ff;
    left: 0;
    top: 0;
}

#company-officers .company-officers-detail ul li .ttl {
    margin: 0;
    text-align: left;
    width: 280px;
    font-size: 1.7rem;
    font-weight: 600;
    padding-left: 50px;
}

#company-officers .company-officers-detail ul li .txt {
    margin: 0;
    text-align: left;
    font-size: 1.7rem;
    font-weight: 600;
    align-items: center;
    display: flex;
}

#company-officers .company-officers-detail ul li .txt img {
    width: 231px;
}

/*////////////////////////////////////////////////////////////////////
#acceass　アクセス
////////////////////////////////////////////////////////////////////*/
#access {
    margin-bottom: 100px;
}

#access h4 {
}

#access .access-detail {
    max-width: 1240px;
    padding: 20px 20px 30px 20px;
    background: #f5f5f8;
}

#access .access-detail .gmap {
    width: 100%;
    padding-bottom: 40%;
    height: 0;
    background: skyblue;
    position: relative;
}

#access .access-detail .gmap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#access .access-detail .time-required {
    margin-top: 36px;
}

#access .access-detail .time-required li {
    text-align: left;
    font-size: 1.6rem;
    font-weight: 600;
}

#access .access-detail .time-required li span {
    display: block;
    font-weight: 400;
}

#access .access-detail .time-required li span:nth-child(2) {
    margin-bottom: 30px;
}

/*////////////////////////////////////////////////////////////////////
#company-histor　会社沿革
////////////////////////////////////////////////////////////////////*/
.company-history-block {
    max-width: 1280px;
    margin: 0 auto 96px;
    padding: 0 20px;
    text-align: left;
}
.company-history-heading {
    margin: 0 0 5px;
    padding: 15px;
    background: #0E3A6A;
    font-size: 1.8rem;
    font-weight: 600;
    color: #fff;
    text-align: center;
}
.company-history--first,
.company-history--second,
.company-history--third {
    position: relative;
    padding: 0 0 0 10px;
}
.company-history--first::before,
.company-history--second::before,
.company-history--third::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 5px;
    height: calc(100% - 5px);
}
.company-history--first::before {
    background: #0E3A6A;
}
.company-history--second::before {
    background: #005FAD;
}
.company-history--third::before {
    background: #4BA3EB;
}
.company-history-table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    font-size: 1.6rem;
}
.company-history-table th,
.company-history-table td {
    padding: 15px;
    border-bottom: 5px solid #fff;
}
.company-history-table th {
    text-align: center;
}
.company-history-table thead th {
    background: #EBEBEB;
    border-bottom: 5px solid #fff;
    font-size: 1.8rem;
    font-weight: 600;
}
.company-history-table thead th:first-child {
    border-right: 5px solid #fff;
}
.company-history-table tbody th,
.company-history-table tbody td {
    background: #F7F9FA;
}
.company-history-table tbody th {
    width: 8.5em;
    border-right: 5px solid #fff;
}
.company-history-table tbody td {
    width: calc(100% - 8.5em);
}
.company-history-note {
    margin: 15px 0 0 20px;
    padding: 0 0 25px;
    font-size: 1.4rem;
}
.company-history-note + .company-history-tab-block {
    margin-top: -5px;
}
.company-history-tab-block {
    margin: 15px 0 0;
}
.company-history-tab-menu--second,
.company-history-tab-menu--third {
    display: flex;
    justify-content: space-between;
    margin: 0 0 5px;
    border-bottom-width: 5px;
    border-bottom-style: solid;
    font-size: 1.8rem;
    font-weight: 600;
}
.company-history-tab-menu--second {
    border-bottom-color: #005FAD;
}
.company-history-tab-menu--third {
    border-bottom-color: #4BA3EB;
}
.company-history-tab-menu__item {
    flex: 0 1 calc((100% - 5px) / 2);
    margin: 0;
}
.company-history-tab-menu__item button {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 15px 50px;
    border: none;
    border-bottom: 5px solid #fff;
    background: none;
    outline: none;
    color: #fff;
    cursor: pointer;
    transition: background-color 0.4s cubic-bezier(0.23, 1, 0.32, 1), border-bottom-color 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}
.company-history-tab-menu__item button::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 25px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 9px 0 9px;
    border-color: #FFFFFF transparent transparent transparent;
    transform: translateY(calc(-50% + 2px));
    transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}
.company-history-tab-menu__item button.is-opened::after {
    transform: translateY(-50%) rotate(180deg);
}
.company-history-tab-menu--second .company-history-tab-menu__item button {
    background: #2D88D3;
}
.company-history-tab-menu--second .company-history-tab-menu__item button.is-opened {
    background: #005FAD;
    border-bottom-color: #005FAD;
}
.company-history-tab-menu--third .company-history-tab-menu__item button {
    background: #75BFFA;
}
.company-history-tab-menu--third .company-history-tab-menu__item button.is-opened {
    background: #4BA3EB;
    border-bottom-color: #4BA3EB;
}
.company-history-tab-content {
    position: relative;
    height: 0;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}
.company-history-tab-content.is-opened {
    height: auto;
    overflow: visible;
    opacity: 1;
}

/*////////////////////////////////////////////////////////////////////
#group-list　グループ事業領域
////////////////////////////////////////////////////////////////////*/
#group-list {
    margin-bottom: 128px;
}

#group-list section {
    margin-bottom: 64px;
}

#group-list section .ttl-navy {
}

#group-list section dl {
    padding: 0 20px;
    margin: 32px auto;
    text-align: left;
}

#group-list section dl dt {
    max-width: 1140px;
    font-size: 2.0rem;
    font-weight: 600;
    border-left: 4px solid #4dc6ff;
    padding: 8px 0 8px 24px;
    margin-bottom: 16px;
}

#group-list section dl dd {
    max-width: 1140px;
    font-size: 1.6rem;
    line-height: 1.6;
    color: #666;
    margin-bottom: 32px;
}

/*////////////////////////////////////////////////////////////////////
#kihan-intro　行動規範のリード文
////////////////////////////////////////////////////////////////////*/
#kihan-lead {
}

#kihan-lead .share-lead {
}

#kihan-lead .share-lead p {
}

/*////////////////////////////////////////////////////////////////////
#kihan-fundamental　基本姿勢
////////////////////////////////////////////////////////////////////*/
#kihan-fundamental {
    margin-bottom: 77px;
}

#kihan-fundamental .ttl-navy {
    margin-bottom: 52px;
}

#kihan-fundamental .detail {
    text-align: left;
    font-size: 1.8rem;
    max-width: 1280px;
    padding: 0 20px 0 60px;
}

#kihan-fundamental .detail li {
    margin-bottom: 20px;
}

/*////////////////////////////////////////////////////////////////////
#kihan-compliance　遵守事項
////////////////////////////////////////////////////////////////////*/
#kihan-compliance {
    margin-bottom: 100px;
}

#kihan-compliance .ttl-navy {
    margin-bottom: 60px;
}

#kihan-compliance .headline {
    text-align: left;
    font-size: 1.8rem;
    padding-left: 40px;
    max-width: 1280px;
    padding: 0 20px 0 60px;
}

#kihan-compliance .headline section {
}

#kihan-compliance .headline section h3 {
    font-size: 1.8rem;
    height: 54px;
    display: flex;
    padding-left: 35px;
    align-items: center;
    position: relative;
    margin-bottom: 17px;
}

#kihan-compliance .headline section h3::before {
    content: "";
    display: block;
    position: absolute;
    width: 5px;
    height: 100%;
    background: #4dc6ff;
    left: 0;
    top: 0;
}

#kihan-compliance .headline section .compliance-child {
    margin-bottom: 48px;
    font-size: 1.6rem;
}

#kihan-compliance .headline section .compliance-child li {
    margin-bottom: 20px;
    text-indent: -1.9em;
    padding-left: 1.9em;
}

#kihan-compliance .headline section .compliance-child li .compliance-grandchild {
    padding-left: 20px;
}

#kihan-compliance .headline section .compliance-child li .compliance-grandchild li {
    margin-bottom: 2px;
}

/*////////////////////////////////////////////////////////////////////
#company-top-list　会社情報トップのリスト
////////////////////////////////////////////////////////////////////*/
#company-top-list {
    margin-bottom: 64px;
    padding: 0 20px;
}

#company-top-list .img-list {
    max-width: 1240px;
}

#company-top-list .img-list section {
    width: 33.2%;
    margin: 0 0.2% 0 0;
}

#company-top-list .img-list section:nth-child(3n) {
    margin: 0;
}

#company-top-list .img-list section .list-ttl {
    text-align: left;
    font-family: 'Josefin Sans', sans-serif;
    font-weight: 400;
    padding-bottom: 10px;
}

#company-top-list .img-list section a {
}

#company-top-list .img-list section .list-img img {
}

#company-top-list .img-list section a p {
    color: #fff;
    font-weight: 600;
    font-size: 1.8rem;
}

#company-top-list .img-list section .list-txt {
    text-align: left;
    font-weight: 600;
    padding: 24px 44px 44px 0;
    font-size: 1.4rem;
}

/*////////////////////////////////////////////////////////////////////
#business-top-list　事業紹介トップのリスト
////////////////////////////////////////////////////////////////////*/
#business-lead {
}

#business-top-list {
    display: flex;
    flex-wrap: wrap;
    max-width: 1280px;
    margin-bottom: 64px;
    padding: 0 20px;
}

#business-top-list section {
    width: 49.8%;
    margin: 0 0.4% 0 0;
    text-align: left;
}

#business-top-list section:nth-child(2n) {
    margin: 0;
}

#business-top-list section figure {
    position: relative;
}

#business-top-list section figure figcaption {
    position: absolute;
    top: 40px;
    left: 42px;
    color: #fff;
    padding-left: 24px;
    line-height: 1;
    padding: 1px 0 1px 24px;
}

#business-top-list section figure figcaption::before {
    content: "";
    display: block;
    width: 4px;
    background: #4dc6ff;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
}

#business-top-list section figure figcaption br {
    display: none;
}

#business-top-list section figure figcaption span {
    display: block;
}

#business-top-list section figure figcaption .jp {
    font-size: 2.0rem;
}

#business-top-list section figure figcaption .en {
    font-size: 1.3rem;
    font-family: 'Josefin Sans', sans-serif;
    font-weight: 400;
    padding-top: 1rem;
}

#business-top-list section figure img {
}

#business-top-list section > ul {
    margin: 0;
    width: 60%;
    display: flex;
    flex-wrap: wrap;
    padding: 16px 0 40px;
}

#business-top-list section > ul li {
    margin: 0.5em 0;
}

#business-top-list section > ul li a {
    font-size: 1.6rem;
    margin-right: 2em;
    text-decoration: underline;
    font-weight: 600;
}

#business-top-list section > ul li a::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 8px;
    background: #fff url(../img/common/cmn-arw1.png) no-repeat center / 6px auto;
    margin-left: 1em;
}

/*////////////////////////////////////////////////////////////////////
#business-technology　技術
////////////////////////////////////////////////////////////////////*/
#business-technology {
}

#business-technology .img {
    max-width: 1025px;
    margin: 64px auto;
}

#business-technology .img img {
}

#business-technology .share-lead {
}

#business-technology .share-lead p {
}

/*////////////////////////////////////////////////////////////////////
 business new （2024年4月〜）
////////////////////////////////////////////////////////////////////*/

/* トップ */
.business2-top-list-block {
    max-width: 1240px;
    margin: 0 auto 96px;
    text-align: left;
}
.business2-top-list {
    display: flex;
    justify-content: space-between;
}
.business2-top-list__item {
    flex: 0 1 calc(50% - 2px);
    margin: 0 0 4px;
}
.business2-top-list__item a {
    position: relative;
    display: block;
    overflow: hidden;
}
.business2-top-list__heading {
    position: absolute;
    top: 40px;
    left: 42px;
    display: flex;
    align-items: center;
    min-height: 50px;
    padding: 0 0 0 24px;
    border-left: 4px solid #70C3FA;
    color: #fff;
    z-index: 1;
}
.business2-top-list__heading-text {
    display: block;
    font-size: 2rem;
}
.business2-top-list__heading-text-sub {
    display: block;
    font-size: 1.3rem;
}
.business2-top-list__image {
}
.business2-top-list__image img {
    width: 100%;
    transition: 0.7s cubic-bezier(0.23, 1, 0.32, 1);
}
a:hover .business2-top-list__image img {
    transform: scale(1.1);
}

/* 株式会社レスター */
.business2-restar-block {
    max-width: 1280px;
    margin: 0 auto 96px;
    padding: 0 20px;
    text-align: left;
}
.business2-restar-list {
}
.business2-restar-list__item {
    margin: 0 0 64px;
}
.business2-restar-list__item:last-child {
    margin-bottom: 0;
}
.business2-restar-list__heading {
    margin: 0 0 30px;
    padding: 10px 0 10px 24px;
    border-left: 4px solid #70C3FA;
    font-size: 2.4rem;
    font-weight: 600;
}
.business2-restar-list__box {
    display: flex;
}
.business2-restar-list__image {
    order: 2;
    flex: 0 1 40%;
}
.business2-restar-list__image img {
    width: 100%;
}
.business2-restar-list__desc {
    flex: 0 1 60%;
    order: 1;
    padding: 0 40px 0 0;
}
.business2-restar-list__text {
    margin: 0 0 32px;
    font-size: 1.6rem;
    line-height: 1.8;
}
.business2-restar-list__button {
    width: 330px;
    /* height: 6em; */
    font-family: 'Josefin Sans', 'Noto Sans JP', sans-serif;
    font-size: 1.7rem;
    text-align: center;
    margin: 0;
}
.business2-restar-list__button a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 20px 0;
    border: 1px solid #dadada;
    color: #134b7a;
    transition: ease 0.2s;
    font-size: 13px;
}
.business2-restar-list__button a:hover {
    border-color: #134b7a;
    background: #134b7a;
    color: #fff;
}

.business2-restar-list__item-02 {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 10px;
}

/* レスターグループ */
.business2-group-block {
    max-width: 1280px;
    margin: 0 auto 96px;
    padding: 0 20px;
    text-align: left;
}
.business2-group-image {
    margin: 0 0 64px;
}
.business2-group-image img {
    width: 100%;
}
.business2-group-list {
}
.business2-group-list__item {
    margin: 0 0 64px;
}
.business2-group-list__item:last-child {
    margin-bottom: 0;
}
.business2-group-list__heading {
    margin: 0 0 30px;
    padding: 10px 0 10px 24px;
    border-left: 4px solid #70C3FA;
    font-size: 2.4rem;
    font-weight: 600;
}
.business2-group-list__block {
    display: flex;
    align-items: start;
    margin: 0 0 32px;
    padding: 0 0 32px;
    border-bottom: 1px solid #dadada;
}
.business2-group-list__block:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}
.business2-group-list__desc {
    flex: 0 1 60%;
    padding: 0 40px 0 0;
}
.business2-group-list__text {
    font-size: 1.6rem;
    line-height: 1.8;
}
.business2-group-list__link {
    flex: 0 1 40%;
    padding: 30px;
    background: #f4f6f9;
}
.business2-group-list__link-item {
    margin: 0 0 10px 1em;
    font-size: 1.6rem;
    color: #134b7a;
    list-style: disc;
}
.business2-group-list__link-item:last-child {
    margin-bottom: 0;
}
.business2-group-list__link-item a {
    color: #134b7a;
    text-decoration: underline;
}
.business2-group-list__link-item a:hover {
    text-decoration: none;
}

/*////////////////////////////////////////////////////////////////////
#network-btns　グループネットワークナビ
////////////////////////////////////////////////////////////////////*/
#network-btns {
    margin-top: -8px;
    margin-bottom: 48px;
}

#network-btns .img-left-list {
    box-sizing: content-box;
    padding: 0 20px;
    justify-content: flex-end;
}

#network-btns .img-left-list section {
    width: 350px;
    margin: 0;
}

#network-btns .img-left-list section > a {
}

#network-btns .img-left-list section > a .img {
}

#network-btns .img-left-list section > a .img img {
}

#network-btns .img-left-list section > a .txt {
    justify-content: center;
    font-size: 1.6rem;
}

/*////////////////////////////////////////////////////////////////////
#network-japan　グループネットワーク　日本
////////////////////////////////////////////////////////////////////*/
#network-japan,
#network-group-japan,
#network-group-foreign {
    max-width: 1240px;
    margin-bottom: 64px;
    margin-top: -75px;
    padding-top: 75px;
}

#network-japan .ttl-navy:has(+ .offices-list),
#network-group-japan .ttl-navy:has(+ .offices-list),
#network-group-foreign .ttl-navy:has(+ .offices-list) {
    margin-bottom: 0;
}

#network-japan .ttl-bg-line + .offices-list,
#network-japan .ttl-navy + .offices-list,
#network-group-japan .ttl-bg-line + .offices-list,
#network-group-japan .ttl-navy + .offices-list,
#network-group-foreign .ttl-bg-line + .offices-list,
#network-group-foreign .ttl-navy + .offices-list {
    border-top: none;
}

#network-japan .offices-list,
#network-group-japan .offices-list,
#network-group-foreign .offices-list {
    padding: 32px 0;
    border-top: 1px solid #e6e6e6;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

#network-group-japan .offices-list,
#network-group-foreign .offices-list {
    padding-top: 64px;
}

#network-japan .offices-list h4,
#network-group-japan .offices-list h4,
#network-group-foreign .offices-list h4 {
    border-left: 4px solid #4dc6ff;
    font-size: 2.0rem;
    color: #0e3a6a;
    padding: 0 0 0 30px;
    width: 100%;
    font-weight: 600;
}

#network-japan .offices-list .head-office,
#network-group-japan .offices-list .head-office,
#network-group-foreign .offices-list .head-office {
    width: 315px;
    float: left;
    margin: 0;
}

#network-japan .offices-list .caution,
#network-group-japan .offices-list .caution,
#network-group-foreign .offices-list .caution {
    font-size: 1.4rem;
    margin-top: 15px;
    width: 100%;
}

#network-japan .offices-list .head-office dl,
#network-group-japan .offices-list .head-office dl,
#network-group-foreign .offices-list .head-office dl {
    width: 100%;
    border-bottom: none;
}

#network-japan .offices-list .branch-office,
#network-group-japan .offices-list .branch-office,
#network-group-foreign .offices-list .branch-office {
    display: flex;
    flex-wrap: wrap;
    flex: 1;
}

#network-japan .offices-list .branch-office dl,
#network-group-japan .offices-list .branch-office dl {
    width: 33.3333%;
}

#network-group-foreign .offices-list .branch-office dl {
    width: 25%;
}

#network-japan .offices-list .branch-office dl:nth-of-type(3n+1),
#network-group-japan .offices-list .branch-office dl:nth-of-type(3n+1) {
    width: calc(33.3333% - 32px);
    padding-left: 0;
    margin-left: 32px;
}

#network-japan .offices-list .branch-office dl:nth-of-type(3n) dt,
#network-japan .offices-list .branch-office dl:nth-of-type(3n) dd,
#network-group-japan .offices-list .branch-office dl:nth-of-type(3n) dt,
#network-group-japan .offices-list .branch-office dl:nth-of-type(3n) dd,
#network-group-foreign .offices-list .branch-office dl:nth-of-type(4n) dt,
#network-group-foreign .offices-list .branch-office dl:nth-of-type(4n) dd {
    border-right: none;
}

#network-japan .offices-list .branch-office dl:nth-last-of-type(1),
#network-japan .offices-list .branch-office dl:nth-last-of-type(2):nth-of-type(3n+1),
#network-japan .offices-list .branch-office dl:nth-last-of-type(2):nth-of-type(3n+2),
#network-japan .offices-list .branch-office dl:nth-last-of-type(3):nth-of-type(3n+1),
#network-group-japan .offices-list .branch-office dl:nth-last-of-type(1),
#network-group-japan .offices-list .branch-office dl:nth-last-of-type(2):nth-of-type(3n+1),
#network-group-japan .offices-list .branch-office dl:nth-last-of-type(2):nth-of-type(3n+2),
#network-group-japan .offices-list .branch-office dl:nth-last-of-type(3):nth-of-type(3n+1),
#network-group-foreign .offices-list .branch-office dl:nth-last-of-type(1),
#network-group-foreign .offices-list .branch-office dl:nth-last-of-type(2):nth-of-type(4n+1),
#network-group-foreign .offices-list .branch-office dl:nth-last-of-type(2):nth-of-type(4n+2),
#network-group-foreign .offices-list .branch-office dl:nth-last-of-type(2):nth-of-type(4n+3),
#network-group-foreign .offices-list .branch-office dl:nth-last-of-type(3):nth-of-type(4n+1),
#network-group-foreign .offices-list .branch-office dl:nth-last-of-type(3):nth-of-type(4n+2),
#network-group-foreign .offices-list .branch-office dl:nth-last-of-type(4):nth-of-type(4n+1) {
    border-bottom: none;
}

/*////////////////////////////////////////////////////////////////////
#network-foreign　グループネットワーク　海外
////////////////////////////////////////////////////////////////////*/
#network-foreign {
    margin-top: -75px;
    padding-top: 75px;
    margin-bottom: 64px;
}

#network-foreign .worldmap {
    position: relative;
    max-width: 1240px;
    margin-bottom: 128px;
}

#network-foreign .worldmap .bg {
    width: 100%;
}

#network-foreign .worldmap .bg img {
    width: 100%;
}

#network-foreign .worldmap .pin {
    position: absolute;
    width: 0.968%;
}

#network-foreign .worldmap .pin a {
    display: block;
    width: 100%;
    line-height: 0;
}

#network-foreign .worldmap .pin img {
    width: 100%;
}

#network-foreign .worldmap .pin.pin1 {
    top: 58.2%;
    left: 32.8%;
}

#network-foreign .worldmap .pin.pin2 {
    top: 51.2%;
    left: 32.3%;
}

#network-foreign .worldmap .pin.pin3 {
    top: 53.1%;
    left: 33.7%;
}

#network-foreign .worldmap .pin.pin4 {
    top: 39.8%;
    left: 70.6%;
}

#network-foreign .worldmap .pin.pin5 {
    top: 27.8%;
    left: 8.3%;
}

#network-foreign .worldmap .pin.pin6 {
    top: 42%;
    left: 32.7%;
}

#network-foreign .worldmap .pin.pin7 {
    top: 45.8%;
    left: 35.6%;
}

#network-foreign .worldmap .pin.pin8 {
    top: 44.2%;
    left: 37.7%;
}

#network-foreign .worldmap .pin.pin9 {
    top: 36.7%;
    left: 39.4%;
}

#network-foreign .ttl-navy {
    position: relative;
    z-index: 1;
}

#network-foreign .ttl-bg-line {
    max-width: 1240px;
}

#network-foreign .network-eastasia-main {
    background: #f4f6f9;
    padding: 50px 0 0;
    margin-top: -90px;
    margin-bottom: 64px;
}

#network-foreign .network-eastasia-main .offices-list:nth-of-type(1) {
    border-top: none;
}

#network-foreign .ttl-bg-line + .offices-list {
    border-top: none;
}

#network-foreign .offices-list {
    max-width: 1240px;
    padding: 32px 0 32px;
    border-top: 1px solid #e6e6e6;
    display: flex;
    flex-wrap: wrap;
}

#network-foreign .offices-list dl {
    width: 33.3333%;
}

#network-foreign .offices-list dl:nth-of-type(3n) dt,
#network-foreign .offices-list dl:nth-of-type(3n) dd {
    border-right: none;
}

#network-foreign .offices-list dl:nth-last-of-type(1),
#network-foreign .offices-list dl:nth-last-of-type(2):nth-of-type(3n+1),
#network-foreign .offices-list dl:nth-last-of-type(2):nth-of-type(3n+2),
#network-foreign .offices-list dl:nth-last-of-type(3):nth-of-type(3n+1) {
    border-bottom: none;
}

#network-foreign .offices-list dl dt {
    text-align: left;
    color: #0e3a6a;
    letter-spacing: 0;
    font-weight: 600;
}

#network-foreign .offices-list dl .address {
    text-align: left;
    letter-spacing: 0;
}

#network-foreign .offices-list dl .tel {
}

#network-eastasia,
#network-singapore,
#network-thailand,
#network-vietnam,
#network-usa,
#network-germany {
    margin-top: -75px;
    padding-top: 75px;
}

/*////////////////////////////////////////////////////////////////////
#ir-description　業績ハイライト
////////////////////////////////////////////////////////////////////*/
#highlight1,#highlight2,#highlight3,#highlight4{
    margin-top: -80px; padding-top: 80px;
    display: block;
}
#highlight1 p,#highlight2 p,#highlight3 p,#highlight4 p{
    font-size: 1.4rem;
    margin-bottom: 1em;
}
#ir-description .lead{
    margin-top: 30px;
    margin-bottom: 40px;
    font-size: 1.4rem;
    background: #f4f6f9;
    padding: 30px;
    /*color:#666666;*/
    max-width: 1240px;
    text-align: left;
}
#ir-description .lead li{
    position: relative;
    padding-left: 1em;
}
#ir-description .lead li span{
    position: absolute;
    top:0;left:0;
}
#ir-highlight-list{
    max-width: 1240px;
    margin: 0 auto;
}
#ir-highlight-list ul{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
}
#ir-highlight-list li{
    width: 20%;
    min-width: 230px;
    text-align: center;
    margin-bottom: 5em;
}
#ir-highlight-list li a{
    color:#fff;
    background-color: #7eb0c8;
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    padding: 1em 1em 1.5em;
    font-size: 1.8rem;
}
#ir-highlight-list li a:after{
    content: "";
    display: block;
    width: 0.7em;height: 0.7em;
    border: 1px solid transparent;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    position: absolute;
    left:50%;bottom:0.5em;
    transform: translate3d(-50%,0,0) rotate(45deg);
}
#ir-highlight-list li a:hover{background-color: #134b7a;}
#highlight1,#highlight2,#highlight3,#highlight4{
    margin-bottom: 30px;
}
.overflow{
    max-width:1240px;
    min-width: 1100px;
    box-sizing: border-box;
    width: 96%;
    margin: 0 auto 40px;
    overflow-x: scroll;
}
.ir-iframe{
    width: 100%;
    min-width: 1100px;
}
/*////////////////////////////////////////////////////////////////////
#ir-top-news　投資家情報トップのニュース
////////////////////////////////////////////////////////////////////*/
#ir-top-news {
}

/*////////////////////////////////////////////////////////////////////
#ir-top-list　投資家情報トップのリスト
////////////////////////////////////////////////////////////////////*/
#ir-top-list {
    background: #f4f6f9;
    padding: 32px 20px;
    margin-bottom: 80px;
}

#ir-top-list .img-left-list {
    flex-wrap: wrap;
    justify-content: space-between;
}

#ir-top-list .img-left-list section {
    width: 48%;
    margin: 2% 0;
}

#ir-top-list .img-left-list section > a {
}

#ir-top-list .img-left-list section > a .img {
}

#ir-top-list .img-left-list section > a .img img {
}

#ir-top-list .img-left-list section > a .txt {
    padding-right: 210px;
}

#ir-top-list .img-left-list section > a .txt h3 {
    border-bottom: 2px solid #4dc6ff;
    font-size: 1.8rem;
    font-weight: 600;
    padding-bottom: 10px;
}

#ir-top-list .img-left-list section .sub {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    pointer-events: none;
    width: 210px;
    display: flex;
    z-index: 2;
    align-items: center;
}

#ir-top-list .img-left-list section .sub ul {
    margin: 0;
    text-align: left;
    font-size: 1.4rem;
    border-left: 1px solid #e6e6e6;
    padding-left: 2%;
}

#ir-top-list .img-left-list section .sub li {
}

#ir-top-list .img-left-list section .sub li::before {
    content: "・";
}

#ir-top-list .img-left-list section .sub li a {
    text-decoration: underline;
    pointer-events: auto;
    transition: 0.3s ease;
    display: inline-block;
}

#ir-top-list .img-left-list section .sub li a:hover {
    opacity: 0.6;
}

#ir-top-list .img-left-list section .sub li {
    text-decoration: underline;
}

/*////////////////////////////////////////////////////////////////////
#ir-calendar　投資家情報カレンダー
////////////////////////////////////////////////////////////////////*/
#ir-calendar {
    margin-bottom: 96px;
}

#ir-calendar .ir-cal {
    max-width: 1240px;
    margin: 80px auto 0;
    padding: 0 20px;
}

#ir-calendar .ttl-ir {
    position: relative;
    margin-bottom: 24px;
}

#ir-calendar .ttl-ir::after {
    content: "";
    display: block;
    border-bottom: 4px solid #4dc6ff;
    width: 1240px;
    margin: 0 auto;
    margin-top: 80px;
}

#ir-calendar section {
    width: 1240px;
    box-sizing: content-box;
    padding: 0 20px;
    margin-bottom: 24px;
}

#ir-calendar section h3 {
    font-size: 2.8rem;
    padding: 0 0 24px;
    text-align: left;
}

#ir-calendar section ul {

}

#ir-calendar section ul li {
    font-size: 1.6rem;
    display: flex;
}

#ir-calendar section ul li p {
    padding: 12px 0;

}

#ir-calendar section ul li .quarter {
    width: 186px;
    border-bottom: 1px solid #fff;
    background: #134b7a;
    color: #fff;
}

#ir-calendar section ul li .date {
    width: 180px;
    border-bottom: 1px solid #fff;
    background: #d2d2d2;
}

#ir-calendar section ul li .txt {
    flex: 1;
    padding-left: 20px;
    padding-right: 20px;
    border-top: 1px solid #d2d2d2;
    border-right: 1px solid #d2d2d2;
    text-align: left;
}

#ir-calendar section ul li:last-child .quarter,
#ir-calendar section ul li:last-child .date {
    border-bottom: none;
}

#ir-calendar section ul li:last-child .txt {
    border-bottom: 1px solid #d2d2d2;
}

/*////////////////////////////////////////////////////////////////////
ir-management-policy-links　経営方針ページのリンクボタン
////////////////////////////////////////////////////////////////////*/
#ir-management-policy-links {
    margin-top: 64px;
    margin-bottom: 48px;
}

#ir-management-policy-links .list {
    display: flex;
    justify-content: center;
    max-width: 1060px;
    flex-wrap: wrap;
    padding: 0 20px;
}

#ir-management-policy-links .list section {
    width: calc((100% - 30px) / 3);
    height: 96px;
    margin: 0 5px 10px 5px;
}

#ir-management-policy-links .list section a {
    border: 1px solid #dcdcdc;
    width: 100%;
    height: 100%;
    display: flex;
    padding: 5px;
    transition: all 0.3s ease;
    color: #1b4f7e;
}

#ir-management-policy-links .list section a:hover {
    background: #1b4f7e;
    color: #fff;
}

#ir-management-policy-links .list section a:hover p::after {
    background-image: url(../img/common/cmn-arw1-white.png);
}

#ir-management-policy-links .list section a img {
    width: 84px;
}

#ir-management-policy-links .list section a p {
    color: inherit;
    position: relative;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    font-weight: 600;
}

#ir-management-policy-links .list section a p::after {
    position: absolute;
    top: 50%;
    right: 18px;
    content: "";
    display: block;
    width: 6px;
    height: 10px;
    margin-top: -5px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url(../img/common/cmn-arw1.png);
}

/*////////////////////////////////////////////////////////////////////
#ir-governance　ガバナンス体制
////////////////////////////////////////////////////////////////////*/
#ir-governance {
    margin-top: -75px;
    padding-top: 75px;
}

#ir-governance h2 {
}

#ir-governance .frm {
    padding: 32px 0;
    margin: 32px auto;
    background: #f4f6f9;
    max-width: 1240px;
}

#ir-governance .frm .pdf-btn {
    margin: 0 10px;
}

#ir-governance .frm .pdf-btn a {
}

#ir-governance .frm .pdf-btn a::after {
    right: 32px
}

#ir-governance .frm .pdf-btn a::before {
    left: 38px;
}

/*////////////////////////////////////////////////////////////////////
#ir-governance-think　コーポレート・ガバナンス体制の概要
////////////////////////////////////////////////////////////////////*/
#ir-governance-think {
    margin-top: -75px;
    padding-top: 75px;
}

#ir-governance-think h2 {
}

#ir-governance-think p {
    text-align: left;
    font-size: 1.4rem;
    margin: 64px auto;
    max-width: 1240px;
    padding: 0 20px;
    box-sizing: border-box;
    line-height: 2;
}

/*////////////////////////////////////////////////////////////////////
#ir-governance-outline　コーポレート・ガバナンス体制の概要
////////////////////////////////////////////////////////////////////*/
#ir-governance-outline {
    margin-top: -75px;
    padding-top: 75px;
}

#ir-governance-outline h2 {
}

#ir-governance-outline .frm {
    margin-top: 32px;
    margin-bottom: 96px;
    max-width: 1240px;
    padding: 48px;
    background: #f4f6f9;
}

#ir-governance-outline .frm .img {
    width: 100%;
    padding: 48px;
    background: #fff;
}

#ir-governance-outline .frm .pdf-btn {
    margin-top: 48px;
}

#ir-governance-outline .frm .pdf-btn a {
}

/*////////////////////////////////////////////////////////////////////
#ir-risk　事業等のリスク
////////////////////////////////////////////////////////////////////*/
#ir-risk {
    margin-top: -75px;
    padding-top: 75px;
    margin-bottom: 128px;
}

#ir-risk h2 {
    margin-bottom: 92px;
}

#ir-risk > p,
#ir-risk > h3,
#ir-risk > div {
    font-size: 1.4rem;
    text-align: left;

    max-width: 1280px;
    padding: 0 20px;
}

#ir-risk > p {
    margin-bottom: 48px;
}

#ir-risk > h3 {
}

#ir-risk > div {
}

#ir-risk > div > h4 {
    padding-left: 1em;
}

#ir-risk > div > p {
    margin-bottom: 48px;
    padding-left: 3em;
}

/*////////////////////////////////////////////////////////////////////
#ir-gov　グループガバナンスとコンプライアンスへの取り組み
////////////////////////////////////////////////////////////////////*/
#ir-gov {
    margin-top: -75px;
    padding-top: 75px;
    margin-bottom: 128px;
}

#ir-gov h2 {
    margin-bottom: 92px;
}
#ir-gov h3 {
    margin-bottom: 1em;
}

#ir-gov > p,
#ir-gov > h3,
#ir-gov > div {
    font-size: 1.4rem;
    text-align: left;

    max-width: 1280px;
    padding: 0 20px;
}

#ir-gov > p {
    margin-bottom: 48px;
}

#ir-gov > h3 {
}

#ir-gov > div {
}

#ir-gov > div > h4 {
    padding-left: 1em;
}

#ir-gov > div > p {
    margin-bottom: 48px;
    padding-left: 3em;
}

/*////////////////////////////////////////////////////////////////////
#ir-documents-list　最新資料一覧
////////////////////////////////////////////////////////////////////*/
#ir-documents-list {
}

#ir-documents-list .documents-list {
    max-width: 1140px;
    margin-top: 64px;
    margin-bottom: 80px;
    display: flex;
    flex-wrap: wrap;
}

#ir-documents-list .documents-list li {
    width: 285px;
    margin: 0;
}

#ir-documents-list .documents-list li a {
    font-size: 1.8rem;
    padding: 1em;
    color: #1b4f7e;
    display: flex;
    align-items: center;
}

#ir-documents-list .documents-list li a::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 29px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url(../img/common/cmn-icon-pdf.png);
    margin-right: 0.5em;
}

#ir-documents-list .documents-list li a:hover {
    text-decoration: underline;
}

/*////////////////////////////////////////////////////////////////////
ir-documents-archives　過去資料はこちら
////////////////////////////////////////////////////////////////////*/
#ir-documents-archives {
}

#ir-documents-archives .ttl-navy {
    padding: 0;
    max-width: 350px;
    font-size: 180%;
}

#ir-documents-archives .ttl-navy a {
    display: block;
    padding: 12px 0;
    position: relative;
    background: #fff;
    color: #1b4f7e;
    border: 1px solid;
    transition: .3s;
}

#ir-documents-archives .ttl-navy a:hover {
    background: #1b4f7e;
    color: #fff;
}

#ir-documents-archives .ttl-navy a::after, #ir-documents-archives .ttl-navy a:hover::after {
    transition: .3s;
    position: absolute;
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url(../img/common/cmn-arw1.png);
    right: 15px;
    transform: translateY(-50%);
    top: 50%;
}

#ir-documents-archives .ttl-navy a:hover::after {
    background-image: url(../img/common/cmn-arw1-white.png);
}

#ir-documents-archives .lead {
    margin-top: 80px;
    margin-bottom: 96px;
    font-size: 1.4rem;
    background: #f4f6f9;
    padding: 64px 64px;
    /*color:#666666;*/
    max-width: 1240px;
    text-align: left;
}

#ir-documents-archives .lead a {
    color: #134b7a;
    text-decoration: underline;
}

#ir-documents-archives .lead a:hover {
    text-decoration: none;
}

/*////////////////////////////////////////////////////////////////////
ir-library-top　ライブラリ（資料室）トップ
////////////////////////////////////////////////////////////////////*/
#ir-library-top {
}

#ir-library-top .share-lead {
}

#ir-library-top .share-lead p {
}

/*////////////////////////////////////////////////////////////////////
#ir-library-restar　ライブラリ（資料室）RESTAR
////////////////////////////////////////////////////////////////////*/
#ir-library-restar {
    padding-bottom: 60px;
}

#ir-library-restar .ttl-navy {
}

#ir-library-restar section {
    margin-top: 24px;
    margin-bottom: 24px;
    max-width: 1240px;
    padding: 48px;
    background: #f4f6f9;
}

#ir-library-restar section .ir-library-restar-inner {
    background: #fff;
    display: flex;
}

#ir-library-restar section .ir-library-restar-inner h2 {
    background: #eaeaea;
    font-size: 1.8rem;
    width: 272px;
    display: flex;
    align-items: center;

    padding-bottom: 30px;
}

#ir-library-restar section .ir-library-restar-inner h2 span {
    font-size: 1.8rem;
    padding-bottom: 16px;
    padding-top: 36px;
    border-bottom: 2px solid #4dc6ff;
    font-weight: bold;
}

#ir-library-restar section .ir-library-restar-inner .list {
    flex: 1;
    padding: 16px 32px 32px;
}

#ir-library-restar section .ir-library-restar-inner .list dl {
    border-bottom: 1px solid #e6e6e6;
    display: flex;
    padding: 24px 0;
    text-align: left;
}

#ir-library-restar section .ir-library-restar-inner .list dl dt {
    font-size: 1.6rem;
    margin: 0;
    width: 150px;
    padding-left: 24px;
}

#ir-library-restar section .ir-library-restar-inner .list dl dt::before {
    content: "■";
    display: inline-block;
    margin-right: 0.5em;
    color: #4dc6ff;
}

#ir-library-restar section .ir-library-restar-inner .list dl dd {
    width: calc(100% - 160px);
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

#ir-library-restar section .ir-library-restar-inner .list dl dd a {
    font-size: 1.4rem;
    margin: 3px 0;
    margin-right: 40px;
}

#ir-library-restar section .ir-library-restar-inner .list dl dd a:hover {
    text-decoration: underline;
}

#ir-library-restar section .ir-library-restar-inner .list dl dd a::before,
#ir-library-restar section .ir-library-restar-inner .list dl dd a::after {
    content: "";
    display: inline-block;
}

#ir-library-restar section .ir-library-restar-inner .list dl dd a::before {
    border-left: 8px solid #4dc6ff;
    border-top: 7.5px solid transparent;
    border-bottom: 7.5px solid transparent;
    margin-right: 6px;
    vertical-align: -2px;
}

#ir-library-restar section .ir-library-restar-inner .list dl dd a::after {
    width: 10px;
    height: 12px;
    background: url(../img/common/cmn-icon-pdf.png) no-repeat center / contain;
    margin-left: 5px;
    vertical-align: -1px;
}

#ir-library-restar .button-wrapper {
    display: flex;
    justify-content: center;
    margin-top: 64px;
    margin-bottom: 96px;
}

#ir-library-restar .more {
    width: 309px;
    margin: 0;
}

#ir-library-restar .more:first-child {
    margin-right: 30px;
}

#ir-library-restar .more a {
    display: block;
    padding: 20px 0;
    border: 1px solid #dadada;
    color: #134b7a;
    font-size: 1.7rem;
    transition: ease 0.2s;
}

#ir-library-restar .more a:hover {
    color: #fff;
    background: #134b7a;
    border-color: #134b7a;
}

#ir-library-restar .more .small {
    display: block;
    font-size: 1.3rem;
}

/*////////////////////////////////////////////////////////////////////
#ir-ukcvitec-list　ライブラリ（資料室） UKC・VITEC
////////////////////////////////////////////////////////////////////*/
#ir-ukcvitec-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1240px;
    padding: 0 20px;
    box-sizing: content-box;
    margin-bottom: 100px;
    margin-top: 100px;
}

#ir-ukcvitec-list .ttl-navy {
    width: 100%;
}

#ir-ukcvitec-list .ir-ukcvitec-company {
    width: 48%;
    text-align: left;
    margin: 0;
}

#ir-ukcvitec-list .ir-ukcvitec-company h2 {
    border-left: 4px solid #4dc6ff;
    padding: 10px 0 10px 30px;
    margin-bottom: 30px;
    font-weight: 600;
    font-size: 1.8rem;
}

#ir-ukcvitec-list .ir-ukcvitec-company .frm {
    background: #f6f9fb;
    padding: 30px;
}

#ir-ukcvitec-list .ir-ukcvitec-company .frm section {
    width: 100%;
    background: #fff;
    padding: 30px;
    margin-top: 30px;
}

#ir-ukcvitec-list .ir-ukcvitec-company .frm section:nth-of-type(1) {
    margin: 0;
}

#ir-ukcvitec-list .ir-ukcvitec-company .frm section h3 {
    position: relative;
    padding-left: 30px;
    font-size: 1.8rem;
}

#ir-ukcvitec-list .ir-ukcvitec-company .frm section h3::before {
    content: "";
    display: block;
    position: absolute;
    background: #4dc6ff;
    width: 18px;
    height: 3px;
    top: 50%;
    bottom: 0;
    left: 0;
}

#ir-ukcvitec-list .ir-ukcvitec-company .frm section ul {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

#ir-ukcvitec-list .ir-ukcvitec-company .frm section ul li {
    padding-left: 30px;
    font-size: 1.4rem;
    position: relative;
    margin: 0;
    margin-top: 22px;
    width: 100%;
}

/*#ir-ukcvitec-list .ir-ukcvitec-company .frm section ul li:nth-child(2n+1) {
    width: 60%;
    }
    #ir-ukcvitec-list .ir-ukcvitec-company .frm section ul li:nth-child(2n) {
    width: 40%;
    }*/
#ir-ukcvitec-list .ir-ukcvitec-company .frm section ul li::before {
    content: "";
    display: block;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 9px solid #4dc6ff;
    position: absolute;
    top: 4px;
    left: 9px;
}

#ir-ukcvitec-list .ir-ukcvitec-company .frm section ul li h4 {
    width: 100%;
    font-weight: 400;
}

#ir-ukcvitec-list .ir-ukcvitec-company .frm section ul li.non-flex {
    display: block;
}

#ir-ukcvitec-list .ir-ukcvitec-company .frm section ul li h4 a {
}

#ir-ukcvitec-list .ir-ukcvitec-company .frm section ul li h4 a:hover {
    text-decoration: underline;
}

#ir-ukcvitec-list .ir-ukcvitec-company .frm section ul li {
    display: flex;
    flex-wrap: wrap;

}

#ir-ukcvitec-list .ir-ukcvitec-company .frm section ul li p {
    margin: 0;
    padding-right: 20px;
    min-width: 50%;
    box-sizing: border-box;
}

#ir-ukcvitec-list .ir-ukcvitec-company .frm section ul li p {
}

#ir-ukcvitec-list .ir-ukcvitec-company .frm section ul li p a {
    text-decoration: underline;
}

#ir-ukcvitec-list .ir-ukcvitec-company .frm section ul li p a.pdf {
    text-decoration: none;
}

#ir-ukcvitec-list .ir-ukcvitec-company .frm section ul li p a.pdf:hover {
    text-decoration: underline;
}

#ir-ukcvitec-list .ir-ukcvitec-company .frm section ul li p a.pdf::before, #ir-ukcvitec-list .ir-ukcvitec-company .frm section ul li p.pdf::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 12px;
    margin-right: 10px;
    background: url(../img/common/cmn-icon-pdf.png) no-repeat center / contain;
}

/*////////////////////////////////////////////////////////////////////
#ir-stock-base　株式関連　基本情報 / 事務手続
////////////////////////////////////////////////////////////////////*/
#ir-stock-base {
    margin-top: -75px;
    padding-top: 75px;
}

#ir-stock-base .ttl-navy {
    margin-bottom: 60px;
}

#ir-stock-base section {
    max-width: 1196px;
    padding: 0 20px;
}

#ir-stock-base section .ttl-left-line {
}

#ir-stock-base section .table {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #aaaaaa;
    margin-bottom: 60px;
    margin-top: 40px;
}

#ir-stock-base section.stock-info .table {
    margin-top: 0;
}

#ir-stock-base section .table dt {
    width: 28%;
    margin: 0;
    border-left: 1px solid #aaaaaa;
    border-right: 1px solid #aaaaaa;
    border-bottom: 1px solid #aaaaaa;
    padding: 15px 20px;
    text-align: left;
    font-size: 1.6rem;
    color: #666666;
}

#ir-stock-base section .table dd {
    width: 72%;
    margin: 0;
    border-right: 1px solid #aaaaaa;
    border-bottom: 1px solid #aaaaaa;
    font-size: 1.6rem;
    color: #666666;
    padding: 15px 20px;
    text-align: left;
}

#ir-stock-base section .date {
    text-align: right;
    font-size: 1.6rem;
    margin-bottom: 10px;
}

#ir-stock-base section dl {
}

#ir-stock-base section dl dt {
}

#ir-stock-base section dl dd {
}

/*////////////////////////////////////////////////////////////////////
#ir-stock-stockholders　株主構成（大株主名簿等）
////////////////////////////////////////////////////////////////////*/
#ir-stock-stockholders {
    margin-top: -75px;
    padding-top: 75px;
}

#ir-stock-stockholders .ttl-navy {
}

#ir-stock-stockholders section {
    max-width: 1196px;
    padding: 0 20px;
    margin-bottom: 64px;
}

#ir-stock-stockholders section .ttl-left-line {
}

#ir-stock-stockholders section p {
    text-align: left;
    font-size: 1.4rem;
    margin: 0.5em 0;
}

#ir-stock-stockholders section .date {
    text-align: right;
    font-size: 1.6rem;
    margin-bottom: 10px;
}

#ir-stock-stockholders section .table {
    border-collapse: collapse;
    width: 100%;
    font-size: 1.4rem;
}

#ir-stock-stockholders section .table thead {
}

#ir-stock-stockholders section .table thead tr {
}

#ir-stock-stockholders section .table thead tr th {
    border-left: 1px solid #aaaaaa;
    border-right: 1px solid #aaaaaa;
    padding: 15px 20px;
    border-bottom: 1px solid #aaaaaa;
    border-top: 1px solid #aaaaaa;
}

#ir-stock-stockholders section .table thead tr td {
    border-right: 1px solid #aaaaaa;
    border-bottom: 1px solid #aaaaaa;
    border-top: 1px solid #aaaaaa;
}

#ir-stock-stockholders section .table tbody {
}

#ir-stock-stockholders section .table tbody tr {
}

#ir-stock-stockholders section .table tbody tr th {
    border-left: 1px solid #aaaaaa;
    border-right: 1px solid #aaaaaa;
    border-bottom: 1px solid #aaaaaa;
    text-align: left;
    padding: 15px 20px;
}

#ir-stock-stockholders section .table tbody tr td {
    border-right: 1px solid #aaaaaa;
    border-bottom: 1px solid #aaaaaa;
}

/*////////////////////////////////////////////////////////////////////
#ir-stock-dividend　配当金関連
////////////////////////////////////////////////////////////////////*/
#ir-stock-dividend {
    margin-top: -75px;
    padding-top: 75px;
}

#ir-stock-dividend .ttl-navy {
}

#ir-stock-dividend section {
    max-width: 1196px;
    padding: 0 20px;
}

#ir-stock-dividend section .ttl-left-line {
    margin-bottom: 30px;
}

#ir-stock-dividend section p {
    text-align: left;
    font-size: 1.4rem;
    margin-bottom: 35px;
    line-height: 2;
}

#ir-stock-dividend section .table {
    width: 100%;
    border-collapse: collapse;
    color: #666666;
    text-align: center;
    font-size: 1.4rem;
    margin-bottom: 101px;
}

#ir-stock-dividend section .table thead {
    border-top: 1px solid #aaaaaa;
    border-left: 1px solid #aaaaaa;
    border-bottom: 1px solid #aaaaaa;
}

#ir-stock-dividend section .table thead tr {
}

#ir-stock-dividend section .table thead tr th {
    border-right: 1px solid #aaaaaa;
    padding: 15px 20px;
}

#ir-stock-dividend section .table thead tr td {
    border-right: 1px solid #aaaaaa;
    padding: 15px 20px;
}

#ir-stock-dividend section .table thead tr th, #ir-stock-dividend section .table thead tr td {
    width: 20%;
}

#ir-stock-dividend section .table tbody {
    border-left: 1px solid #aaaaaa;
    border-bottom: 1px solid #aaaaaa;
}

#ir-stock-dividend section .table tbody tr {
}

#ir-stock-dividend section .table tbody tr th {
    border-right: 1px solid #aaaaaa;
    color: #666666;
    padding: 15px 20px;
}

#ir-stock-dividend section .table tbody tr td {
    border-right: 1px solid #aaaaaa;
    color: #666666;
    padding: 15px 20px;
}

/*////////////////////////////////////////////////////////////////////
#ir-stock-general-meeting　株主総会
////////////////////////////////////////////////////////////////////*/
#ir-stock-general-meeting {
    margin-top: -75px;
    padding-top: 75px;
}

#ir-stock-general-meeting .ttl-navy {
    margin-bottom: 50px;
}

#ir-stock-general-meeting section {
    max-width: 1196px;
    padding: 0 20px 40px;
}

#ir-stock-general-meeting section .ttl-left-line {
}

#ir-stock-general-meeting section p {
    text-align: left;
    font-size: 1.4rem;
    line-height: 2;
    margin-bottom: 80px;
}

#ir-stock-general-meeting section .pdf-btn {
    margin-bottom: 96px;
}

#ir-stock-general-meeting section .pdf-btn a {
}

#ir-stock-general-meeting section .pdf-btn a::before {
}

#ir-stock-general-meeting section .pdf-btn a::after {
}

#ir-stock-general-meeting section .pdf-btn a:hover {
    color: #fff;
    background: #134b7a;
    border-color: #134b7a;
}

#ir-stock-general-meeting section .pdf-btn a:hover::after {
    background-image: url(../img/common/cmn-arw1-white.png);
}

#ir-stock-general-meeting .ir-stock-general-meeting_wrap{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

#ir-stock-general-meeting .meeting-detail{
    width: 300px;
    margin-bottom: 0;
}
#ir-stock-general-meeting .meeting-list{
    width: calc(100% - 300px);
    margin: 0;
    text-align: left;
    color: #1b4f7e;
    font-size: 1.4rem;
    display: flex;
    flex-wrap: wrap;
}
#ir-stock-general-meeting .meeting-list li{
    margin: 0 0 10px 40px;
    line-height: 2;
}
#ir-stock-general-meeting .meeting-list li a{
    position: relative;
    padding-left: 25px;
    transition: opacity .3s;
}
#ir-stock-general-meeting .meeting-list li a:hover{
    opacity: .6;
}
#ir-stock-general-meeting .meeting-list li.pdf a:before,
#ir-stock-general-meeting .meeting-list li.link a:before{
    content: '';
    width: 15px;
    height: 17px;
    position: absolute;
    background: center center no-repeat;
    background-size: contain;
    left: 0;
    top:3px;
}
#ir-stock-general-meeting .meeting-list li.link a:before{
    background-image: url(../img/common/cmn-icon-out-navy.png);
    left: 1px;
}
#ir-stock-general-meeting .meeting-list li.pdf a:before{
    background-image: url(../img/common/cmn-icon-pdf.png);

}

/*////////////////////////////////////////////////////////////////////
#ir-other-links　IRその他ページのリンクボタン
////////////////////////////////////////////////////////////////////*/
#ir-other-links {
}

#ir-other-links .list {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    margin: 80px auto;
    max-width: 1140px;
}

#ir-other-links .list section {
    margin: 0;
    margin-bottom: 10px;
}

#ir-other-links .list section a {
    background: #7eb0c8;
    color: #fff;
    width: 520px;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    transition: all 0.3s ease;
}

#ir-other-links .list section a:hover {
    background-color: #134b7a;
}

#ir-other-links .list section a::after {
    content: "";
    display: block;
    width: 7px;
    height: 10px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url(../img/common/cmn-arw1-white.png);
    margin-left: 0.5em;
}

#ir-other-links .list section a.out::after {
    width: 10px;
    hegiht: 10px;
    background-image: url(../img/common/cmn-icon-out.png);
}

/*////////////////////////////////////////////////////////////////////
ir-basic-policy　IR 基本方針
////////////////////////////////////////////////////////////////////*/
#ir-basic-policy {
    margin-top: -75px;
    padding-top: 75px;
    max-width: 1240px;
    margin-bottom: 96px;
}

#ir-basic-policy h2 {
}

#ir-basic-policy .lead {
    margin-top: 64px;
    color: #666;
    font-size: 1.4rem;
    text-align: left;
}

#ir-basic-policy section {
    margin-bottom: 48px;
    text-align: left;
}

#ir-basic-policy section h3 {
    color: #333;
    font-size: 1.6em;
    font-weight: 600;
}

#ir-basic-policy section h3::before {
    content: "■";
    display: inline-block;
    margin-right: 0.75em;
    color: #4dc6ff;
}

#ir-basic-policy section p {
    padding-left: 2em;
    font-size: 1.4rem;
}

#ir-basic-policy section ul {
    padding-left: 5em;
}

#ir-basic-policy section ul li {
    text-indent: -2em;
    padding-left: 2em;
    font-size: 1.4rem;
}

#ir-basic-policy section figure {
    margin-top: 32px;
    width: 804px;
}

#ir-basic-policy section figure img {
    width: 100%;
}

/*////////////////////////////////////////////////////////////////////
ir-disclaimer　免責事項
////////////////////////////////////////////////////////////////////*/
#ir-disclaimer {
    margin-top: -75px;
    padding-top: 75px;
    margin-bottom: 84px;
    max-width: 1240px;
}

#ir-disclaimer h2 {
}

#ir-disclaimer h3 {
    position: relative;
    font-size: 1.8rem;
    margin-top: 36px;
    text-align: left;
    font-weight: 600;
    padding-left: 44px;
}

#ir-disclaimer h3::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 18px;
    width: 4px;
    height: 100%;
    background: #4dc6ff;
}

#ir-disclaimer p {
    margin-top: 28px;
    margin-bottom: 64px;
    font-size: 1.6rem;
    text-align: left;
    padding: 0 20px 0 64px;
}

/*////////////////////////////////////////////////////////////////////
ir-plan　中期経営計画
////////////////////////////////////////////////////////////////////*/
.ir-plan-lead {
    max-width: 1280px;
    margin: 0 auto 70px;
    padding: 0 20px;
    text-align: left;
}
.ir-plan-lead__inner {
    padding: 40px 50px;
    background: #F4F6F9;
}
.ir-plan-lead__inner p {
    margin: 0 0 25px;
    font-size: 1.4rem;
    line-height: 2;
}
.ir-plan-lead__inner p:last-child {
    margin-bottom: 0;
}
.ir-plan-lead__inner a {
    color: #0e3a6a;
    text-decoration: underline;
    transition: 0.3s ease;
}
.ir-plan-lead__inner a:hover {
    color: inherit;
    text-decoration: none;
}
.ir-plan-content {
    max-width: 1280px;
    margin: 0 auto 70px;
    padding: 0 20px;
    text-align: left;
}
.ir-plan-content h2 {
    margin: 70px 0 0;
    padding: 9px 0 9px 20px;
    border-left: 4px solid #4DC6FF;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.4;
}
.ir-plan-content p {
    margin: 25px 0 0;
    font-size: 1.4rem;
}
.ir-plan-content h2 + p {
    margin-top: 30px;
}
.ir-plan-content a {
    color: #0e3a6a;
    text-decoration: underline;
    transition: 0.3s ease;
}
.ir-plan-content a:hover {
    color: inherit;
    text-decoration: none;
}
.ir-plan-content .wp-block-image {
    margin: 50px 0 0;
}
.ir-plan-content h2 + .wp-block-image {
    margin-top: 30px;
}
.ir-plan-pdf {
    max-width: 1280px;
    margin: 70px auto 100px;
    padding: 0 20px;
}
.ir-plan-pdf__inner {
    padding: 32px;
    background: #F4F6F9;
}
.ir-plan-pdf__button {
    width: 400px;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.4;
}
.ir-plan-pdf__button a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 80px;
    padding: 10px 80px;
    border: 1px solid #DADADA;
    background: #fff;
    color: #0e3a6a;
    transition: 0.3s ease;
}
.ir-plan-pdf__button a:hover {
    color: #fff;
    background: #134b7a;
    border-color: #134b7a;
}
.ir-plan-pdf__button a::before,
.ir-plan-pdf__button a::after {
    content: "";
    position: absolute;
    top: 50%;
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% auto;
    transform: translateY(-50%);
}
.ir-plan-pdf__button a::before {
    left: 38px;
    width: 24px;
    height: 29px;
    background-image: url(../img/common/cmn-icon-pdf.png);
}
.ir-plan-pdf__button a::after {
    right: 32px;
    width: 6px;
    height: 9px;
    background-image: url(../img/common/cmn-arw1.png);
}

/*////////////////////////////////////////////////////////////////////
#news　ニュースページ
////////////////////////////////////////////////////////////////////*/
#news {
}

#news .nav {
}

#news .nav li {
}

/*////////////////////////////////////////////////////////////////////
#contact-top　お問い合わせトップ
////////////////////////////////////////////////////////////////////*/
#contact-top {
    margin: 100px auto;
    max-width: 1240px;
    padding: 0 20px;
    box-sizing: content-box;
}

#contact-top section {
    margin: 50px 0;
}

#contact-top section .ttl-navy {
}

#contact-top section ul {
}

#contact-top section ul li {
    margin: 0 0 15px;
}

#contact-top section ul li::after {
    content: "";
    display: block;
    clear: both;
}

#contact-top section ul li:last-child {
    margin-bottom: 0;
}

#contact-top section ul li h3 {
    float: left;
    border-left: 4px solid #4dc6ff;
    font-size: 1.6rem;
    padding: 0 0 0 30px;
    flex: 1;
    min-height: 58px;
    display: flex;
    align-items: center;
    text-align: left;
}

#contact-top section ul li p {
    float: right;
    width: 300px;
}

#contact-top section ul li p a {
    display: block;
    padding: 1em 0;
    font-size: 1.6rem;
    color: #134b7a;
    border: 1px solid #dcdcdc;
    width: 100%;
    transition: 0.3s ease;
}

#contact-top section ul li p a:hover {
    background: #0e3a6a;
    border-color: #0e3a6a;
    color: #fff;
}

#contact-top section ul li p span {
    width: 100%;
    color: #666;
    font-size: 1.3rem;
    display: block;
}

.contact-recap {
    font-size: 1.0rem;
    line-height: 1.8;
    margin: 65px 0 0;
}

/*////////////////////////////////////////////////////////////////////
#complianceline-top　コンプライアンスライントップ
////////////////////////////////////////////////////////////////////*/
#complianceline-top {
    max-width: 1100px;
    padding: 0 20px;
    margin-top: 96px;
    margin-bottom: 100px;
}

#complianceline-top h2 {
    font-size: 2.2rem;
    position: relative;
    margin-bottom: 48px;
    padding-bottom: 48px;
    text-align: center;
}

#complianceline-top h2::before {
    content: "";
    display: block;
    position: absolute;
    background: #4dc6ff;
    width: 150px;
    height: 2px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
#complianceline-top .about {
    margin: 0 0 50px;
    padding: 50px;
    background: #f5f5f5;
    font-weight: 600;
    text-align: left;
}
#complianceline-top .about__intro {
    margin: 0 0 30px;
    font-size: 1.4rem;
}
#complianceline-top .about__heading {
    margin: 30px 0 10px;
    font-size: 1.4rem;
}
#complianceline-top .about__text {
    font-size: 1.4rem;
}
#complianceline-top .about__list {
    padding: 0 0 0 1em;
    font-size: 1.4rem;
}
#complianceline-top .about__list-item {
    margin: 10px 0 0;
    list-style: disc;
}
#complianceline-top .consent {
    font-size: 1.4rem;
    text-align: center;
    font-weight: 600;
    margin-bottom: 50px;
}

#complianceline-top .btn {
    width: 500px;
    height: 105px;
    margin-bottom: 30px;
}

#complianceline-top .btn a {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    background: #f1f4f8;
    font-size: 1.6rem;
    font-weight: 600;
    transition: ease 0.3s;
}

#complianceline-top .btn a:hover {
    background: #134b7a;
    color: #fff;
}

#complianceline-top .caution {
    width: 500px;
    font-size: 1.2rem;
    line-height: 2;
    font-weight: 600;
}

/*////////////////////////////////////////////////////////////////////
#term　サイト利用規約
////////////////////////////////////////////////////////////////////*/
#term {
    max-width: 1240px;
    margin-bottom: 95px;
}

#term .lead {
    text-align: left;
    margin-bottom: 50px;
}

#term .lead h2 {
    font-size: 2.1rem;
    margin-bottom: 20px;
}

#term .lead p {
    background: #f6f9fb;
    padding: 45px 25px;
    font-size: 1.4rem;
    line-height: 2;
}

#term .lead p a {
    text-decoration: underline;
    color: #0e3a6a;
    transition: ease 0.2s;
}

#term .lead p a:hover {
    opacity: 0.6;
}

#term section {
    text-align: left;
    margin-bottom: 45px;
}

#term section h2 {
    font-size: 1.8rem;
    height: 20px;
    display: flex;
    padding-left: 22px;
    align-items: center;
    position: relative;
    margin-bottom: 29px;
    font-weight: 600;
    line-height: 1;
}

#term section h2::before {
    content: "";
    display: block;
    position: absolute;
    width: 3px;
    height: 100%;
    background: #4dc6ff;
    left: 0;
    top: 0;
}

#term section p {
    padding: 0 40px 0 50px;
    font-size: 1.6rem;
}

#term section p a {
    text-decoration: underline;
    color: #0e3a6a;
    transition: ease 0.2s;
}

#term section p a:hover {
    opacity: 0.6;
}

#term p.over {
    text-align: right;
    font-size: 1.6rem;
}

/* ///////////////////////////////////////////////////////////////////
#interview インタビュー一覧 [interview]
/////////////////////////////////////////////////////////////////// */
#interview {
    margin-bottom: 80px;
}

#interview .interview-list-ttl {
    color: #666;
    font-size: 1.6rem;
    padding: 12px 0;
    max-width: 1240px;
    font-weight: 600;
    margin-bottom: 32px;
    border-bottom: 1px solid #666;
    text-align: left;
}

#interview .interview-list-ttl-note {
    margin: 0 0 0 20px;
    font-size: 1.3rem;
    font-weight: 400;
}

#interview .img-left-list {
    flex-wrap: wrap;
    justify-content: space-between;
}

#interview .img-left-list section {
    width: 48%;
    margin: 2% 0;
}

#interview .img-left-list section a {
}

#interview .img-left-list section a .img {
}

#interview .img-left-list section a .img img {
}

#interview .img-left-list section a .txt {
    display: block;
    padding: 32px 0 0;
    width: 65%;
}

#interview .img-left-list section a .txt span {
    display: block;
    font-size: 1.6rem;
    font-weight: 600;
    padding-bottom: 15px;
    margin-bottom: 10px;
    color: #1b4f7e;
    position: relative;
}

#interview .img-left-list section a .txt span::before {
    content: "";
    position: absolute;
    display: block;
    background: #4dc6ff;
    width: 180px;
    height: 2px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

#interview .img-left-list section a .txt .name {
    font-size: 1.2rem;
    margin-bottom: 4px;
    color: #666; /* font-weight: 600; */
}

#interview .img-left-list section a .txt .position {
    font-size: 1.2rem;
    color: #666;
}

/* ///////////////////////////////////////////////////////////////////
#interview-mv インタビュー最初のイメージ[interview][spread]
/////////////////////////////////////////////////////////////////// */
#interview-mv {
}

#interview-mv img {
}

#interview-mv::after {
    content: "";
    display: block;
    background: linear-gradient(to right, #073c67, #4dc6ff);
    width: 100%;
    height: 6px;
}

/* ///////////////////////////////////////////////////////////////////
#interview-intro インタビュー最初のキャッチコピー等 [interview][spread]
/////////////////////////////////////////////////////////////////// */
#interview-intro {
    max-width: 1100px;
    padding: 0 20px;
}

#interview-intro .intro-ttl {
    color: #1b4f7e;
    margin: 80px 0 64px;
    font-weight: 600;
    font-size: 4.4rem;
}

#interview-intro .intro-ttl {
}

#interview-intro .intro-txt {
    font-size: 1.6rem;
    text-align: left;
    font-weight: 600;
    margin-bottom: 80px;
    line-height: 1.8;
}

#interview-intro .intro-txt a {
    color: #134b7a;
    text-decoration: underline;
}
#interview-intro .intro-txt a:hover {
    text-decoration: none;
}

#interview-intro .intro-ttl span {
    display: block;
    font-size: 3rem;
}

/* ///////////////////////////////////////////////////////////////////
#interview-profile プロフィール [interview][spread]
/////////////////////////////////////////////////////////////////// */
#interview-profile {
    max-width: 1060px;
    margin-bottom: 64px;
    background: #f5f5f8;
    padding-bottom: 36px;
}

#interview-profile .ttl-navy {
}

#interview-profile section {
    padding: 0px 19px;
    display: flex;
    margin-top: 38px;
}

#interview-profile section .photo {
    width: 213px;
    margin: 0;
}

#interview-profile section .photo img {
    border-radius: 50%;
}

#interview-profile section dl { /* width: 800px; */
    margin: 0 0 0 22px;
    text-align: left;
    padding-top: 10px;
    flex: 1;
}

#interview-profile section dl dt {
    font-size: 2rem;
    font-weight: 700;
    color: #1b4f7e;
    border-bottom: 1px solid #666;
    display: inline-block;
    margin-bottom: 16px;
}

#interview-profile section dl dt span {
    font-size: 1.6rem;
    letter-spacing: 0;
    margin-left: 10px;
}

#interview-profile section dl dd {
    font-size: 1.4rem;
    margin-bottom: 1em;
    line-height: 1.8;
}

/* ///////////////////////////////////////////////////////////////////
#interview-area インタビュー内容 [interview][spread]
/////////////////////////////////////////////////////////////////// */
#interview-area {
    text-align: left;
    max-width: 1100px;
    margin-bottom: 90px;
}

#interview-area section {
    margin-bottom: 90px;
}

#interview-area .ttl-blue-underline {
    font-size: 2.4rem;
    color: #1b4f7e;
    font-weight: 600;
    border-bottom: 4px solid #4DC6FF;
    display: inline-block;
    margin: 0 20px 32px;
    text-align: left;
    padding-bottom: 10px;
}

#interview-area .heading-blue {
    font-size: 2rem;
    font-weight: 600;
    color: #1b4f7e;
    margin: 0 20px 32px;
}

#interview-area dl {
    margin-bottom: 36px;
}

#interview-area dl dt {
    font-size: 1.6rem;
    font-weight: 600;
    color: #1b4f7e;
    margin: 0 20px 18px;
}

#interview-area dl dd {
}

#interview-area .interview-txt {
    font-size: 1.4rem;
    margin: 0 20px 30px;
    line-height: 1.8;
}

#interview-area section .interview-photo {
    max-width: 1060px;
    margin-bottom: 40px;
}

#interview-area section .interview-photo img {
}

#interview-area .alternate {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#interview-area .alternate .heading-blue {
    margin: 0 20px 24px;
    width: 100%;
}

#interview-area .alternate .alternate-detail {
    margin: 0;
    width: 46%;
}

#interview-area .alternate .alternate-photo {
    margin: 0;
    width: 46%;
    padding: 0 20px;
}

#interview-area .alternate .alternate-photo img {
}

#interview-area .alternate.alte2 {
    margin-bottom: 32px;
}

#interview-area .alternate.alte2 .alternate-detail {
    order: 3;
}

#interview-area .alternate.alte2 .alternate-photo {
    order: 2;
}

/* ///////////////////////////////////////////////////////////////////
    #interview-area [initiatives]
/////////////////////////////////////////////////////////////////// */
#interview-area .initiatives-detail {
    margin: 0 20px 0;
    font-size: 1.5rem;
    line-height: 2;
}
#interview-area .initiatives-detail + .interview-photo{
    margin-top: 40px;
}
#interview-area .initiatives-detail .caution {
    font-size: 80%;
    display: block;
}

#interview-area .initiatives-detail .col3 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 40px;
}

#interview-area .initiatives-detail .col3 li {
    width: calc(33% - 20px);
    margin: 0;
    font-size: 90%;
}

#interview-area .initiatives-detail .col3 li img {
    width: 100%;
    max-width: 400px;
}

#interview-area .initiatives-detail .flex-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}

#interview-area .initiatives-detail .flex-box img {
    width: 45%;
    margin: 0;
    height: auto;
}
#interview-area .initiatives-detail .flex-box figure {
    width: 45%;
    margin: 0;
    height: auto;
}
#interview-area .initiatives-detail .flex-box figcaption{
    text-align: right;
    margin-top: 15px;
    font-size: 80%;
}
#interview-area .initiatives-detail .flex-box figure img{
    width: 100%;
}


#interview-area .initiatives-detail .flex-box .txt {
    order: 1;
    width: 50%;
    margin: 0;
}

#interview-area .initiatives-detail .flex-box.left{
    margin-top: 2em;
}
#interview-area .initiatives-detail .flex-box.right{
    margin-bottom: 2em;
}
#interview-area .initiatives-detail .flex-box.ratio7-3 img{
    width: 28%;
}
#interview-area .initiatives-detail .flex-box.ratio7-3 .txt{
    width: 72%;
}
#interview-area .initiatives-detail .flex-box.left img{
    order: 0;
}
#interview-area .initiatives-detail .flex-box.right img,#interview-area .initiatives-detail .flex-box.right figure {
    order: 2;
}

/* ///////////////////////////////////////////////////////////////////
    #interview-area [dialogue]
/////////////////////////////////////////////////////////////////// */
#interview-intro .intro-ttl.dialogue {
    font-weight: 600;
    font-size: 4.2rem;
    line-height: 1.4;
}
#interview-area .dialogue{
    max-width: 1060px;
}
#interview-area .dialogue .ttl-blue-underline {
    display: block;
    font-size: 2.8rem;
    text-align: center;
    border-bottom: none;
    padding-bottom: 24px;
    position: relative;
}
#interview-area .dialogue .ttl-blue-underline:after{
    content: "";
    display: inline-block;
    width:280px;
    height: 4px;
    background-color: #4DC6FF;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}

#interview-area .interview-contents dl{
    max-width: 1060px;
    padding: 30px 20px 10px;
    border: 2px solid #0e3a6a;
    position: relative;
}
#interview-area .interview-contents dl dt{
    font-size: 2.4rem;
    display: inline-block;
    color: #0e3a6a;
    background-color: #fff;
    padding: 0 10px;
    position: absolute;
    top: -20px;
    margin-bottom: 0;
}
#interview-area .interview-contents dl dd{
    font-size: 1.8rem;
    color: #333;
    border-bottom: 1px dotted #d7d7d7;
    margin-bottom: 14px;
    padding: 10px 0 10px 50px;
    position: relative;
}
#interview-area .interview-contents dl dd::after{
    content: "";
    display: inline-block;
    width: 22px;
    height: 15px;
    background: url(../img/common/cmn-arw2.png) no-repeat center;
    background-size: cover;
    position: absolute;
    left: 14px;
    top: 2px;
    bottom: 0;
    margin: auto;
}

#interview-area .interview-contents dl dd a:hover{
    transition: ease .4s;
    color: #0e3a6a;
}

#interview-area .dialogue .comment{
    width: 690px;
    margin: 90px auto;
}

#interview-area .dialogue .comment.side_a,
#interview-area .dialogue .comment.side_b{
    border: 3px solid #b9b9b9;
    background: #fff;
    border-radius: 10px;
    padding: 22px 30px;
    position: relative;
}

#interview-area .dialogue .comment.side_a::before,
#interview-area .dialogue .comment.side_b::before{
    width: auto;
    height: auto;
    content: '';
    font-size: 0;
    border-top: 16px solid transparent;
    border-bottom: 16px solid transparent;
    background: none;
}
#interview-area .dialogue .comment.side_a::before{
    position: absolute;
    top: 24px;
    right: -24px;
    left: auto;
    bottom: auto;
    border-left: 24px solid #b9b9b9;
}
#interview-area .dialogue .comment.side_b::before{
    position: absolute;
    top: 24px;
    left: -24px;
    bottom: auto;
    border-right: 24px solid #b9b9b9;
}

#interview-area .dialogue .comment.side_a::after,
#interview-area .dialogue .comment.side_b::after{
    width: auto;
    height: auto;
    content: '';
    font-size: 0;
    border-top: 16px solid transparent;
    border-bottom: 16px solid transparent;
    background: none;
}
#interview-area .dialogue .comment.side_a::after{
    position: absolute;
    top: 24px;
    right: -18px;
    left: auto;
    bottom: auto;
    border-left: 24px solid #fff;
}
#interview-area .dialogue .comment.side_b::after{
    position: absolute;
    top: 24px;
    left: -18px;
    bottom: auto;
    border-right: 24px solid #fff;
}

#interview-area .dialogue .comment.side_a .person,
#interview-area .dialogue .comment.side_b .person{
    line-height: 1;
    font-size: 1.6rem;
    text-align: center;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 120px;
    height: 120px;
    z-index: 2;
}
#interview-area .dialogue .comment.side_a .person{
    position: absolute;
    top: -12px;
    right: -140px;
}
#interview-area .dialogue .comment.side_b .person{
    position: absolute;
    top: -12px;
    left: -140px;
}

#interview-area .dialogue .comment.side_a .person img,
#interview-area .dialogue .comment.side_b .person img{
    width: 100px;
}

#interview-area .dialogue .comment.side_a p,
#interview-area .dialogue .comment.side_b p{
    font-size: 1.6rem;
    line-height: 1.8;
}

#interview-area .dialogue .photo_box{
    margin-bottom: 40px;
}
#interview-area .dialogue .photo_box .photo_img{
    margin-bottom: 10px;
}
#interview-area .dialogue .photo_box .photo_info{
    font-size: 1.6rem;
}

/* ///////////////////////////////////////////////////////////////////
#other-interview [interview]
/////////////////////////////////////////////////////////////////// */
#other-interview {
    max-width: 1060px;
    margin-bottom: 90px;
}
#other-interview .ttl-left-line {
    color: #1b4f7e;
    height: 45px;
    font-weight: 600;
    padding-left: 25px;
    margin-bottom: 40px;
}
#other-interview .img-left-list {
    justify-content: space-between;
}
#other-interview .img-left-list section {
    margin: 0;
    width: 340px;
}
#other-interview .img-left-list section:nth-child(3n+2) {
    margin: 0 12px;
}
#other-interview .img-left-list section a {
    display: flex;
    border: 1px solid #dadada;
    transition: 0.7s cubic-bezier(0.23, 1, 0.32, 1);
}
#other-interview .img-left-list section a .img {
    width: 35%;
}
#other-interview .img-left-list section a .img img {
    transition: 0.7s cubic-bezier(0.23, 1, 0.32, 1);
}
#other-interview .img-left-list section a:hover .img img {
    transform: scale(1.1);
}
#other-interview .img-left-list section a .txt {
    font-size: 1.6rem;
    font-weight: 600;
}
#other-interview .img-left-list section a::after {
    position: absolute;
    bottom: -1px;
    right: -1px;
}
#other-interview .img-left-list section a:hover,
#other-interview .img-left-list section a:hover::after {
    background-color: #e4edf9;
}
#other-interview .img-left-list section a .txt span {
    display: block;
    font-weight: 400;
    margin-top: 8px;
    font-size: 1rem;
    padding: 0 10px;
}
/* ///////////////////////////////////////////////////////////////////
#interview-pager [interview]
/////////////////////////////////////////////////////////////////// */
#interview-pager {
    max-width: 1060px;
    margin-bottom: 90px;
    background: #F6F9FB;
    padding: 50px;
}
#interview-pager .pager-inner {
    display: flex;
    justify-content: space-around;
}
#interview-pager .pager-inner li,
#interview-pager .pager-inner .prev,
#interview-pager .pager-inner .next,
#interview-pager .pager-inner .to-top {
    margin: 0;
    width: 233px;
    height: 54px;
}
#interview-pager .pager-inner .prev a,
#interview-pager .pager-inner .next a,
#interview-pager .pager-inner .to-top a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #fff;
    font-size: 1.4rem;
    transition: ease 0.2s;
}
#interview-pager .pager-inner .prev a,
#interview-pager .pager-inner .next a {
    background: #0E3A6E;
    border: 1px solid #0E3A6E;
}
#interview-pager .pager-inner .prev a::before,
#interview-pager .pager-inner .next a::before {
    content: "";
    display: block;
    position: absolute;
    background-size: cover;
    background-image: url(../img/common/cmn-icon-arw2.png);
    width: 9px;
    height: 16px;
    top: 1px;
    bottom: 0;
    margin: auto;
}
#interview-pager .pager-inner .prev a::before {
    left: 14px;
    transform: rotate(180deg);
}
#interview-pager .pager-inner .next a::before {
    right: 14px;
}
#interview-pager .pager-inner .prev a:hover,
#interview-pager .pager-inner .next a:hover {
    background: #fff;
    color: #0E3A6E;
}
#interview-pager .pager-inner .to-top a:hover {
    background: #fff;
    color: #005EAC;
}
#interview-pager .pager-inner .prev a:hover::before,
#interview-pager .pager-inner .next a:hover::before {
    background-image: url(../img/common/cmn-icon-arw2-navy.png);
}
#interview-pager .pager-inner .to-top {
}
#interview-pager .pager-inner .to-top a {
    background: #005EAC;
    border: 1px solid #005EAC;
}
/*////////////////////////////////////////////////////////////////////
#rec-supplier-top　取り扱いメーカートップ [REC]
////////////////////////////////////////////////////////////////////*/
#rec-supplier-top {
}
/*////////////////////////////////////////////////////////////////////
rec-supplier-semiconductor　取り扱いメーカーの半導体リスト [REC]
////////////////////////////////////////////////////////////////////*/
#rec-supplier-semiconductor {
}
/*////////////////////////////////////////////////////////////////////
#rdc-supplier-top　取り扱いメーカートップ [RDC]
////////////////////////////////////////////////////////////////////*/
#rdc-supplier-top {
}
/*////////////////////////////////////////////////////////////////////
#rdc-supplier-semiconductor　取り扱いメーカーの半導体リスト [RDC]
////////////////////////////////////////////////////////////////////*/
#rdc-supplier-semiconductor {
max-width: 1240px;
margin-bottom: 50px;
}
/*////////////////////////////////////////////////////////////////////
#rdc-supplier-electronic
////////////////////////////////////////////////////////////////////*/
#rdc-supplier-electronic {
max-width: 1240px;
margin-bottom: 50px;
}

/*////////////////////////////////////////////////////////////////////
sustainability
////////////////////////////////////////////////////////////////////*/

/* 共通 */
.s-lead {
    max-width: 1240px;
    margin: 0 auto 50px;
    padding: 40px 50px;
    background: #F4F6F9;
}
.s-lead__text {
    margin: 0 0 1.5em;
    font-size: 1.4rem;
    text-align: left;
    line-height: 2;
}
.s-lead__text:last-child {
    margin-bottom: 0;
}
.s-lead__text a {
    text-decoration: underline;
}
.s-lead__text a:hover {
    text-decoration: none;
}
.s-sustainability-content {
    max-width: 1240px;
}
.s-sustainability-block {
    margin: 0 0 70px;
}
.s-sustainability-table-wrapper {
}
.s-sustainability-table {
    width: 100%;
    border-collapse: collapse;
    text-align: center;
}
.s-sustainability-table th,
.s-sustainability-table td {
    padding: 15px 20px;
    border: 1px solid #ccc;
}
.s-sustainability-table th {
    background: #005EAD;
    font-size: 1.4rem;
    font-weight: bold;
    color: #fff;
}
.s-sustainability-table th.s-sustainability-table__th-small {
    font-size: 1.2rem;
    padding: 15px 8px;
    white-space: nowrap;
}
.s-sustainability-table td {
    font-size: 1.2rem;
}
.s-sustainability-table__text-left {
    text-align: left;
}
.s-sustainability-table__text-right {
    text-align: right;
}
.s-sustainability-table__text-large {
    font-size: 1.4rem;
}
.s-sustainability-table__materiality-text {
    margin: 0 0 12px;
    font-weight: bold;
}
.s-sustainability-table__materiality-image {
}
.s-sustainability-content-heading {
    margin: 0 0 16px;
    padding: 8px 0 8px 24px;
    border-left: 4px solid #4dc6ff;
    font-size: 2rem;
    font-weight: bold;
    text-align: left;
}
.s-link-list {
    padding: 32px 20px;
    background: #f4f6f9;
}
.s-link-list .img-left-list {
    flex-wrap: wrap;
    justify-content: space-between;
}
.s-link-list .img-left-list section {
    width: 48%;
    margin: 2% 0;
}
.s-link-list .img-left-list section > a .txt h3 {
    margin: 0 40px;
    padding-bottom: 10px;
    border-bottom: 2px solid #4dc6ff;
    font-size: 1.8rem;
    font-weight: 600;
    text-align: left;
}
.s-text-subscript {
    font-size: 75%;
}

/* トップページ */
.s-sustainability-index-block {
    margin: 0 0 80px;
}
.s-sustainability-index-block__text {
    margin: 0 0 1.5em;
    font-size: 1.4rem;
    text-align: left;
    line-height: 2;
}
.s-sustainability-index-block__text:last-child {
    margin-bottom: 0;
}
.s-sustainability-index-block__text a {
    color: #134b7a;
    text-decoration: underline;
}
.s-sustainability-index-block__text a:hover {
    text-decoration: none;
}
.s-sustainability-index-block-wrapper-column2 {
    display: flex;
    justify-content: space-between;
}
.s-sustainability-index-block-wrapper-column2__column {
    flex: 0 1 47.6%;
    margin: 0;
}
.s-sustainability-index-philosophy {
    position: relative;
    padding: 0 0 30px;
    z-index: 1;
}
.s-sustainability-index-philosophy::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    display: block;
    width: 100%;
    height: calc(100% - 30px);
    background:linear-gradient(to left bottom, transparent 50%, #ecfbff 51%) no-repeat scroll right top / 50% 100%, rgba(0, 0, 0, 0) linear-gradient(to right bottom, transparent 50%, #ecfbff 51%) no-repeat scroll left bottom / 50% 100%;
    z-index: -1;
}
.s-sustainability-index-philosophy__heading {
    margin: 0 0 40px;
    border-bottom: 1px dotted #0E3A6A;
    text-align: left;
    color: #4DC6FF;
    line-height: 1;
}
.s-sustainability-index-philosophy__heading-en {
    margin: 0 10px 0 0;
    font-family: 'Josefin Sans', sans-serif;
    font-size: 3rem;
    font-weight: 600;
}
.s-sustainability-index-philosophy__heading-ja {
    font-size: 1.2rem;
    font-weight: bold;
}
.s-sustainability-index-philosophy__description {
    margin: 0 0 10px;
    font-size: 1.4rem;
    font-weight: bold;
    color: #0E3A6A;
    line-height: 1.7;
}
.s-sustainability-index-philosophy__description a {
    text-decoration: underline;
}
.s-sustainability-index-philosophy__description a:hover {
    text-decoration: none;
}
.s-sustainability-index-block__subheading {
    margin: 0 0 20px;
    font-size: 1.6em;
    font-weight: bold;
    text-align: left;
}
.s-sustainability-index-ordered-list {
    margin: 0 0 40px;
    font-size: 1.4rem;
    text-align: left;
    line-height: 2;
}
.s-sustainability-index-ordered-list__item {
    position: relative;
    padding: 0 0 0 3em;
    counter-increment: number;
}
.s-sustainability-index-ordered-list__item::before {
    content: "（"counter(number)"）";
    position: absolute;
    left: 0;
    top: 0;
}
.s-sustainability-index-button-more {
    max-width: 250px;
    margin: 0 auto;
}
.s-sustainability-index-button-more a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 60px;
    margin: 0;
    background: #fff;
    border: 1px solid #0e3a6a;
    font-family: 'Josefin Sans', sans-serif;
    font-size: 1.4rem;
    font-weight: 600;
    color: #0e3a6a;
    transition: all 0.3s ease;
}
.s-sustainability-index-button-more a:hover {
    background: #0e3a6a;
    color: #fff;
}
.s-sustainability-index-committee {
    display: flex;
    justify-content: space-between;
    max-width: 864px;
    align-items: center;
    margin: 0 auto;
}
.s-sustainability-index-committee__description {
    flex: 0 1 55%;
    margin: 0;
    font-size: 1.4rem;
    text-align: left;
    line-height: 2;
}
.s-sustainability-index-committee__image {
    flex: 0 1 37%;
    margin: 0;
}

/* pdf */
.s-sustainability-pdf-content {
    display: flex;
    justify-content: space-between;
}
.s-sustainability-pdf__image {
    width: 20%;
    margin: 0;
}
.s-sustainability-pdf__text {
    width: 70%;
    font-size: 1.4rem;
    text-align: left;
    line-height: 2;
}
.s-sustainability-pdf-list__item {
    position: relative;
    padding: 0 0 0 15px;
}
.s-sustainability-pdf-list__item::before {
    display: block;
    content: '';
    width: 8px;
    height: 8px;
    background: #4dc6ff;
    /* border-left: 8px solid #4dc6ff;
    border-top: 7.5px solid transparent;
    border-bottom: 7.5px solid transparent;*/
    position: absolute;
    top:  10px;
    left: 0;
}

/* マテリアリティ */
.s-sustainability-materiality-process-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    text-align: left;
}
.s-sustainability-materiality-process-list__term {
    position: relative;
    display: flex;
    align-items: center;
    flex: 0 0 85px;
    margin: 0;
    background: #005EAD;
    font-size: 1.4rem;
    font-weight: bold;
    color: #fff;
}
.s-sustainability-materiality-process-list__term::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -11px;
    display: inline-block;
    width: 100%;
    height: 23px;
    clip-path: polygon(50% 72%, 100% 0, 100% 28%, 50% 100%, 0 28%, 0 0);
    background: #fff;
    z-index: 1;
}
.s-sustainability-materiality-process-list__term:last-of-type::after {
    content: normal;
}
.s-sustainability-materiality-process-list__term-inner {
    writing-mode: vertical-rl;
}
.s-sustainability-materiality-process-list__description {
    flex: 0 1 calc(100% - 110px);
    margin: 0;
    padding: 40px;
    border-bottom: 1px solid #ccc;
}
.s-sustainability-materiality-process-list__description:first-of-type {
    border-top: 1px solid #ccc;
}
.s-sustainability-materiality-process-list__description-layout {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.s-sustainability-materiality-process-list__textarea {
    flex: 0 1 calc(100% - 235px);
    padding: 0 8% 0 0;
}
.s-sustainability-materiality-process-list__text {
    font-size: 1.4rem;
    margin: 0 0 1.5em;
}
.s-sustainability-materiality-process-list__text:last-child {
    margin-bottom: 0;
}
.s-sustainability-materiality-process-list__image {
    flex: 0 0 235px;
}

/* TCFD */
.s-sustainability-tcfd-content-wrapper {
    max-width: 990px;
    margin: 0 auto;
}
.s-sustainability-tcfd-table-note,
.s-sustainability-tcfd-table-note--02 {
    font-size: 1.4rem;
    text-align: left;
    line-height: 2;
    text-indent: -1.9em;
    padding-left: 1.9em;
}
.s-sustainability-tcfd-table-note {
    margin: 50px 0 0;
}
.s-sustainability-tcfd-table-note--02 {
    margin: 10px 0 0;
}

/* 脱炭素社会への取り組み */
.s-sustainability-co2-content-wrapper {
    max-width: 660px;
    margin: 0 auto;
}
.s-sustainability-tcfd-table-unit {
    margin: 0 0 5px;
    font-size: 1.4rem;
    text-align: right;
}
@media screen and (max-width: 1279px) {
    /* 共通 */
    .s-sustainability-content-inner {
        padding: 0 20px;
    }
    .s-sustainability-content-inner--left {
        padding: 0 0 0 20px;
    }
    .s-sustainability-content-inner--right {
        padding: 0 20px 0 0;
    }
}
}


@media screen and (min-width: 1550px) {
    #mv-slide ul li .catch a span{
        font-size: 30px;
    }
}
@media screen and (max-width: 1050px) and (min-width: 751px) {
    #ir-management-policy-links .list{
        max-width: 800%;
        padding: 0 15px;
    }
    #ir-management-policy-links .list section{
        width: calc((100% - 20px) / 2);
    }
}