.txtEx {
    text-indent: 120%;
    white-space: nowrap;
    overflow: hidden;
}

.PC {
    display: inherit;
}

.SP {
    display: none;
}

html {
    color: #000000DE;
    font-size: 62.5%; /*1rem = 10px*/
    font-size: 0.909vw; /*defaultFontsize / maxWidth * 100*/
    /*max-width: 750px;*/ /*maxWidth*/
    margin: 0 auto;
}

/*deviceWidth 750px 以上の時 全体のフォントサイズ 20px に固定*/
@media screen and (min-width: 1100px) {
    html {
        font-size: 10px; /*defaultFontsize*/
        font-size: 62.5%;
    }
}

body {
    font-family: "Yu Gothic Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, "sans-serif";
    width: 100%;
    margin: 0 auto;
    /*overflow-x: hidden;*/
    height: 200vh;
    line-break: strict;
}

html > body img {
    max-width: 100%;
    width: 100%;
    height: auto;
    vertical-align: bottom;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

picture {
    display: inline-block;
    vertical-align: bottom;
}

a[class] {
    transition: opacity 0.12s;
}

a[class]:hover {
    opacity: 0.8;
}

/* IE */
@media all and (-ms-high-contrast: none) {
    * {
        font-feature-settings: normal !important;
    }
}

/*--------------------
animation*/
.animate__animated {
    visibility: hidden;
    animation-duration: 2s !important;
    /*animation-timing-function: cubic-bezier(0.1, -0.6, 0.2, 0)!important;*/
    /*animation-timing-function: cubic-bezier(0.35, 1.15, 0.8, 1)!important;*/
    /*animation-timing-function: cubic-bezier(0, 0.88, 0.8, 1)!important;*/
    /*animation-timing-function: cubic-bezier(0.55, 0.03, 0.64, 0.99)!important;*/
    /*animation-timing-function: cubic-bezier(0.55, 0.03, 0.44, 0.49)!important;*/
    /*animation-timing-function: cubic-bezier(0.63, 0, 1, 1)!important;*/
    /*animation-timing-function: cubic-bezier(0.45, 0.05, 0.55, 0.95)!important;*/
}

[class*="fade"].animate__animated {
    visibility: visible;
}

.animated .animate__fadeInUp {
}

/*--No2*/

/*No3*/


/*--------------------
fv*/
.fv {
    background: no-repeat center top;
    background-image: url(../images/bg_fv.png);
    background-size: auto 100%;
    text-align: center;
}


/*--------------------
kotoba*/
.kotoba {
    min-height: 173.3rem;
    padding-bottom: 8rem;
    font-size: 2.2rem;
    line-height: 2.2;
    letter-spacing: 0.06em;
    background: url(../images/bg_kotoba.png) no-repeat center top;
    background-size: auto 100%;
}

.kotoba .wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding-top: 10rem;
}

.kotoba .wordlist {
    margin-bottom: 16rem;
    text-align: center;
    line-height: 2.2;
    letter-spacing: 0.06em;
}

.kotoba .nitijo {
    position: relative;
    display: inline-block;
    margin-bottom: 8rem;
}

.kotoba .nitijo img {
    width: 62rem;
}

.kotoba .nitijo .txt {
    position: absolute;
    left: 95%;
    top: 50%;
    transform: translate(0, -50%);
    white-space: nowrap;
}

.kotoba .nitijo .txt p {
    /*display: inline;*/
    display: block;
    margin-bottom: 0.5em;
    /*padding: 0.1em 0.5em;*/
    padding: 0 0.5em;
    line-height: 2.27;
    line-height: 1.5;
    letter-spacing: 0.08em;
    background: #fff;
    font-feature-settings: "palt";
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

.kotoba .foryou {
    text-align: center;
}

.kotoba .foryou > p {
    font-size: 2.6rem;
    line-height: 1.8;
}

.kotoba .foryou > p.PC {
    margin-bottom: 7rem;
}

.kotoba .foryou .img {
    position: relative;
    display: inline-block;
}

.kotoba .foryou .img .animate__animated {
    position: absolute;
    top: calc(50% - 7.8rem / 2 + 1rem);
    right: 6rem;
    width: 40.5rem;
}


/*--------------------
smartuseful*/
.smartuseful {
    min-height: 25rem;
    font-size: 2.4rem;
    letter-spacing: 0.06em;
    background: #f09292 url(../images/img_mikepen.png) no-repeat center bottom;
    background-size: 110rem auto;
}

.smartuseful .wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding-top: 6rem;
    text-align: center;
}

