:root {
    --bg-color-black: #0c0c0c;
    --bg-color-gray: #f7f7f7;
    --text-color-black: #0c0c0c;
    --text-color-red: #da1c1c;
    --bg-text-color-wht: #eee;
    --bg-text-color-black: #1a1a1a
}

.en {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700
}

.sp {
    display: none
}

@media screen and (max-width: 896px) {
    .sp {
        display:block
    }
}

@media screen and (max-width: 896px) {
    .pc {
        display:none
    }
}

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box
}

html {
    box-sizing: border-box
}

*:before,*:after {
    box-sizing: inherit
}

body {
    line-height: 1;
    -webkit-font-smoothing: antialiased
}

article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
    display: block
}

p {
    text-align: justify
}

nav ul {
    list-style: none
}

blockquote,q {
    quotes: none
}

blockquote:before,blockquote:after,q:before,q:after {
    content: "";
    content: none
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    text-decoration: none
}

ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none
}

mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold
}

del {
    text-decoration: line-through
}

abbr[title],dfn[title] {
    border-bottom: 1px dotted;
    cursor: help
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #cccccc;
    margin: 1em 0;
    padding: 0
}

input,select {
    vertical-align: middle;
    outline: 0
}

ul,li {
    list-style: none
}

input[type="text"],input[type="button"],input[type="submit"],input[type="tel"],input[type="email"] {
    -webkit-appearance: none;
    border: none;
    box-sizing: border-box
}

input[type="text"]:focus,input[type="button"]:focus,input[type="tel"]:focus,input[type="email"]:focus,textarea:focus {
    outline: 0;
    background-color: var(--bg-color-gray)
}

input:-internal-autofill-selected {
    background-color: #fff !important
}

input[type="text"]:focus:placeholder-shown,input[type="button"]:focus:placeholder-shown,input[type="submit"]:focus:placeholder-shown,input[type="tel"]:focus:placeholder-shown,input[type="email"]:focus:placeholder-shown,textarea:focus:placeholder-shown {
    color: #999
}

input[type="text"]:focus:-webkit-input-placeholder,input[type="button"]:focus:-webkit-input-placeholder,input[type="submit"]:focus:-webkit-input-placeholder,input[type="tel"]:focus:-webkit-input-placeholder,input[type="email"]:focus:-webkit-input-placeholder,textarea:focus:-webkit-input-placeholder {
    color: #999
}

input[type="text"]:focus:-moz-placeholder,input[type="button"]:focus:-moz-placeholder,input[type="submit"]:focus:-moz-placeholder,input[type="tel"]:focus:-moz-placeholder,input[type="email"]:focus:-moz-placeholder,textarea:focus:-moz-placeholder {
    color: #999
}

input[type="text"]:focus:-ms-input-placeholder,input[type="button"]:focus:-ms-input-placeholder,input[type="submit"]:focus:-ms-input-placeholder,input[type="tel"]:focus:-ms-input-placeholder,input[type="email"]:focus:-ms-input-placeholder,textarea:focus:-ms-input-placeholder {
    color: #999
}

select {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
    border: 0;
    margin: 0;
    padding: 0;
    background: none transparent;
    vertical-align: middle;
    font-size: inherit;
    color: inherit;
    box-sizing: content-box
}

input[type="text"]:placeholder-shown,input[type="email"]:placeholder-shown,input[type="tel"]:placeholder-shown {
    color: #999
}

input[type="text"]::-webkit-input-placeholder,input[type="email"]::-webkit-input-placeholder,input[type="tel"]::-webkit-input-placeholder {
    color: #999
}

input[type="text"]:-moz-placeholder,input[type="email"]:-moz-placeholder,input[type="tel"]:-moz-placeholder,textarea:-moz-placeholder {
    color: #999
}

input[type="text"]:-ms-input-placeholder,input[type="email"]:-ms-input-placeholder,input[type="tel"]:-ms-input-placeholder,textarea:-ms-input-placeholder {
    color: #fff
}

textarea {
    resize: vertical
}

textarea:placeholder-shown {
    color: #999
}

textarea::-webkit-input-placeholder {
    color: #999
}

textarea::-moz-placeholder {
    color: #999
}

input:focus::placeholder,textarea:focus::placeholder {
    color: transparent;
    transition: 0.1s
}

input:focus::-webkit-input-placeholder,textarea:focus::-webkit-input-placeholder {
    color: transparent;
    transition: 0.1s
}

input:focus:-moz-placeholder,textarea:focus:-moz-placeholder {
    color: transparent;
    transition: 0.1s
}

input:focus::-moz-placeholder,textarea:focus::-moz-placeholder {
    color: transparent;
    transition: 0.1s
}

button {
    background-color: transparent;
    outline: 0;
    border: 0
}

a {
    -webkit-tap-highlight-color: transparent;
    color: #0d0d0d
}

@media screen and (min-width: 896px) {
    a {
        transition:0.3s;
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
        -webkit-font-smoothing: antialiased
    }

    a:hover {
        transition: 0.3s;
        cursor: pointer;
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
        -webkit-font-smoothing: antialiased
    }
}

table {
    border-collapse: collapse;
    border: none;
    border-spacing: 0;
    width: 100%
}

th,td {
    vertical-align: middle;
    border: solid 1px #000;
    font-weight: normal;
    text-align: left;
    border: 0
}

caption {
    text-align: left
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden
}

html,body {
    width: 100%;
    height: 100%;
    background-color: var(--bg-color-gray);
    font-size: 62.5%;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: var(--text-color-black);
    font-display: swap;
    font-feature-settings: "palt";
    -webkit-font-smoothing: antialiased
}

@media screen and (max-width: 896px) {
    body.sp_fix {
        position:fixed;
        width: 100%;
        height: 100%;
        overflow: hidden
    }
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom
}

svg {
    width: 100%;
    height: auto
}

.slick-list:focus {
    outline: none !important
}

.basetxt {
    line-height: 2;
    letter-spacing: 0.08em
}

@media screen and (min-width: 897px) {
    .basetxt {
        font-size:1.6rem
    }
}

@media screen and (max-width: 896px) {
    .basetxt {
        font-size:1.4rem
    }
}

.baselink {
    display: inline-block;
    padding: 18px 36px;
    background-color: var(--text-color-red);
    border: 1px solid var(--text-color-red);
    border-radius: 25px;
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: .1em;
    color: #fff
}

