@charset "utf-8";

body {
    font-family: var(--fontRym);
    font-weight: 400;
    font-style: normal;
    font-optical-sizing: auto;
    font-variant-east-asian: proportional-width;
    text-align:justify;
    font-size: 1rem;
    line-height: 1.6;
    color: #000;
    letter-spacing: .05em;
}

.sp,.tb {display: none;}
.pc,.pc.tb {display: block;}

a,a:link,a:hover,a:visited,a:active {color: inherit;}
a:hover  {transform: translateY(-1px);}
a:active {transform: translateY(1px);}

h1 { font-size:  2.25rem;font-weight: 300;}/*36px*/
h2 { font-size: 1.875rem;font-weight: 300;}/*30px*/
h3 { font-size:   1.5rem;font-weight: 300;}/*24px*/
h4 { font-size:  1.25rem;font-weight: 300;}/*20px*/
h5 { font-size: 1.125rem;font-weight: 300;}/*18px*/
p {font-size:1rem;}/*16px*/
.text_l { font-size: 1.125rem;}/*18px*/
.text_s { font-size: 0.875rem;}/*14px*/
figcaption,.annotation,.ann { font-size: 0.75rem; letter-spacing: 0;}/*12px*/

figure {position:relative;}
figure img {width:100%;}
figure figcaption {position:absolute;}

figure figcaption.lb_cap,figure figcaption.lw_cap {left: 4px;}
figure figcaption.rb_cap,figure figcaption.rw_cap {right:4px;}

figure figcaption.lb_cap,
figure figcaption.rb_cap {
    bottom: 4px;
    color:#000;
    text-shadow: 1px 1px 2px rgba(255, 255, 255, 1),-1px -1px 2px rgba(255, 255, 255, 1);
}
figure figcaption.lw_cap,
figure figcaption.rw_cap {
    bottom: 4px;
    color:#fff;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 1),-1px -1px 2px rgba(0, 0, 0, 1);
}
.flex_center {display: flex;align-items: center;justify-content: center;}
.flex_between{display: flex;align-items: center;justify-content: space-between;}

sup { font-size: 60%; vertical-align: text-top;}
span.Hol { font-size: 70%;}


/* ----------------------- */
/* 1000 */
/* ----------------------- */
@media screen and (max-width: 1000px) {

.tb {display: block;}

h1 { font-size: 3.6vw;font-weight: 500;}/*36px*/
h2 { font-size: 3.0vw;font-weight: 500;}/*30px*/
h3 { font-size: 2.4vw;}/*24px*/
h4 { font-size: 2.0vw;}/*20px*/
h5 { font-size: 1.8vw;}/*18px*/
p {font-size:1.6vw;}/*16px*/
.text_l { font-size: 1.8vw;}/*18px*/
.text_s { font-size: 1.4vw;}/*14px*/
figcaption,.annotation,.ann { font-size: 1.2vw; letter-spacing: 0;}/*12px*/

/* ----------------------- */
/* sp */
/* ----------------------- */
@media screen and (max-width: 767px) {

.tb {display: none;}
.sp,.tb.sp {display: block;}
.pc {display: none;}

h1 { font-size: 7.2vw;font-weight: 500;}/*36px*/
h2 { font-size: 6.0vw;font-weight: 500;}/*30px*/
h3 { font-size: 4.8vw;}/*24px*/
h4 { font-size: 4.0vw;}/*20px*/
h5 { font-size: 3.6vw;}/*18px*/
p {font-size:3.2vw;}/*16px*/
.text_l { font-size: 3.6vw;}/*18px*/
.text_s { font-size: 2.8vw;}/*14px*/
figcaption,.annotation,.ann { font-size: 2.4vw; letter-spacing: 0;}/*12px*/

figure figcaption.lb_cap,
figure figcaption.rb_cap,
figure figcaption.lw_cap,
figure figcaption.rw_cap {
    bottom: 2vw;
}

}