.smartuseful .lead {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 1em;
    color: #fff;
    font-weight: bold;
    font-feature-settings: "palt";
    letter-spacing: 0.12em;
}

.smartuseful h3.lead {
    font-size: 3.4rem;
}

.smartuseful h3.lead span {
    margin: 0 0.3em;
}

.smartuseful .lead img {
    width: auto;
    height: 2em;
    margin-top: 0.3em;
}

.smartuseful h3.lead img {
    height: 1.5em;
    margin-top: 0.3em;
}

.smartuseful .linkBbtnarea {
}

.linkBbtnarea .btn {
    color: #fff;
    padding: 1rem 6.5rem;
    text-decoration: none;
    line-height: 1;
    border-radius: 1.2rem;
    background: #009cda no-repeat right 1em center;
    background-image: url(../images/icon_arrow.svg);
    background-size: auto 1.2rem;
}

/*--------------------
usefuldigital*/
.usefuldigital {
    min-height: 25rem;
    font-size: 2rem;
    letter-spacing: 0.06em;
    background: #f09292;
}

.usefuldigital .wrap {
    display: flex;
    justify-content: center;
    max-width: 1100px;
    margin: 0 auto;
    padding: 4.6rem 0;
    background: #fff;
    border-radius: 17.5rem
}

.usefuldigital .li {
    text-align: center;
}

.usefuldigital .li:not(:nth-child(2n)) {
    margin-right: 2.4rem;
}

.usefuldigital .li p {
    margin-bottom: 1rem;
}

.usefuldigital .linkBbtnarea .btn {
    display: block;
    width: 35rem;
    font-size: 2.4rem;
}


/*--------------------
モーダル 機能*/
body.is-modalOpen {
    position: fixed;
    left: 0;
    overflow: hidden;
}

.panel {
}

.js-openModal {
    cursor: pointer;
}

.modalpanel_wrap {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1000;
    background-color: rgba(0, 0, 0, 0.4);
    overflow-y: scroll;
}

.modalpanel_wrap.is-disable {
    display: none;
}

.modalpanel {
    position: relative;
    max-width: 1000px;
    width: 90.9%;
    margin: 6rem auto;
    min-height: 10rem;
    background-color: #fff;
}

/*--------------------
モーダル デザイン*/
.modal_close {
    position: absolute;
    /*bottom: 100%;*/
    top: 0;
    /*left: 100%;*/
    right: -5.5rem;
    width: 4.5rem;
}

.modal_close button {
    cursor: pointer;
    padding: 0;
}

.modal_close button img {
    width: 4.5rem;
    height: 4.5rem;
}


/*--------------------
SPECIAL CONTENTS*/
.spcont {
    position: relative;
    padding-top: 18rem;
    padding-bottom: 9.5rem;
    background-image: url(../images/bg_spcont_end.png),
    url(../images/bg_spcont.png);
    background-position: center bottom -1px,
    center top;
    background-repeat: no-repeat,
    repeat;
    background-size: 200rem auto,
    3.5rem auto;
}

.spcont .decoplane {
    position: absolute;
    top: 7rem;
    left: -28rem;
    width: 31.3rem;
}

@media screen and (min-width: 1100px) {
    .spcont .decoplane {
        left: calc((100% - 1100px) / 2 - 28rem);
    }
}

.spcont .wrap {
    position: relative;
    max-width: 1100px;
    margin: 0 auto;
    border: 0.4rem solid #004567;
    border-top: 0;
    border-radius: 0.4rem;
}

.spcont .head {
    position: relative;
    z-index: 100;
}

.spcont .head h2 {
    position: absolute;
    right: 0;
    left: 0;
    bottom: 100%;
    transform: translateY(50%);
    text-align: center;
}

.spcont .head h2 img {
    width: 54.4rem;
    margin: 0 auto;
}

.spcont .head h2 .limited {
    position: absolute;
    right: 50%;
    top: -100%;
    top: -140%;
    transform: translate(50%);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.1em 1em 0 1em;
    color: #fff;
    font-size: 2.6rem;
    border-radius: 1em;
    background: #f0908c;
}