@media screen and (min-width: 897px) {
    .baselink:hover {
        background-color:#fff;
        color: var(--text-color-red)
    }

    .baselink:hover .txt {
        background-image: url(../../img/common/icon_arrow_link_red.png)
    }
}

.baselink .txt {
    padding-right: 34px;
    background-image: url(../../img/common/icon_arrow_link.png);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 24px
}

@keyframes fluidrotate {
    0%, 100% {
        border-radius: 63% 37% 54% 46%/55% 48% 52% 45%
    }

    14% {
        border-radius: 40% 60% 54% 46%/49% 60% 40% 51%
    }

    28% {
        border-radius: 54% 46% 38% 62%/49% 70% 30% 51%
    }

    42% {
        border-radius: 61% 39% 55% 45%/61% 38% 62% 39%
    }

    56% {
        border-radius: 61% 39% 67% 33%/70% 50% 50% 30%
    }

    70% {
        border-radius: 50% 50% 34% 66%/56% 68% 32% 44%
    }

    84% {
        border-radius: 46% 54% 50% 50%/35% 61% 39% 65%
    }
}

@media screen and (max-width: 896px) {
    #stage {
        overflow-x:hidden
    }
}

#stkr {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 10px;
    left: 10px;
    width: 138px;
    height: 138px;
    border: 1px solid #959595;
    border-radius: 50%;
    transition: 0.2s ease-out;
    transition-timing-function: ease-out;
    pointer-events: none;
    opacity: 0;
    z-index: 10;
    display: none
}

#stkr.bgon {
    display: none
}

@media screen and (max-width: 896px) {
    #stkr {
        display:none
    }
}

#stkr.wht {
    background-color: #fff
}

#stkr.arrowRotate {
    background-color: #fff
}

#stkr.arrowRotate .arrow {
    transform: rotate(-90deg)
}

#stkr .txt {
    color: #898989
}

#stkr .arrow {
    width: 8px;
    margin-top: 16px;
    transition: .35s ease
}

.header {
    display: flex;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0px;
    width: 100%;
    z-index: 10001;
    transition: .35s ease-out
}

.header.on,.header.bgon {
    background-color: #101010
}

@media screen and (min-width: 897px) {
    .header.on .logo,.header.bgon .logo {
        width:72px
    }
}

@media screen and (min-width: 897px) {
    .header {
        padding:0 4.28%
    }
}

@media screen and (max-width: 896px) {
    .header {
        justify-content:space-between;
        padding: 8px 5%
    }
}

.header.on {
    background-color: #000
}

@media screen and (min-width: 897px) {
    .header .logo {
        width:82px;
        transition: .35s ease-out
    }
}

@media screen and (max-width: 896px) {
    .header .logo {
        position:relative;
        z-index: 10;
        width: 15%
    }
}

.header .logo a {
    display: block;
    position: relative
}

@media screen and (min-width: 897px) {
    .header .logo a:before {
        content:'';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 58px;
        background-image: url(../../img/common/logo_wht.png);
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: cover;
        opacity: 0;
        transition: .35s ease
    }
}

.header .menubtn {
    position: relative;
    width: 40px;
    height: 40px
}

@media screen and (max-width: 896px) {
    .header .menubtn {
        position:relative;
        z-index: 10
    }
}

.header .menubtn.close .bar {
    background-color: #000
}

.header .menubtn.close .bar:first-child {
    transform: translate(-50%, -50%) rotate(45deg);
    margin-top: 0
}

.header .menubtn.close .bar:nth-child(2) {
    transform: translate(-50%, -50%) rotate(-45deg);
    margin-top: 0
}

.header .menubtn.close .text {
    color: #000
}

.header .menubtn .bar {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20px;
    height: 2px;
    background-color: #fff;
    transition: .35s ease
}

@media screen and (min-width: 897px) {
    .header .menubtn .bar:first-child {
        margin-top:-2px
    }

    .header .menubtn .bar:nth-child(2) {
        margin-top: 2px
    }
}

@media screen and (max-width: 896px) {
    .header .menubtn .bar:first-child {
        margin-top:-3px
    }

    .header .menubtn .bar:nth-child(2) {
        margin-top: 3px
    }
}

.header .menubtn .text {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
    font-size: 1rem;
    color: #fff
}

@media screen and (min-width: 897px) {
    .nav {
        display:flex;
        align-items: center;
        margin-left: auto
    }
}

@media screen and (max-width: 896px) {
    .nav {
        overflow-y:scroll;
        position: fixed;
        top: 0;
        left: 0;
        transform: translate(100%, 0);
        width: 100%;
        height: 100%;
        padding: 100px 8% 120px;
        background-color: #fff;
        transition: .5s ease
    }

    .nav.on {
        transform: translate(0, 0)
    }
}

@media screen and (min-width: 897px) {
    .nav__main {
        display:flex;
        align-items: center
    }
}

@media screen and (max-width: 896px) {
    .nav__main {
        margin-top:20px
    }
}

@media screen and (min-width: 897px) {
    .nav .mainmenu {
        position:relative;
        margin-left: 40px
    }

    .nav .mainmenu:hover {
        cursor: pointer
    }

    .nav .mainmenu:hover .submenu {
        opacity: 1;
        height: auto;
        visibility: inherit
    }
}

@media screen and (max-width: 896px) {
    .nav .mainmenu {
        margin-bottom:50px
    }

    .nav .mainmenu:last-child {
        width: 100%
    }
}

.nav .linktxt {
    position: relative;
    letter-spacing: 0.1em
}

@media screen and (min-width: 897px) {
    .nav .linktxt {
        display:inline-block;
        padding: 30px 5px;
        font-size: 1.4rem;
        font-weight: 900;
        color: #fff
    }

    .nav .linktxt:hover {
        color: var(--text-color-red)
    }

    .nav .linktxt.nohover:hover {
        color: #fff
    }
}

