@charset 'utf-8';
/*
 * name:corporate.css
 * author:sovanda nulo
*/

/* corporate
------------------------------------------------ */

@media screen and (max-width: 768px) {
    .p-corporate .contents--desc { margin-top: 1.66em; }
    .p-corporate .contents--block { box-shadow: 0 0 15px rgba(102, 102, 102, .16); }
    .p-corporate .contents--head { margin-bottom: 0; }
}

/*custome more*/
.more--title { max-width: 27.3em; }

    @media screen and (min-width: 768px) {
        .more--list dt { width: 11.42em; }
    }

    @media screen and (max-width: 768px) {
        .more--title { max-width: 18.6em; }
    }

/* outline */
#outline {  }
.outline__detail { display: block; max-width: 100em; margin: 0 auto; }
.outline__detail--cmn { font-size: 1.6em; line-height: 1.7; }
.outline__detail--cmn p + p { margin-top: 1.6875em; }
.outline__detail--cmn h2 { font-weight: normal; text-align: right; margin-top: 2.25em; }
.outline__detail--sgin { max-width: 21em; margin-left: auto; margin-top: 1.5em; }

    @media screen and (max-width: 768px) {
        .outline__detail--cmn h2 { margin-top: 1.5em; }
    }

/* profile */
.profile__detail { display: block; max-width: 100em; margin: 0 auto; }
.profile__detail table { width: 100%; border-collapse: collapse; border-top: 1px solid #ccc; }
.profile__detail table tr th,
.profile__detail table tr td { font-size: 1.6em; line-height: 1.7; text-align: left; padding: 1.25em 0; vertical-align: top; border-bottom: 1px solid #ccc; box-sizing: border-box; }
.profile__detail table tr th { width: 8.75em; }
.profile__detail table tr a { color: #CC1A2C; }
.profile__detail table tr a.bt-links span:after { content: ''; display: inline-block; vertical-align: -.1em; width: 1em; height: 1em; margin-left: .333em; background-image: url(../../img/share/icon-link-r.svg); background-repeat: no-repeat; background-size: 100% 100%; transition: background-image .2s ease; }
.profile__detail table tr ul { display: block; }
.profile__detail table tr ul li { display: block; position: relative; padding-left: .8125em; }
.profile__detail table tr ul li:not(:last-child) { margin-bottom: .8125em; }
.profile__detail table tr ul li:before { content: ''; display: inline-block; width: .5em; height: .5em; position: absolute; left: 0; top: .6em; background: #CC1A2C; border-radius: 50%; }
.profile__detail table tr .bt-btn { font-weight: bold; width: 9.75em; text-align: center; margin-top: 1em; }
.profile__detail table tr .bt-btn a { text-decoration: none; display: block; border: 1px solid #CC1A2C; color: #CC1A2C; padding: .3em 0 .4em; border-radius: .33em; transition: linear .25s; }

    @media screen and (min-width: 768px) {
        .profile__detail table tr .bt-btn a:hover { color: #fff; background: #CC1A2C; }
    }

    @media screen and (max-width: 768px) {
        .profile__detail table,
        .profile__detail table tbody,
        .profile__detail table tr,
        .profile__detail table tr th,
        .profile__detail table tr td { display: block; width: 100%; border: none; }
        .profile__detail table { border-top: 1px solid #ccc; }
        .profile__detail table tr { border-bottom: 1px solid #ccc; }
        .profile__detail table tr td { padding-top: 0; }
        .profile__detail table tr th { padding-bottom: 0; }
        .profile__detail table tr ul li:not(:last-child) { margin-bottom: .75em; }
        .profile__detail table tr .bt-btn { margin-top: .5em; }
    }

/* directors */
.directors__detail { display: block; max-width: 100em; margin: 0 auto; padding-top: 7em; }
.directors__detail--date { font-size: 1.6em; line-height: 1.7; text-align: right; }
    
    @media screen and (min-width: 768px) {
        .directors__lists { display: block; position: relative; margin-top: 4em; padding: 2em 0; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; }
        .directors__list { display: flex; flex-wrap: wrap; align-items: flex-start; }
        .directors__list:not(:last-child) { border-bottom: 1px solid #ccc; padding-bottom: 2em; margin-bottom: 2em; }
        .directors__list--title { font-size: 2.1em; font-weight: bold; line-height: 1.29; width: 30%; }
        .directors__list__childs { display: block; width: 70%; }
        .directors__list__child { display: flex; flex-wrap: wrap; }
        .directors__list__child:not(:last-child) { border-bottom: 1px solid #ccc; padding-bottom: 2em; margin-bottom: 2em; }
        .directors__list__child--title { font-size: 1.8em; font-weight: bold; line-height: 1.51; width: 38.5%; }
        .directors__list__child--sub { width: 61.5%; }
        .directors__list__child--sub li { font-size: 1.6em; line-height: 1.7; }
        .directors__list__child--sub li:not(:last-child) { border-bottom: 1px solid #ccc; padding-bottom: 1.25em; margin-bottom: 1.25em; }
    }

    @media screen and (max-width: 768px) {
        .directors__detail { padding-top: 0; margin-top: 4em; }
        .directors__lists { margin-top: 2em; }
        .directors__lists,
        .directors__list { display: block; position: relative; }
        .directors__list--title { font-size: 1.8em; font-weight: bold; line-height: 1.51; padding: 1em 1.11em; background: #F8F8F8; }
        .directors__list__childs { display: block; position: relative; border-bottom: 1px solid #ccc; }
        .directors__list__child { padding: 2em 0; display: block; position: relative; border-top: 1px solid #ccc; }
        .directors__list__child--title,
        .directors__list__child--sub li { font-size: 1.6em; line-height: 1.7; }
        .directors__list__child--title { font-weight: bold; }
    }

/* history */
.history__detail { display: block; position: relative; max-width: 120em; margin: 0 auto; padding-top: 7em; }
.history__list--cmn { font-size: 1.6em; line-height: 1.7; }
.history__list--cmn ul { display: block; }
.history__list--cmn ul li { display: block; position: relative; padding-left: .8125em; }
.history__list--cmn ul li:not(:last-child) { margin-bottom: .375em; }
.history__list--cmn ul li:before { content: ''; display: inline-block; width: .5em; height: .5em; position: absolute; left: 0; top: .6em; background: #CC1A2C; border-radius: 50%; }

    @media screen and (min-width: 768px) {
        .history__lists { display: block; position: relative; max-width: 104.3em; margin-left: auto; }
        .history__lists:before { content: ''; display: block; position: absolute; right: calc( 81.49% - 1px ); top: 3em; width: 1px; height: calc( 100% - 4.4em ); background: #ccc; }
        .history__list { display: block; position: relative; z-index: 2; }
        .history__list:not(:last-child) { margin-bottom: 3em; }
        .history__list--child { display: block; position: relative; padding-left: 4.3em; width: 81.49%; margin-left: auto; box-sizing: border-box; }
        .history__list--child:not(:last-child) { margin-bottom: 2.1em; }
        .history__list--head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; width: calc( 100% - 81.49% ); position: absolute; right: 104%; top: 0; }
        .history__list--head.h-sub { justify-content: flex-end; }
        .history__list--year { font-size: 4.8em; font-weight: 600; line-height: 1; }
        .history__list--month { font-size: 1.6em; text-align: right; }
        .history__list--desc { display: block; position: relative; }
        .history__list--desc:before { content: ''; display: block; position: absolute; right: calc( (100% + 4.3em) - .9em ); top: .5em; width: 1.8em; height: 1.8em; border: .4em solid #CC1A2C; border-radius: 50%; background: #fff; box-sizing: border-box; }
        .history__list--desc.d-first { padding-top: 2.1em; }
        .history__list--desc.d-break { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
        .history__list--desc.d-break .history__list--pic { width: 24.78%; display: block; overflow: hidden; }
        .history__list--desc.d-break .history__list--pic img { border-radius: .5em; }
        .history__list--desc.d-break .history__list--cmn { width: 71.49%; }
        .history__list--desc.d-first:before,
        .history__list--desc.d-break:before { top: 2.7em; }

        .history__aside { position: absolute; left: 0; top: 7em; width: 10em; height: calc( 100% - 7em ); }
        .history__aside--box { position: sticky; left: 0; top: 14em; }
        .history__aside--tlt { display: block; max-width: 4.8em; margin-bottom: 2.1em; }
        .history__aside--tlt img { display: block; width: 100%; height: auto; }
        .history__aside--list { display: block; }
        .history__aside--list li { font-size: 1.6em; font-weight: bold; line-height: 1.7; display: block; position: relative; padding-left: .8125em; }
        .history__aside--list li:not(:last-child) { margin-bottom: .6875em; }
        .history__aside--list li a { display: inline-block; color: #ccc; }
        .history__aside--list li a:before { content: ''; display: inline-block; width: .5em; height: .5em; position: absolute; left: 0; top: .6em; background: #ccc; border-radius: 50%; }
        .history__aside--list li a:hover,
        .history__aside--list li.active a { color: #333; }
        .history__aside--list li a:hover:before,
        .history__aside--list li.active a:before { background: #CC1A2C; }
    }

    @media screen and (max-width: 768px) {
        .history__detail { padding-top: 4em; }
        .history__lists { display: block; position: relative; padding-left: 2em; margin-top: 3em; }
        .history__lists:before { content: ''; display: block; position: absolute; right: 100%; top: 1.5em; width: 1px; height: calc( 100% - 1.5em ); background: #ccc; }
        .history__list { display: block; position: relative; z-index: 2; }
        .history__list:not(:last-child) { margin-bottom: 4.5em; }
        .history__list:last-child:before { content: ''; display: block; position: absolute; right: calc( 100% + 2em ); top: 1.5em; width: 1px; height: calc( 100% - 1.5em ); background: #fff; }
        .history__list--child { display: block; position: relative; }
        .history__list--child:not(:last-child) { margin-bottom: 1.5em; }
        .history__list--head { display: block; position: relative; z-index: 2; }
        .history__list--head:before { content: ''; display: block; position: absolute; right: calc( (100% + 2em) - .9em ); top: 1em; width: 1.8em; height: 1.8em; border: .4em solid #CC1A2C; border-radius: 50%; background: #fff; box-sizing: border-box; }
        .history__list--head.h-sub:before { top: .1em; }
        .history__list--year { font-size: 3.2em; font-weight: 600; line-height: 1; display: block; }
        .history__list--month { font-size: 1.4em; line-height: 1.5; display: block; margin-top: .64em; }
        .history__list--desc { display: block; position: relative; margin-top: 1.5em; }
        .history__list--pic { max-width: 53.3vw; display: block; overflow: hidden; margin-bottom: 2em; }
        .history__list--pic img { border-radius: .5em; }

        .history__aside { display: block; position: relative; padding: 2em; border: 1px solid #ccc; border-radius: .5em; }
        .history__aside--tlt { display: block; max-width: 4.3em; margin-bottom: 1.5em; }
        .history__aside--tlt img { display: block; width: 100%; height: auto; }
        .history__aside--list { display: flex; flex-wrap: wrap; }
        .history__aside--list li { font-size: 1.4em; font-weight: bold; line-height: 1.5; width: 28.42%; margin-right: 7.37%; }
        .history__aside--list li:nth-child(3n) { margin-right: 0; }
        .history__aside--list li:nth-child(n+4) { margin-top: 4.2%; }
        .history__aside--list li a { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
        .history__aside--list li a:before { content: ''; display: inline-block; width: 1.14em; height: 1.14em; transform: rotate(90deg); background-image: url(../../img/share/arrow-link.svg); background-repeat: no-repeat; background-size: 100% 100%; }
    }

/* history */
.base__detail { display: block; max-width: 120em; margin: 0 auto; padding-top: 7em; }
.base__lists { display: block; position: relative; border-top: 1px solid #ccc; }
.base__list { padding: 4em 0; display: block; position: relative; border-bottom: 1px solid #ccc; }
.base__list--hash { position: absolute; width: 100%; height: 0; left: 0; top: -12em; }
.base__list--pic { display: block; overflow: hidden; margin-bottom: 3.7em; }
.base__list--pic img { display: block; border-radius: .5em; }
.base__list--break { display: flex; flex-wrap: wrap; justify-content: space-between; }
.base__list__desc { width: 47.5%; }
.base__list--tlt { display: block; position: relative; padding-left: 6.8em; margin-bottom: 2em; }
.base__list--tlt span { font-size: 3.2em; font-weight: bold; line-height: 1.5; display: inline-block; }
.base__list--tlt:before { content: ''; display: inline-block; width: 5.8em; height: 3em; position: absolute; left: 0; top: 1em; background-image: url(../../img/business/bg-detial-title2.png); background-repeat: no-repeat; background-size: 100% 100%; }
.base__list--cmn { font-size: 1.6em; line-height: 1.7; }
.base__list--cmn dl { display: flex; flex-wrap: wrap; justify-content: space-between; }
.base__list--cmn dl:not(:last-child) { margin-bottom: 2em; }
.base__list--cmn dt { width: calc( 100% - 83.68% - .5em ); font-weight: bold; }
.base__list--cmn dd { width: 83.68%; }
.base__list--maps { width: 47.5%; min-height: 26em; display: block; overflow: hidden; position: relative; border-radius: .5em; }
.base__list--maps iframe { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }

.base__hash { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; margin-bottom: 6.5em; }
.base__hash li { display: inline-block; margin: 0 2em; }
.base__hash li a { display: inline-block; color: #CC1A2C; }
.base__hash li a:after { content: ''; display: inline-block; vertical-align: .1em; width: .61em; height: .94em; margin-left: .8em; transform: rotate(90deg); background-image: url(../../img/share/arrow-swipe-red.svg); background-repeat: no-repeat; background-size: 100% 100%; }
.base__hash li a span { font-size: 1.6em; line-height: 1.7; }

    @media screen and (max-width: 768px) {
        .base__detail { padding-top: 4em; }
        .base__lists { margin-top: 3em; }
        .base__list { padding-top: 3em; }
        .base__list--hash { top: -5em; }
        .base__list--pic { margin-bottom: 2.7em; }
        .base__list__desc { width: 100%; }
        .base__list--tlt { padding-left: 4em; margin-bottom: 2em; }
        .base__list--tlt span { font-size: 1.8em; }
        .base__list--tlt:before { width: 3.471em; height: 1.8em; left: -0em; top: .25em; }
        .base__list--cmn dl:not(:last-child) { margin-bottom: .6875em; }
        .base__list--cmn dt { width: calc( 100% - 76% - .5em ); font-weight: bold; }
        .base__list--cmn dd { width: 76%; }
        .base__list--maps { width: 100%; margin-top: 4em; min-height: 15em; }
        .base__list--maps.sp-300 { height: 30em; }

        .base__hash { justify-content: flex-start; margin: 0; margin-top: 2em; }
        .base__hash li { width: 31.07%; margin: 0; margin-right: 3.395%; text-align: center; }
        .base__hash li:nth-child(3n) { margin-right: 0; }
        .base__hash li:nth-child(n+4) { margin-top: .5em; }
        .base__hash li a span { font-size: 1.4em; line-height: 1.7; }
    }

/* philosophy */
.philosophy__slogan { display: block; position: relative; }
.philosophy__slogan figcaption { font-size: 4em; margin-left: 1.5; position: absolute; left: 50%; top: 50%; width: 100%; padding: 0 8.33%; transform: translate(-50%, -50%); color: #fff; box-sizing: border-box; }
.philosophy__values,
.philosophy__values--frame { display: block; position: relative; }
.philosophy__values--table { display: table; width: 100%; border-collapse: collapse; border-bottom: 1px solid #ccc; }
.philosophy__values--table thead tr { background: #F5D1D4; }
.philosophy__values--table thead tr th:not(:last-child) { border-right: 1px solid #fff; }
.philosophy__values--table thead tr th { font-size: 1.6em; line-height: 1.7; padding: 1.21em 1em; font-weight: bold; box-sizing: border-box; }
.philosophy__values--table tbody tr:nth-child(even) { background: #FEF7F8; }
.philosophy__values--table tbody tr th { font-size: 1.8em; line-height: 1.5; padding: 1.38em 1.66em 1em; text-align: left; border-right: 1px solid #ccc; width: 20em; box-sizing: border-box; }
.philosophy__values--table tbody tr th span { font-size: 2em; font-weight: normal; line-height: 1.1; display: block; color: #CC1A2C; margin-bottom: .25em; }
.philosophy__values--table tbody tr td { font-size: 2.1em; line-height: 1.5; padding: 1.19em 1.428em .47em; }

    @media screen and (max-width: 768px) {
        .philosophy__slogan { margin: 0 -2.5em; display: block; position: relative; }
        .philosophy__slogan figcaption { font-size: 5.33vw; margin-left: 1.5; height: 100%; padding: 0; display: flex; align-items: center; justify-content: center; text-align: center; }
        .philosophy__values { width: calc(100% + 5em); margin: 0 -2.5em; overflow-x: auto; -ms-overflow-style: none; scrollbar-width: none; }
        .philosophy__values--frame { width: 67em; padding-bottom: 2em; margin: 0 2.5em; }
        .philosophy__values--table { overflow: hidden; border-top-left-radius: .5em; border-top-right-radius: .5em; }
        .philosophy__values--table thead tr th { font-size: 1.4em; line-height: 1.5; padding: 1.5em .714em 1em; text-align: left; }
        .philosophy__values--table tbody tr th { font-size: 1.5em; line-height: 1.7; padding: 1em .66em; width: 13.33em; box-sizing: border-box; }
        .philosophy__values--table tbody tr th span { font-size: 1.46em; margin-bottom: .25em; }
        .philosophy__values--table tbody tr td { font-size: 1.6em; line-height: 1.7; padding: 1.25em .625em .9375em; }
        .philosophy__values--scrollbar { position: absolute; left: 50%; bottom: 0; width: calc(100vw - 5em); transform: translateX(-50%); background: #E8E8E8; height: .3em; border-radius: 10em; pointer-events: none; }
        .philosophy__values--scrollbar span { position: absolute; left: 0; height: .3em; background:#CC1A2C; border-radius: 10em; }
    }
    

/* custom profile page
------------------------------------------------ */

    @media screen and (max-width: 768px) {
        .page-profile .contents--head { margin-bottom: 4em; }
    }

/* custom philosophy page
------------------------------------------------ */
#philosophy .contents__detail--links { padding-top: 7em; }

    @media screen and (max-width: 768px) {
        #philosophy .contents__detail--links { padding-top: 4em; }
    }

/* custom history page
------------------------------------------------ */
    @media screen and (min-width: 768px) {
        .page-history .contents--block { overflow: clip; }
    }

/* custom page-outline page
------------------------------------------------ */
.page-outline #related { margin-bottom: 20em; }

    @media screen and (min-width: 768px) {
        .page-outline #contents { margin-bottom: 0; }
    }

    @media screen and (max-width: 768px) {
        .page-outline .contents--head { margin-bottom: 4em; }
        .page-outline #related { background: none; margin: 0; padding-bottom: 6em; z-index: 1; }
        .page-outline #related:after { content: ''; display: inline-block; width: 100%; height: 1em; position: absolute; left: 0; top: -1em; box-shadow: 0 0 15px rgba(102, 102, 102, .16); }
        .page-outline #more:before { content: none; }
    }
