.spcont .head h2 .limited:after {
    content: "";
    position: absolute;
    right: 50%;
    bottom: 0;
    transform: translate(50%, 95%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.5em 0.25em 0 0.25em;
    border-color: #f0908c transparent transparent transparent;
}

.spcont .cont {
    position: relative;
    top: 0.2rem;
    /*display: flow-root;*/
    display: flex;
    flex-direction: column;
    background: rgba(255, 255, 255, 0.4);
    /*transform: translateY(0.2rem);*/
    border-bottom: 0.2rem solid #004567;
}

.spcont .cont .deco {
    position: relative;
    top: -0.2em;
    width: calc((100% - 54.4rem) / 2 - 2.4rem);
    height: 0.4rem;
    background: #004567;
}

.spcont .cont .deco:after {
    content: "";
    position: absolute;
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 50%;
    background: #004567;
}

.spcont .cont .deco.L {
    float: left;
}

.spcont .cont .deco.R {
    float: right;
}

.spcont .cont .deco.L:after {
    right: 0;
    transform: translateX(50%);
}

.spcont .cont .deco.R:after {
    left: 0;
    transform: translateX(-50%);
}

.spcont .cont .note {
    /*margin: 5rem 0 6rem 0;*/
    margin: 4.5rem auto 5.7rem auto;
    color: #004567;
    font-size: 1.6rem;
    text-align: center;
}

.spcont .cont .flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
}

.spcont .cont .panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 32rem;
    margin-bottom: 2.6rem;
    letter-spacing: 0.06em;
}

/*.spcont .cont .panel:not(:nth-child(2n)) {
    margin-right: 2rem;
}*/
.spcont .cont .panel {
    margin-right: 2rem;
}

.spcont .cont .panel:nth-child(3n) {
    margin-right: 0;
}

.spcont .cont .panel:last-child {
    margin-right: 0;
}

.spcont .panel .images {
    margin-bottom: 1rem;
}

.spcont .panel .images img {
    width: 32rem;
}

.spcont .panel .label {
    margin-bottom: 1rem;
    padding: 0.3rem 1rem;
    color: #fff;
    font-size: 1.5rem;
    font-feature-settings: "palt";
    letter-spacing: 0.08em;
    border-radius: 1.5em;
    background: #f0908c;
}

.spcont .panel h3 {
    margin-bottom: 1rem;
    font-size: 1.7em;
    text-align: center;
}

.spcont .panel > :nth-last-child(-n+3) {
    margin-bottom: 3rem;
}

.spcont .panel .lead {
    width: 100%;
    margin-top: -2rem;
    margin-right: auto;
    margin-bottom: 5.2rem;
    font-size: 1.6em;
    line-height: 1.6;
}

.spcont .panel .lead .space {
    display: none;
}

.spcont .panel .actionbtn {
    display: flex;
    align-items: center;
    min-width: 20rem;
    margin-top: auto;
    padding: 0.8em 5em;
    color: #666;
    font-size: 1.5rem;
    text-decoration: none;
    line-height: 1;
    border: 1px solid #666;
    border-radius: 1.5em;
    background: #fff;
    transition: opacity 0.15s;
}

.spcont .panel .actionbtn:hover {
    opacity: 0.8;
}

.spcont .panel .actionbtn .iconmore {
    width: auto;
    height: 1rem;
    width: 1rem;
    margin-right: 0.5em;
}

.spcont .panel .actionbtn.openblank {
    background: #fff url(../images/icon_blank.svg) no-repeat right 1em center;
    background-size: 1.1rem auto;
}

.spcont .sns {
    margin: -3rem 0 4rem;
}

.spcont .sns ul {
    display: flex;
    justify-content: center;
    align-items: center;
    list-style-type: none;
    gap: 0 3rem;
    margin: 0;
    padding: 0;
}

.spcont .sns li:hover {
    opacity: .8;
}

.spcont .sns li:nth-child(1) {
    width: 4.23rem;
}

.spcont .sns li:nth-child(2) {
    width: 4.9rem;
}

.spcont .sns li:nth-child(3) {
    width: 4.9rem;
}

.spcont .sns li:nth-child(4) {
    width: 5.6rem;
}

/*--------------------
CM Library*/
.cmlibrary {
    margin-top: -4rem;
    padding-top: 8rem;
    padding-bottom: 10rem;
    background-image: url(../images/bg_cmlibrary_bottom.png),
    url(../images/bg_cmlibrary_top.png);
    background-position: center bottom,
    center top;
    background-repeat: no-repeat;
    background-size: 200rem auto,
    200rem auto;
}