@media screen and (max-width: 896px) {
    .nav .linktxt.splink {
        position:relative;
        display: block;
        font-size: 1.2rem;
        font-weight: 500;
        color: var(--text-color-red)
    }

    .nav .linktxt.splink .en {
        display: block;
        font-size: 1.4rem;
        font-weight: 700;
        letter-spacing: .1em
    }

    .nav .linktxt.splink .jp {
        position: relative;
        display: inline-block;
        padding-right: 10px;
        margin-top: 8px
    }

    .nav .linktxt.splink .jp.arrow:before {
        content: '';
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        border-style: solid;
        border-top: 4px solid transparent;
        border-bottom: 4px solid transparent;
        border-left: 6px solid var(--text-color-red);
        border-right: 0
    }
}

.nav .linktxt.contactbtn {
    padding: 13px 52px 15px 27px;
    border: 1px solid var(--text-color-red);
    border-radius: 22px;
    background-color: var(--text-color-red);
    background-image: url(../../img/common/icon_nav_contact.png);
    background-size: 15px;
    background-repeat: no-repeat;
    color: #fff
}
.nav .linktxt.ebooksbtn {
    padding: 13px 52px 15px 27px;
    border: 1px solid var(--text-color-red);
    border-radius: 22px;
    background-color: var(--text-color-red);
    background-image: url(../../img/common/dl_icon.png);
    background-size: 15px;
    background-repeat: no-repeat;
    color: #fff
}

@media screen and (min-width: 897px) {
    .nav .linktxt.ebooksbtn,
    .nav .linktxt.contactbtn {
        background-position:86% center
    }
}

@media screen and (max-width: 896px) {
    .nav .linktxt.ebooksbtn,
    .nav .linktxt.contactbtn {
        background-position:70% center
    }
}

.nav .linktxt.contactbtn:before {
    display: none
}

@media screen and (min-width: 897px) {
    .nav .linktxt.contactbtn:hover {
        background-color:#fff;
        background-image: url(../../img/common/icon_contact.svg);
        color: var(--text-color-red)
    }
    .nav .linktxt.ebooksbtn:hover {
		background-color: var(--text-color-red);
	}
}

@media screen and (max-width: 896px) {
    .nav .linktxt.ebooksbtn,
    .nav .linktxt.contactbtn {
        display:block;
        margin: 60px auto 0;
        font-size: 1.4rem;
        text-align: center
    }
}

@media screen and (max-width: 896px) {
    .nav .sptxt {
        position:relative;
        color: var(--text-color-red)
    }

    .nav .sptxt .en {
        display: block;
        font-size: 1.6rem;
        font-weight: 700;
        letter-spacing: .1em
    }

    .nav .sptxt .jp {
        position: relative;
        display: inline-block;
        padding-right: 10px;
        margin-top: 8px;
        font-size: 1.2rem;
        font-weight: 500;
        letter-spacing: 0.1em
    }

    .nav .sptxt .jp.arrow:before {
        content: '';
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        border-style: solid;
        border-top: 4px solid transparent;
        border-bottom: 4px solid transparent;
        border-left: 6px solid var(--text-color-red);
        border-right: 0
    }
}

@media screen and (min-width: 897px) {
    .nav .submenu {
        position:absolute;
        bottom: 0;
        left: 0;
        transform: translateY(100%);
        background-color: #141414;
        opacity: 0;
        height: 0;
        visibility: hidden;
        transition: opacity .3s ease-out
    }
}

@media screen and (max-width: 896px) {
    .nav .submenu {
        margin-top:24px
    }
}

.nav .submenu li {
    white-space: nowrap
}

@media screen and (max-width: 896px) {
    .nav .submenu li:not(.nav .submenu li:first-child) {
        margin-top:16px
    }
}

.nav .submenu a {
    font-size: 1.2rem;
    font-weight: 500
}

@media screen and (min-width: 897px) {
    .nav .submenu a {
        display:block;
        padding: 16px 26px;
        color: #fff
    }

    .nav .submenu a:hover {
        cursor: pointer;
        background-color: var(--text-color-red)
    }
}

@media screen and (max-width: 896px) {
    .nav .submenu a {
        position:relative;
        letter-spacing: 0.1em;
        line-height: 1.2;
        color: #0c0c0c
    }
}

@media screen and (max-width: 896px) {
    .nav__submenu {
        display:flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-top: 50px
    }

    .nav__submenu li {
        width: 47%;
        margin-top: 20px
    }

    .nav__submenu li a {
        position: relative;
        display: inline-block;
        padding-right: 12px;
        color: #a0a0a0
    }
}

@media screen and (max-width: 896px) and (min-width: 897px) {
    .nav__submenu li a {
        font-size:1rem
    }
}

@media screen and (max-width: 896px) and (max-width: 896px) {
    .nav__submenu li a {
        font-size:1.1rem
    }
}

@media screen and (max-width: 896px) {
    .nav__submenu li a:before {
        content:'';
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        border-style: solid;
        border-top: 4px solid transparent;
        border-bottom: 4px solid transparent;
        border-left: 6px solid #a0a0a0;
        border-right: 0
    }
}

.mvunder {
    position: relative;
    background-color: var(--bg-color-black)
}

@media screen and (min-width: 897px) {
    .mvunder {
        min-height:580px;
        padding: 200px 0 140px 10%
    }
}

@media screen and (max-width: 896px) {
    .mvunder {
        padding:140px 5% 100px
    }
}

.mvunder .page_ttl {
    color: #fff
}

.mvunder .page_ttl .en {
    display: inline-block;
    letter-spacing: 0;
    color: var(--text-color-red);
    text-transform: uppercase
}

@media screen and (min-width: 897px) {
    .mvunder .page_ttl .en {
        font-size:12rem;
        text-indent: -.075em
    }
}

@media screen and (max-width: 896px) {
    .mvunder .page_ttl .en {
        font-size:5.2rem
    }
}

.mvunder .page_ttl .jp {
    display: block;
    font-weight: 900;
    letter-spacing: 0.2em
}

@media screen and (min-width: 897px) {
    .mvunder .page_ttl .jp {
        margin-top:12px;
        font-size: 2.6rem
    }
}

@media screen and (max-width: 896px) {
    .mvunder .page_ttl .jp {
        margin-top:8px;
        font-size: 1.8rem
    }
}

.mvunder .leadtxt {
    line-height: 2;
    color: #fff
}

@media screen and (min-width: 897px) {
    .mvunder .leadtxt {
        margin-top:36px;
        font-size: 1.6rem
    }
}

@media screen and (max-width: 896px) {
    .mvunder .leadtxt {
        margin-top:24px;
        font-size: 1.4rem
    }
}

.path {
    position: absolute;
    bottom: 20px;
    left: 5%
}

.path ul {
    display: flex;
    align-items: center
}

@media screen and (max-width: 896px) {
    .path ul {
        flex-wrap:wrap
    }
}

.path li {
    color: #fff
}

.path li.arrow {
    position: relative;
    padding-left: 16px;
    margin-left: 12px
}

.path li.arrow:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
    border-style: solid;
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-left: 5px solid #ccc;
    border-right: 0
}

.path .home {
    display: block;
    border-radius: 50%;
    background-color: #535353;
    background-image: url(../../img/common/icon_home.svg);
    background-position: center;
    background-repeat: no-repeat
}

@media screen and (min-width: 897px) {
    .path .home {
        width:30px;
        height: 30px;
        background-size: 16px
    }
}

@media screen and (max-width: 896px) {
    .path .home {
        width:28px;
        height: 28px;
        background-size: 12px
    }
}

.path .txt {
    display: block;
    padding: 8px 14px;
    background-color: #535353;
    border-radius: 14px;
    letter-spacing: 0.04em;
    color: #fff
}

@media screen and (min-width: 897px) {
    .path .txt {
        font-size:1.4rem
    }
}

@media screen and (max-width: 896px) {
    .path .txt {
        font-size:1.2rem
    }
}

.path .txt.current {
    background-color: #fff;
    color: #000
}

@media screen and (max-width: 896px) {
    .path .news_ttl {
        margin-top:10px
    }
}

@media screen and (min-width: 897px) {
    .path .news_ttl .ttl {
        font-size:1.4rem
    }
}

@media screen and (max-width: 896px) {
    .path .news_ttl .ttl {
        font-size:1.2rem
    }
}

@media screen and (min-width: 897px) {
    .companylink {
        display:flex;
        justify-content: space-between;
        padding: 140px 7.7% 80px
    }
}

@media screen and (max-width: 896px) {
    .companylink {
        padding:100px 7.7% 80px
    }
}

@media screen and (min-width: 897px) {
    .companylink__item {
        width:31.5%
    }
}

@media screen and (max-width: 896px) {
    .companylink__item:not(.companylink__item:first-child) {
        margin-top:50px
    }
}

.companylink__item .en {
    letter-spacing: 0;
    color: var(--text-color-red)
}

@media screen and (min-width: 897px) {
    .companylink__item .en {
        font-size:3.8rem;
        white-space: nowrap
    }
}

@media screen and (max-width: 896px) {
    .companylink__item .en {
        font-size:3.2rem
    }
}

.companylink__item .thumb {
    margin-top: 18px
}

.companylink__item .jp {
    font-weight: 900;
    letter-spacing: 0.05em
}

@media screen and (min-width: 897px) {
    .companylink__item .jp {
        margin-top:28px;
        font-size: 2.4rem
    }
}

@media screen and (max-width: 896px) {
    .companylink__item .jp {
        margin-top:18px;
        font-size: 2rem
    }
}

@media screen and (min-width: 897px) {
    .companylink__item .baselink {
        margin-top:20px
    }
}

@media screen and (max-width: 896px) {
    .companylink__item .baselink {
        margin-top:12px
    }
}

.footer {
    position: relative;
    z-index: 2
}

.footer__contact {
    background-color: var(--bg-color-gray)
}

@media screen and (min-width: 897px) {
    .footer__contact {
        padding:120px 0
    }
}

@media screen and (max-width: 896px) {
    .footer__contact {
        padding:60px 0
    }
}

.footer__contact .heading {
    text-align: center
}

.footer__contact .heading span {
    font-weight: 900;
    letter-spacing: 0.2em
}

@media screen and (min-width: 897px) {
    .footer__contact .heading span {
        font-size:2rem
    }
}

@media screen and (max-width: 896px) {
    .footer__contact .heading span {
        font-size:1.4rem
    }
}

@media screen and (min-width: 897px) {
    .footer__contact .heading h2 {
        margin-top:24px;
        font-size: 11.4rem
    }
}

@media screen and (max-width: 896px) {
    .footer__contact .heading h2 {
        margin-top:16px;
        font-size: 4.2rem
    }
}

.footer__contact-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 208px;
    height: 208px;
    margin: 60px auto 0;
    border-radius: 50%;
    border: 1px solid #000
}

@media screen and (min-width: 897px) {
    .footer__contact-link:hover {
        background-color:var(--text-color-red);
        color: #fff
    }

    .footer__contact-link:hover .icon {
        background-image: url(../../img/common/icon_contact_wht.png)
    }
}