.cmlibrary .wrap {
    max-width: 1000px;
    margin: 0 auto;
}

.cmlibrary .head {
    margin-bottom: 2rem;
    color: #004567;
    text-align: center;
}

.cmlibrary .head h3 {
    display: inline-block;
    margin-bottom: 0.2em;
    padding: 0 0 0.3em 0;
    font-size: 4.2rem;
    line-height: 1;
    border-bottom: 0.4rem solid #004567;
}

.cmlibrary .head .lead {
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 2;
    letter-spacing: 0.06em;
}

.cmlibrary .moviearea {
    max-width: 100rem;
    margin: 0 auto;
    padding: 4rem 0 0 0;
    background: #f2f2f2;
}

.cmlibrary .moviearea .flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 3.5rem;
}

.cmlibrary .moviearea .tvcmhead {
    display: flex;
    align-items: center;
    margin-bottom: 3rem;
    padding: 0 3.5rem;
    font-family: Roboto, Arial, sans-serif;
    letter-spacing: 0.06em;
}

.cmlibrary .moviearea .tvcmhead h4 {
    color: rgb(3, 3, 3);
    font-size: 2rem;
    font-weight: 500;
}

.cmlibrary .moviearea .tvcmhead .btnallplay {
    display: flex;
    align-items: center;
    margin-left: 2em;
    color: rgb(96, 96, 96);
    font-size: 1.8rem;
    text-decoration: none;
}

.cmlibrary .moviearea .tvcmhead .btnallplay span.tri {
    margin-right: 1.5rem;
    width: 2rem;
    height: 2rem;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%207.42%2012.2%22%20width%3D%2211%22%20height%3D%2211%22%20preserveAspectRatio%3D%22MinYMid%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Argb(96%2C96%2C96)%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%3E%3Cg%20id%3D%22%E3%82%B3%E3%83%B3%E3%83%86%E3%83%B3%E3%83%84%22%3E%3Cpolygon%20class%3D%22cls-1%22%20points%3D%227.42%206.1%200%200%200%2012.2%207.42%206.1%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E');
}

.cmlibrary .moviearea .li {
    width: 22.5rem;
    margin-bottom: 3.5rem;
}

.cmlibrary .moviearea .li a {
    display: block;
    text-decoration: none;
    transition: opacity 0.15s;
}

.cmlibrary .moviearea .li a:hover {
    opacity: 0.8;
}

.cmlibrary .moviearea .img {
    position: relative;
    margin-bottom: 1rem;
}

.cmlibrary .moviearea .img .time {
    position: absolute;
    bottom: 0;
    right: 0;
    display: flex;
    align-items: center;
    height: 1em;
    margin: 0.4rem;
    padding: 1rem 0.5rem;
    color: #fff;
    font-family: Roboto, Arial, sans-serif;
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    line-height: 1;
    border-radius: 0.3rem;
    background-color: #000000DE;
}

.cmlibrary .moviearea .txt {
    font-family: Roboto, Arial, sans-serif;
}

.cmlibrary .moviearea .txt h5 {
    margin: 0;
    margin-bottom: 1rem;
    color: rgb(3, 3, 3);
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.4;
    padding-right: 2em;
}

.cmlibrary .moviearea .txt p {
    color: rgb(96, 96, 96);
    font-size: 1.4rem;
}


/*--------------------
footer*/
.footer {
    padding: 1.8rem 0;
    text-align: center;
}

.footer .logo {
    margin: 0 auto;
    margin-bottom: 1.2rem;
}

.footer .logo a {
    display: inline-block;
    transition: opacity 0.15s;
}

.footer .logo a:hover {
    opacity: 0.8;
}

.footer .copyright {
    color: #000;
    font-size: 1.3rem;
    line-height: 1;
    letter-spacing: 0.06em;
}


/*--------------------
モーダルコンテンツ*/
.modalpanel {
    letter-spacing: 0.06em;
}

.modalpanel .modalcont {
    padding: 5rem 4rem;
    padding: 4rem;
}

.modalpanel .ttl {
    display: flex;
    font-size: 2.1rem;
    font-weight: 700;
}

.modalpanel .ttl .label {
    display: inline-block;
    font-weight: 500;
}

.modalpanel .ttl .ttlwrap {
    margin-top: 1rem;
}

.modalpanel .ttlwrap .personlist {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.71;
}

.modalpanel .maintxt {
    color: #000;
    font-size: 1.6rem;
    line-height: 1.75;
}

.modalpanel .maintxt a {
    color: #000;
    text-decoration: none;
}

.modalpanel .maintxt p {
    margin-bottom: 1rem;
}

.modalpanel .maintxt p .imgwrap {
    width: 30rem;
}

.modalpanel .maintxt p .imgwrap img {
    margin-bottom: 0.5em;
}

.modalpanel .maintxt p.L {
    overflow: hidden;
}


.modalpanel .maintxt p.L .imgwrap {
    float: left;
    margin-right: 2rem;
}


.modalpanel .maintxt p.R {
    overflow: hidden;
}

.modalpanel .maintxt p.R .imgwrap {
    float: right;
    margin-left: 2rem;
}

.modalpanel .maintxt p .txt {
    display: inline-block;
    font-size: 1.2rem;
    line-height: 1.5;
}


.modalpanel .maintxt p .txt2 {

    font-size: 1.2rem;
    line-height: 1.5;
}


.modalpanel .maintxt .flex {
    display: flex;
    justify-content: space-between;
}

.modalpanel .converarea {
    padding: 1.7rem 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #bbe1e8;
}

.modalpanel .converarea .free {
    color: #012d72;
    font-size: 2rem;
    letter-spacing: 0.02em;
}

.modalpanel .converarea .linkBbtnarea .btn {
    display: block;
    margin-left: 1em;
    padding: 1rem 7rem;
    font-size: 2.4rem;
    background-image: none;
}

/*--------------------
四季の励まし*/
.modalpanel .Siki {
}

.modalpanel .Siki .ttlwrap .label {
    float: left;
    margin-right: 1rem;
    margin-top: 0.4rem;
}

.modalpanel .Siki .ttlwrap .float {
    float: left;
    font-size: 1.8rem;
    font-weight: 500;
    margin-top: 0.5rem;
}

.modalpanel .Siki .maintxt {

}

.modalpanel .Siki .maintxt p {
    margin-bottom: 0;
}

.modalpanel .Siki .maintxt p:first-child {
    font-size: 1.8rem;
    margin-bottom: 3rem;
}

.modalpanel .Siki .maintxt p.L {
    display: flex;
    align-items: center;
    line-height: 2;
}

/*--------------------
POWER of WOMAN*/
.modalpanel .PW {
}

.modalpanel .PW .flex {
    flex-wrap: nowrap;
}

.modalpanel .PW .flex li {
}

.modalpanel .PW .flex li:not(:last-child) {
    margin-right: 4rem;
}

.modalpanel .PW .imgwrap {
    margin-right: 2rem;
}

.modalpanel .PW .ttl {
    margin-bottom: 5rem;
}

.modalpanel .PW .ttlwrap .label {
    margin-top: 1rem;
}

/*--------------------
ターニングポイント*/
.modalpanel .tp .imgwrap {
    width: 12rem;
    margin-right: 2rem;
}

.modalpanel .tp .ttlwrap p span {
    display: block;
    font-size: 1.6rem;
}

.modalpanel .tp .ttlwrap .label {
    margin-right: 1rem;
    margin-top: 0.4rem;
}

.modalpanel .tp .maintxt {
    width: 68rem;
    margin-top: 3.4rem;
    position: relative;
}

.modalpanel .tp .maintxt p {
    margin-bottom: 0;
    letter-spacing: 0.06em;
}

.modalpanel .tp .maintxt p:first-child {
    margin-bottom: 3rem;
}

.modalpanel .tp .maintxt p.L {
}

.modalpanel .tp .maintxt p.L .imgwrap {
    width: 20rem;
    margin-right: 4rem;
}

.modalpanel .tp .imgwrap_2 {
    position: absolute;
    width: 20rem;
    top: 0;
    right: -24rem;
}

/*--------------------
SDGs*/
.modalpanel .sdgs {
}

.modalpanel .sdgs .ttl {
    display: block;
    width: 26.2rem;
    margin: 0 auto 24rem;
}

.modalpanel .sdgs .ttlwrap {
    width: 26rem;
}

.modalpanel .sdgs .ttlwrap .label {
    width: 100%;
    text-align: center;
}

.modalpanel .sdgs .ttlwrap p {
    font-size: 1.6rem;
    line-height: 2em;
}

.modalpanel .sdgs .ttl .logo {
    position: relative;
    z-index: 1;
    width: 11.6rem;
    margin: 1rem auto 0;
}