.footer__contact-link .icon {
    width: 44px;
    height: 26px;
    background-image: url(../../img/common/icon_contact.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 0 0
}

.footer__contact-link p {
    margin-top: 12px;
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.1em
}

.footer__logoarea {
    background-color: var(--text-color-black)
}

@media screen and (min-width: 897px) {
    .footer__logoarea {
        padding:60px 10%
    }
}

@media screen and (max-width: 896px) {
    .footer__logoarea {
        padding:40px 5%
    }
}

@media screen and (min-width: 897px) {
    .footer__logoarea-logo {
        width:350px
    }
}

.footer__sitemap {
    background-color: #1f1f1f
}

@media screen and (min-width: 897px) {
    .footer__sitemap {
        padding:80px 10% 0
    }
}

@media screen and (max-width: 896px) {
    .footer__sitemap {
        padding:50px 5% 0
    }
}

.footer__sitemap-upper {
    display: flex;
    justify-content: space-between
}

@media screen and (max-width: 896px) {
    .footer__sitemap-upper {
        flex-wrap:wrap
    }
}

@media screen and (max-width: 896px) {
    .footer__sitemap-upper .item {
        width:100%
    }

    .footer__sitemap-upper .item:not(.footer__sitemap-upper .item:first-child) {
        margin-top: 50px
    }
}

@media screen and (min-width: 897px) {
    .footer__sitemap-upper .item a:hover {
        color:var(--text-color-red)
    }
}

.footer__sitemap-upper h4 {
    color: #fff
}

.footer__sitemap-upper h4 a {
    color: #fff
}

@media screen and (min-width: 897px) {
    .footer__sitemap-upper h4 a:hover {
        color:var(--text-color-red)
    }

    .footer__sitemap-upper h4 a:hover .jp.arrow:before {
        border-left: 5px solid var(--text-color-red)
    }
}

.footer__sitemap-upper h4 .en {
    display: block;
    font-size: 2rem;
    letter-spacing: 0.1em
}

.footer__sitemap-upper h4 .jp {
    display: inline-block;
    padding-right: 12px;
    margin-top: 10px;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.1em
}

.footer__sitemap-upper h4 .jp.arrow {
    position: relative
}

.footer__sitemap-upper h4 .jp.arrow:before {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    border-style: solid;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 5px solid #ffffff;
    border-right: 0;
    transition: .35s ease-out
}

.footer__sitemap-upper ul {
    padding-left: 15px;
    border-left: 1px solid #535353
}

@media screen and (min-width: 897px) {
    .footer__sitemap-upper ul {
        margin-top:30px
    }
}

@media screen and (max-width: 896px) {
    .footer__sitemap-upper ul {
        margin-top:20px
    }
}

.footer__sitemap-upper li:not(.footer__sitemap-upper li:first-child) {
    margin-top: 15px
}

.footer__sitemap-upper li a {
    font-size: 1.4rem;
    color: #a0a0a0
}

.footer__sitemap-lower {
    position: relative;
    padding-bottom: 30px
}

@media screen and (min-width: 897px) {
    .footer__sitemap-lower {
        margin-top:118px
    }
}

@media screen and (max-width: 896px) {
    .footer__sitemap-lower {
        margin-top:68px
    }
}

.footer__sitemap-lower .submenu {
    display: flex
}

@media screen and (min-width: 897px) {
    .footer__sitemap-lower .submenu {
        justify-content:center;
        margin-bottom: 26px
    }
}

@media screen and (max-width: 896px) {
    .footer__sitemap-lower .submenu {
        justify-content:space-between;
        flex-wrap: wrap;
        margin-bottom: 30px
    }
}

@media screen and (min-width: 897px) {
    .footer__sitemap-lower li {
        position:relative;
        padding-right: 20px;
        margin-right: 20px
    }

    .footer__sitemap-lower li:not(.footer__sitemap-lower li:last-child):before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        width: 1px;
        height: 100%;
        background-color: #a0a0a0
    }
}

@media screen and (max-width: 896px) {
    .footer__sitemap-lower li {
        width:47%
    }

    .footer__sitemap-lower li:nth-child(n+3) {
        margin-top: 16px
    }
}

.footer__sitemap-lower li a {
    font-size: 1.2rem;
    letter-spacing: 0.1em;
    color: #a0a0a0
}

@media screen and (min-width: 897px) {
    .footer__sitemap-lower li a:hover {
        color:var(--text-color-red)
    }
}

.footer__sitemap-lower .copyright {
    font-size: 1.2rem;
    letter-spacing: 0.1em;
    color: #a0a0a0
}

@media screen and (min-width: 897px) {
    .footer__sitemap-lower .copyright {
        margin-left:auto;
        text-align: center
    }
}

@media screen and (max-width: 896px) {
    .footer__sitemap-lower .copyright {
        margin-top:60px
    }
}

.footer .p_mark {
    position: absolute;
    right: 5%;
    padding: 5px;
    background-color: #fff
}

@media screen and (min-width: 897px) {
    .footer .p_mark {
        bottom:0;
        width: 100px
    }
}

@media screen and (max-width: 896px) {
    .footer .p_mark {
        bottom:10px;
        width: 60px
    }
}

.text_anime {
    opacity: 0;
    filter: blur(10px);
    will-change: scroll-position
}

.text_anime.on {
    animation: text_anime 1s cubic-bezier(0.83, 0, 0.17, 1) forwards
}

@keyframes text_anime {
    0% {
        opacity: 0;
        filter: blur(10px)
    }

    100% {
        opacity: 1;
        filter: blur(0)
    }
}

.text_anime_start {
    opacity: 0;
    filter: blur(10px);
    will-change: contents;
    animation: text_anime .25s linear .75s forwards
}

@keyframes text_anime {
    0% {
        opacity: 0;
        filter: blur(10px)
    }

    100% {
        opacity: 1;
        filter: blur(0)
    }
}

.underline {
    position: relative
}

.underline::after {
    content: "";
    background: #dadada;
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: -4px;
    left: 0;
    transform: scale(0, 1);
    transition: transform .3s;
    transform-origin: right top
}

@media screen and (min-width: 897px) {
    .underline:hover::after {
        transform-origin:left top;
        transform: scale(1, 1)
    }
}

.hoverScale .thumb {
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.4, 0.1, 0.3, 1)
}

.hoverScale .thumb .scaleImg {
    transition: transform 0.4s cubic-bezier(0.4, 0.1, 0.3, 1)
}

.hoverScale .thumb .scaleImg img {
    backface-visibility: hidden
}

@media screen and (min-width: 897px) {
    .hoverScale:hover .thumb {
        transform:scale(0.95)
    }

    .hoverScale:hover .thumb .scaleImg {
        transform: scale(1.15)
    }
}

.svg_anim svg {
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
    transition: 1s;
    width: 100%;
    height: auto
}

.svg_anim.on svg {
    stroke-dashoffset: 2000
}

.fade_y {
    transform: translateY(30px);
    opacity: 0;
    transition: .3s ease-out;
    will-change: transform
}

.fade_y.on {
    opacity: 1;
    transform: translateY(0%)
}

.fade_x_left {
    transform: translateX(-30px);
    opacity: 0;
    transition: .3s ease-out;
    will-change: transform
}

.fade_x_left.on {
    opacity: 1;
    transform: translateX(0)
}

.fade_x_right {
    transform: translateX(30px);
    opacity: 0;
    transition: .3s ease-out;
    will-change: transform
}

.fade_x_right.on {
    opacity: 1;
    transform: translateX(0)
}

.scr_cvr {
    overflow: hidden;
    position: relative;
    display: block;
    opacity: 0;
    transition: .5s
}

.scr_cvr::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    right: 0;
    top: 0;
    z-index: 1;
    background-color: #000;
    transition: all 0.6s cubic-bezier(0.5, 0, 0.3, 1);
    transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1)
}

.scr_cvr.on {
    opacity: 1
}