.modalpanel .sdgs .maintxt {
    position: absolute;
    top: 5.4rem;
    left: 0;
    right: 0;
    width: 92rem;
    margin: 0 auto;
}

.modalpanel .sdgs .maintxt ul {
    display: flex;
    justify-content: space-between;
    flex-flow: row wrap;
    list-style-type: none;
    margin: 0 auto;
    padding: 0;
    gap: 0 32rem;
}

.modalpanel .sdgs .maintxt li {
    width: 30rem;
    margin: 0 0 .7rem;
    padding: 0;
}

.modalpanel .sdgs .maintxt li .txt {
    display: flex;
    padding: .8rem 0 0;
    font-size: 1.2rem;
    line-height: 1.8rem;
}

.modalpanel .sdgs .maintxt li .txt span {
    width: 5rem;
    margin-right: .8rem;
}

.modalpanel .sdgs .maintxt li .txt p {
    width: 24rem;
}

/*--------------------
START～私が選んだ道*/
.modalpanel .Start {
}

.modalpanel .Start .ttl .imgwrap {
    width: 15rem;
    margin-right: 4rem;
}

.modalpanel .Start .ttlwrap .label {
    margin-right: 1rem;
    margin-top: 0.4rem;
}

.modalpanel .Start .maintxt {
    width: 53.4rem;
    margin-top: 3.4rem;
    padding-bottom: 24rem;
    margin-bottom: 3rem;
    position: relative;
}

.modalpanel .Start .maintxt p {
    margin-bottom: 0;
    letter-spacing: 0.06em;
    line-height: 2em;
}

.modalpanel .Start .maintxt p .imgwrap_1 {
    position: absolute;
    width: 36.8rem;
    left: 55rem;
}

.modalpanel .Start .maintxt p .imgwrap_2 {
    position: absolute;
    width: 36.8rem;
    left: 0;
    bottom: 0;
}

/*--------------------
フォトストーリー*/
.modalpanel .PhotoS {
}

.modalpanel .PhotoS .ttlwrap .label {
    margin-right: 1rem;
    margin-top: 0.4rem;
}

.modalpanel .PhotoS .maintxt {
    font-size: 1.8rem;
    margin-top: 3.4rem;
}

.modalpanel .PhotoS .maintxt p {
    margin-bottom: 0;
    letter-spacing: 0.06em;
}

.modalpanel .PhotoS .maintxt p:first-child {
    margin-bottom: 3rem;
}

.modalpanel .PhotoS .maintxt p.L {
}

.modalpanel .PhotoS .maintxt p .imgwrap {
    width: auto;
    margin-right: 2rem;
}

.modalpanel .PhotoS .maintxt p .note {
    color: #000;
}

/*--------------------
ヒューマンストーリー*/
.modalpanel .HumanS {
}

.modalpanel .HumanS .ttlwrap .label {
    margin-right: 1rem;
    margin-top: 0.4rem;
}

.modalpanel .HumanS .ttlwrap .note {
    color: #000;
    font-size: 80%;
}

.modalpanel .HumanS .maintxt {
    margin-top: 3.4rem;
}

.modalpanel .HumanS .maintxt p {
    margin-bottom: 0;
    letter-spacing: 0.06em;
}

.modalpanel .HumanS .maintxt p:first-child {
    margin-bottom: 3rem;
}

.modalpanel .HumanS .maintxt p.L {
}

.modalpanel .HumanS .maintxt p .imgwrap {
    width: auto;
    margin-right: 2rem;
}

/*--------------------
ツボミチャン 漫画*/
.modalpanel .Comic {
}

.modalpanel .Comic .maintxt img {
    width: 50rem;
    margin: 0 auto;
}

.modalpanel .Comic .maintxt picture {
    display: block;
}

/*--------------------
2カラムレイアウト*/
.l_2column {
    padding-right: 41rem;
    position: relative;
}
.l_2column_img {
    right: 0;
    position: absolute;
    width: 37rem;
}
.l_2column_txt {
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    line-break: strict;
    line-height: 1.75;
    margin-top: 1.6em;
}
.l_2column_txt p + p {
    margin-top: 1.6em;
}

.l_2column_img_01 {
    bottom: 24.5rem;
}
.l_2column_img_02 {
    bottom: 0;
}

.modalcont.Story .l_2column_txt {
    line-height: 2;
}