.scr_cvr.on::before {
    right: -100%;
    transition-delay: .3s
}

.executives .mvunder {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center 0
}

@media screen and (min-width: 897px) {
    /*.executives .mvunder {
        background-image:url(../../img/executives/mv.jpg)
    }*/
}

@media screen and (max-width: 896px) {
    .executives .mvunder {
        padding:190px 5% 100px;
        /* background-image: url(../../img/executives/mv_sp.jpg) */
    }
}

.executives .cross_bnr {
    position: fixed;
    right: 2.5%;
    z-index: 10001
}

@media screen and (min-width: 897px) {
    .executives .cross_bnr {
        width:308px;
        bottom: 20px
    }
}

@media screen and (max-width: 896px) {
    .executives .cross_bnr {
        width:42%;
        bottom: 10px
    }
}

.executives .cross_bnr a {
    display: block
}

.executives .info .post {
    font-size: 1.4rem;
    font-weight: 900;
    color: var(--text-color-red)
}

.executives .info .name {
    display: block;
    margin-top: 10px;
    font-weight: 900;
    letter-spacing: 0.05em
}

@media screen and (min-width: 897px) {
    .executives .info .name {
        font-size:4rem
    }
}

@media screen and (max-width: 896px) {
    .executives .info .name {
        font-size:3.2rem
    }
}

.executives .biography {
    padding-bottom: 34px;
    margin-bottom: 34px;
    border-bottom: 2px solid var(--text-color-red)
}

@media screen and (min-width: 897px) {
    .executives .biography {
        margin-top:32px
    }
}

@media screen and (max-width: 896px) {
    .executives .biography {
        margin-top:18px
    }
}

.executives .biography.noborder {
    border-bottom: 0
}

.executives .biography li {
    font-size: 1.4rem;
    font-weight: 900;
    line-height: 2;
    letter-spacing: 0.05em
}

.executives .profile .label {
    font-size: 2rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    color: var(--text-color-red);
    text-transform: uppercase
}

.executives .profile .txt {
    margin-top: 18px;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: 0.05em
}

.executives__area01 {
    position: relative
}

@media screen and (min-width: 897px) {
    .executives__area01 {
        padding:245px 10% 180px
    }
}

@media screen and (max-width: 896px) {
    .executives__area01 {
        padding:145px 5% 90px
    }
}

.executives__area01-item {
    position: relative
}

@media screen and (min-width: 897px) {
    .executives__area01-item {
        display:flex;
        justify-content: space-between
    }
}

@media screen and (max-width: 896px) {
    .executives__area01-item {
        margin-top:50px
    }
}

.executives__area01-item:nth-child(n+2) {
    margin-top: 220px
}

.executives__area01-item:nth-child(odd) .bgname {
    right: -5vw
}

.founder_link{
    text-align: right;
    margin-top: 60px;
    
}
.founder_link .baselink{
    color: var(--text-color-black);
    border: none;
    background-color: unset;
    padding: 18px 0px;
}
.founder_link .baselink .txt{
    background-image: url(../../img/common/icon_arrow_link_blk.png);
}

@media screen and (min-width: 897px) {
    .executives__area01-item:nth-child(odd) .textarea {
        margin-right:5vw
    }
    .founder_link{
        margin-top: 120px;
    }
    .founder_link .baselink{
        padding: 18px 0px;
    }
}

@media screen and (min-width: 897px) {
    .executives__area01-item:nth-child(even) {
        flex-direction:row-reverse
    }
}

.executives__area01-item:nth-child(even) .bgname {
    left: -5vw
}

@media screen and (min-width: 897px) {
    .executives__area01-item:nth-child(even) .textarea {
        margin-left:5vw
    }
}

.executives__area01-item .bgname {
    position: absolute;
    top: 0;
    transform: translateY(-50%);
    color: #eee
}

@media screen and (min-width: 897px) {
    .executives__area01-item .bgname {
        font-size:16rem
    }
}

@media screen and (max-width: 896px) {
    .executives__area01-item .bgname {
        font-size:5rem;
        transform: translateY(-90%)
    }
}

.executives__area01-item .thumb {
    position: relative;
    z-index: 2
}

@media screen and (min-width: 897px) {
    .executives__area01-item .thumb {
        width:37.5%
    }
}

@media screen and (max-width: 896px) {
    .executives__area01-item .thumb {
        height:350px;
        overflow: hidden
    }
}

.executives__area01-item .textarea {
    position: relative;
    z-index: 2
}

@media screen and (min-width: 897px) {
    .executives__area01-item .textarea {
        width:37.5%
    }
}

@media screen and (max-width: 896px) {
    .executives__area01-item .textarea {
        margin-top:24px
    }
}

.executives__area01-item .textarea .info {
    position: relative
}

.executives__area01-item .textarea .info:before {
    content: attr(data-num);
    position: absolute;
    right: 0;
    font-family: 'Montserrat';
    font-weight: 700;
    color: var(--text-color-red)
}

@media screen and (min-width: 897px) {
    .executives__area01-item .textarea .info:before {
        top:0;
        font-size: 9rem
    }
}

@media screen and (max-width: 896px) {
    .executives__area01-item .textarea .info:before {
        top:20px;
        font-size: 6rem
    }
}

.executives__area01-item .textarea .sns {
    display: flex;
    margin-top: 24px
}

.executives__area01-item .textarea .sns li {
    margin-right: 30px
}

.executives__area01-item .textarea .sns a {
    position: relative;
    text-decoration: underline;
    text-underline-offset: 4px
}

@media screen and (min-width: 897px) {
    .executives__area01-item .textarea .sns a {
        padding-left:40px;
        font-size: 1.4rem
    }
}

@media screen and (max-width: 896px) {
    .executives__area01-item .textarea .sns a {
        padding-left:30px;
        font-size: 1.2rem
    }
}

.executives__area01-item .textarea .sns a:before {
    content: '';
    position: absolute;
    left: 0;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100%
}

@media screen and (min-width: 897px) {
    .executives__area01-item .textarea .sns a:before {
        width:30px;
        height: 30px
    }
}

@media screen and (max-width: 896px) {
    .executives__area01-item .textarea .sns a:before {
        width:24px;
        height: 24px
    }
}

.executives__area01-item .textarea .sns a.twitter:before {
    top: 0;
    background-image: url(../../img/executives/icon_tw.png)
}

.executives__area01-item .textarea .sns a.instagram:before {
    top: -3px;
    background-image: url(../../img/executives/icon_insta.png)
}

@media screen and (min-width: 897px) {
    .executives__area02 {
        margin-bottom:120px
    }
}

@media screen and (max-width: 896px) {
    .executives__area02 {
        margin-top:60px;
        margin-bottom: 80px
    }
}

@media screen and (min-width: 897px) {
    .executives__area02-item {
        display:flex;
        margin-top: 150px;
        margin-left: 10%
    }
}

@media screen and (max-width: 896px) {
    .executives__area02-item {
        margin-top:90px;
        margin-left: 5%;
        margin-right: 5%
    }
}

.executives__area02-item .thumb {
    position: relative
}

@media screen and (min-width: 897px) {
    .executives__area02-item .thumb {
        width:26.2%;
        margin-right: 4.8%
    }
}

.executives__area02-item .thumb .name {
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-75%);
    color: var(--text-color-red);
    text-transform: uppercase
}

@media screen and (min-width: 897px) {
    .executives__area02-item .thumb .name {
        font-size:4.9rem
    }
}

@media screen and (max-width: 896px) {
    .executives__area02-item .thumb .name {
        font-size:3.6rem
    }
}

@media screen and (max-width: 896px) {
    .executives__area02-item .thumb .img {
        object-fit:cover;
        width: 100%;
        height: 350px;
        object-position: center 16%
    }
}

@media screen and (max-width: 896px) {
    .executives__area02-item .textarea {
        margin-top:20px
    }
}

@media screen and (min-width: 897px) {
    .executives__area02-item .textarea.win {
        width:38.1%
    }
}

.executives__area02-item .textarea .biography li {
    font-weight: 500
}

.executives__talk {
    padding: 120px 0 0;
    background-color: #fff
}

@media screen and (min-width: 897px) {
    .executives__talk-introduce {
        margin-left:10%;
        margin-right: 10%
    }
}

@media screen and (max-width: 896px) {
    .executives__talk-introduce {
        margin-left:5%;
        margin-right: 5%
    }
}

@media screen and (min-width: 897px) {
    .executives__talk-introduce .heading {
        text-align:center
    }
}

.executives__talk-introduce .heading .en {
    color: var(--text-color-red);
    letter-spacing: 0
}

@media screen and (min-width: 897px) {
    .executives__talk-introduce .heading .en {
        font-size:2.4rem
    }
}

@media screen and (max-width: 896px) {
    .executives__talk-introduce .heading .en {
        font-size:2rem
    }
}

.executives__talk-introduce .heading .txt {
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: 0.05em;
    color: var(--text-color-red)
}

@media screen and (min-width: 897px) {
    .executives__talk-introduce .heading .txt {
        margin-top:36px;
        font-size: 6rem;
        text-align: center
    }
}

@media screen and (max-width: 896px) {
    .executives__talk-introduce .heading .txt {
        margin-top:24px;
        font-size: 3rem
    }
}

.executives__talk-introduce .basetxt {
    max-width: 730px
}

@media screen and (min-width: 897px) {
    .executives__talk-introduce .basetxt {
        margin:50px auto 0;
        text-align: center
    }
}

@media screen and (max-width: 896px) {
    .executives__talk-introduce .basetxt {
        margin:24px auto 0
    }
}

.executives__talk-introduce .thumb {
    margin-top: 60px
}

@media screen and (min-width: 897px) {
    .executives__talk-profile {
        display:flex;
        justify-content: center;
        margin-top: 90px;
        margin-bottom: 120px
    }
}

@media screen and (max-width: 896px) {
    .executives__talk-profile {
        padding:0 10%;
        margin-top: 50px;
        margin-bottom: 70px
    }
}

.executives__talk-profile .person {
    position: relative
}

@media screen and (min-width: 897px) {
    .executives__talk-profile .person {
        width:20%;
        margin: 0 2.5vw
    }
}

@media screen and (max-width: 896px) {
    .executives__talk-profile .person {
        margin-top:64px
    }
}

@media screen and (min-width: 897px) {
    .executives__talk-profile .person:not(.executives__talk-profile .person:last-child) .icon:before,.executives__talk-profile .person:not(.executives__talk-profile .person:last-child) .icon:after {
        content:'';
        position: absolute;
        top: 50%;
        right: -2vw;
        width: 100px;
        height: 1px;
        background-color: #d2d2d2
    }

    .executives__talk-profile .person:not(.executives__talk-profile .person:last-child) .icon:before {
        transform: translate(100%, -50%) rotate(45deg)
    }

    .executives__talk-profile .person:not(.executives__talk-profile .person:last-child) .icon:after {
        transform: translate(100%, -50%) rotate(-45deg)
    }
}

.executives__talk-profile .person .icon {
    position: relative;
    width: 75%;
    margin: auto
}

.executives__talk-profile .person .post {
    margin-top: 30px;
    font-size: 1.4rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1.5;
    color: var(--text-color-red);
    text-align: center
}

.executives__talk-profile .person .name {
    margin-top: 18px;
    font-size: 3.6rem;
    font-weight: 900;
    text-align: center
}

.executives__talk-profile .person .basetxt {
    margin-top: 22px
}

@media screen and (min-width: 897px) {
    .executives__talk-chapter {
        padding-bottom:200px
    }
}

@media screen and (max-width: 896px) {
    .executives__talk-chapter {
        padding-bottom:120px
    }
}

@media screen and (min-width: 897px) {
    .executives__talk-chapter#chapter01 .executives__talk-mv {
        background-image:url(../../img/executives/chapter01_mv.jpg)
    }
}

@media screen and (max-width: 896px) {
    .executives__talk-chapter#chapter01 .executives__talk-mv {
        background-image:url(../../img/executives/chapter01_mv_sp.jpg)
    }
}

@media screen and (min-width: 897px) {
    .executives__talk-chapter#chapter02 .executives__talk-mv {
        display:flex;
        justify-content: flex-end;
        padding-right: 10%;
        background-image: url(../../img/executives/chapter02_mv.jpg)
    }
}

@media screen and (max-width: 896px) {
    .executives__talk-chapter#chapter02 .executives__talk-mv {
        background-image:url(../../img/executives/chapter02_mv_sp.jpg);
        background-position: left
    }
}

@media screen and (min-width: 897px) {
    .executives__talk-chapter#chapter03 .executives__talk-mv {
        background-image:url(../../img/executives/chapter03_mv.jpg)
    }
}

@media screen and (max-width: 896px) {
    .executives__talk-chapter#chapter03 .executives__talk-mv {
        background-image:url(../../img/executives/chapter03_mv_sp.jpg);
        background-position: 82% 0
    }
}

.executives__talk-mv {
    background-position: right 0;
    background-repeat: no-repeat;
    background-size: cover
}

@media screen and (min-width: 897px) {
    .executives__talk-mv {
        display:flex;
        align-items: center;
        height: 42.8vw;
        padding-left: 10vw
    }
}

@media screen and (max-width: 896px) {
    .executives__talk-mv {
        padding:250px 5% 30px
    }
}

.executives__talk-mv .label {
    position: relative;
    color: var(--text-color-red);
    text-transform: uppercase
}

@media screen and (min-width: 897px) {
    .executives__talk-mv .label {
        font-size:3.6rem
    }
}

@media screen and (max-width: 896px) {
    .executives__talk-mv .label {
        font-size:3rem
    }
}

.executives__talk-mv .label:before {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(150%, -50%);
    width: 40px;
    height: 2px;
    background-color: var(--text-color-red)
}

.executives__talk-mv .head {
    font-weight: 900;
    letter-spacing: 0.05em
}

@media screen and (min-width: 897px) {
    .executives__talk-mv .head {
        margin-top:30px;
        font-size: 2rem
    }
}

@media screen and (max-width: 896px) {
    .executives__talk-mv .head {
        margin-top:24px;
        font-size: 1.6rem
    }
}

.executives__talk-mv .head .line {
    display: inline-block;
    padding: 4px 4px 6px;
    background-color: #fff
}

.executives__talk-mv .txt {
    font-weight: 900;
    letter-spacing: 0.05em
}

@media screen and (min-width: 897px) {
    .executives__talk-mv .txt {
        margin-top:36px;
        font-size: 4rem
    }
}

@media screen and (max-width: 896px) {
    .executives__talk-mv .txt {
        margin-top:24px;
        font-size: 2.2rem
    }
}

.executives__talk-mv .txt .line {
    display: inline-block;
    padding: 4px 6px 6px;
    margin-top: 10px;
    background-color: var(--text-color-red);
    color: #fff
}

@media screen and (min-width: 897px) {
    .executives__talk-mv .txt .line {
        font-size:4.8rem
    }
}

@media screen and (max-width: 896px) {
    .executives__talk-mv .txt .line {
        font-size:2.6rem
    }
}

.executives__talk-content {
    display: flex;
    margin-top: 90px
}

@media screen and (min-width: 897px) {
    .executives__talk-content {
        max-width:980px;
        margin-left: auto;
        margin-right: auto
    }
}

@media screen and (max-width: 896px) {
    .executives__talk-content {
        margin-left:5%;
        margin-right: 5%
    }
}

@media screen and (min-width: 897px) {
    .executives__talk-content.center {
        align-items:center
    }
}

@media screen and (min-width: 897px) {
    .executives__talk-content .icon {
        width:100px
    }
}

@media screen and (max-width: 896px) {
    .executives__talk-content .icon {
        width:60px
    }
}

.executives__talk-content .icon .name {
    display: block;
    margin-top: 10px;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-align: center
}

@media screen and (min-width: 897px) {
    .executives__talk-content .icon .name {
        font-size:1.4rem
    }
}

@media screen and (max-width: 896px) {
    .executives__talk-content .icon .name {
        font-size:1.2rem
    }
}

.executives__talk-content .textarea {
    flex: 1;
    margin-left: 2.5vw
}

.executives__talk-content .textarea .redtxt {
    font-weight: 900;
    color: var(--text-color-red)
}

.executives__talk-thumb {
    display: flex;
    justify-content: space-between
}

@media screen and (min-width: 897px) {
    .executives__talk-thumb {
        margin-top:90px;
        margin-left: 15%;
        margin-right: 15%
    }
}

@media screen and (max-width: 896px) {
    .executives__talk-thumb {
        flex-direction:column;
        margin-top: 60px;
        margin-left: 5%;
        margin-right: 5%
    }
}

@media screen and (min-width: 897px) {
    .executives__talk-thumb.chapter01 .item:first-child {
        width:60.7%
    }
}

@media screen and (max-width: 896px) {
    .executives__talk-thumb.chapter01 .item:first-child {
        width:80%
    }
}

@media screen and (min-width: 897px) {
    .executives__talk-thumb.chapter01 .item:last-child {
        width:35.7%;
        margin-top: 210px
    }
}

@media screen and (max-width: 896px) {
    .executives__talk-thumb.chapter01 .item:last-child {
        width:50%;
        margin-top: 20px;
        margin-left: auto
    }
}

@media screen and (min-width: 897px) {
    .executives__talk-thumb.chapter02 .item:first-child {
        width:35.7%;
        margin-top: 210px
    }
}

@media screen and (max-width: 896px) {
    .executives__talk-thumb.chapter02 .item:first-child {
        width:50%
    }
}

@media screen and (min-width: 897px) {
    .executives__talk-thumb.chapter02 .item:last-child {
        width:60.7%
    }
}

@media screen and (max-width: 896px) {
    .executives__talk-thumb.chapter02 .item:last-child {
        width:80%;
        margin-top: 20px;
        margin-left: auto
    }
}

@media screen and (min-width: 897px) {
    .executives__talk-thumb.chapter03 .item:first-child {
        width:35.7%
    }
}

@media screen and (max-width: 896px) {
    .executives__talk-thumb.chapter03 .item:first-child {
        width:50%
    }
}

@media screen and (min-width: 897px) {
    .executives__talk-thumb.chapter03 .item:last-child {
        width:60.7%;
        margin-top: 210px
    }
}

@media screen and (max-width: 896px) {
    .executives__talk-thumb.chapter03 .item:last-child {
        width:80%;
        margin-top: 20px;
        margin-left: auto
    }
}

@media screen and (max-width: 896px) {
    .executives .fin_thumb img {
        object-fit:cover;
        height: 60vw;
        object-position: -18vw
    }
}
