@charset "UTF-8";
/* =================================
リセット
================================= */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

video {
    width: 100%;
}

ol,
ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption,
th,
td {
  font-weight: normal;
  text-align: left;
  vertical-align: middle;
}

q,
blockquote {
  quotes: none;
}

q::before,
q::after,
blockquote::before,
blockquote::after {
  content: "";
  content: none;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

input[type=text],
textarea {
  -webkit-appearance: none;
  box-sizing: border-box;
  max-width: 100%;
}

html {
  box-sizing: border-box;
}

img {
  vertical-align: bottom;
}

button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  background-color: #fff;
  border: 0;
  cursor: pointer;
  display: inline-block;
  margin: 0 auto;
  outline: none;
  padding: 0;
}

sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  top: -0.5em;
  vertical-align: baseline;
}

/* =================================
共通
================================= */
html {
  font-size: 10px;
  scroll-behavior: smooth;
}

body {
  color: #4c4c4c;
  font-family: "小塚ゴシック Pro", "Kozuka Gothic Pro", "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "MS Pゴシック", "MS PGothic", "Sans-Serif";
  margin: 0;
}

a {
  color: #411c3e;
  overflow-wrap: break-word;
}

a:hover {
  text-decoration: none;
}

img {
  height: auto;
  max-width: 100%;
}

.mt_6 {
  margin-top: 6px;
}

.mt_8 {
  margin-top: 8px;
}

.mt_9 {
  margin-top: 9px;
}

.mt_10 {
  margin-top: 10px;
}

.mt_12 {
  margin-top: 12px;
}

.mt_20 {
  margin-top: 20px;
}

.blurry_img {
  width: 100%;
}

@media print, only screen and (min-width: 768px) {
  .main {
    margin-top: 155px;
  }
  
  .nomenu .main {
    margin-top: 0;
  }

  .sp {
    display: none !important;
  }

  .evtgymlive.nomenu .main {
    margin-top: 110px;
  }
}
@media screen and (max-width: 767px) {
  .main {
    margin-top: 17.1vw;
  }

  .pc {
    display: none !important;
  }
}
@font-face {
  font-family: "Segoe UI";
  src: url("/font/Segoe UI.ttf") format("truetype");
}
@font-face {
  font-family: "Segoe UI Bold";
  src: url("/font/Segoe UI Bold.ttf") format("truetype");
}
@font-face {
  font-family: "ApexSans Bold";
  src: url("/font/ApexSans-Bold.otf") format("opentype");
}
/* =================================
ヘッダー
================================= */
.header {
  position: relative;
}
@media print, only screen and (min-width: 768px) {
  .header {
    background-color: #fff;
    border-bottom: 3px #008d61 solid;
    height: 155px;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100;
  }
}
@media screen and (max-width: 767px) {
  .header {
    background-color: #fff;
    border-bottom: 0.2rem #008d61 solid;
    height: 17.1vw;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100;
  }
}

.nomenu .header {
  position: relative;
}
@media print, only screen and (min-width: 768px) {
  .nomenu .header {
    height: 110px;
  }
}
@media screen and (max-width: 767px) {
  .nomenu .header {
    background-color: #fff;
    border-bottom: 0.2rem #008d61 solid;
    height: 17.1vw;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100;
  }
}

.evtgymlive.nomenu .header {
  position: absolute;
}

/* ロゴ
---------------------------------------------------------- */
.header_logo {
  display: block;
  position: absolute;
}
@media print, only screen and (min-width: 768px) {
  .header_logo {
    left: 43px;
    top: 19px;
  }
  .header_logo .header_logo_img {
    width: 216px;
  }
  .header_logo .header_logo_txt {
    margin: 22px 0 0 19px;
    width: 299px;
  }
}
@media screen and (max-width: 767px) {
  .header_logo {
    left: 2.67vw;
    top: 2.67vw;
  }
  .header_logo .header_logo_img {
    width: 44.8vw;
  }
  .header_logo .header_logo_txt {
    font-size: 0;
    line-height: 0;
    margin: 3.7vw 0 0 4.27vw;
    width: 42.9vw;
  }
}
.header_logo .header_logo_img,
.header_logo .header_logo_txt {
  font-size: 0;
  line-height: 0;
}
.header_logo img {
  width: 100%;
}

/* メッセージ
---------------------------------------------------------- */
.header_message {
  color: #4c4c4c;
  position: absolute;
}
.header_message_name {
  font-weight: bold;
}

@media print, only screen and (min-width: 768px) {
  .header_message {
    bottom: 63px;
    font-size: 1.6rem;
    right: 278px;
    white-space: nowrap;
  }
}
@media screen and (max-width: 900px) {
  .header_message {
    line-height: 1.5;
    right: 260px;
    text-align: right;
  }
  .header_message span {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .header_message {
    font-size: 3.2vw;
    right: 17vw;
    top: 4vw;
  }
}
/* お問い合わせボタンPC
---------------------------------------------------------- */
@media print, only screen and (min-width: 768px) {
  .header_contact {
    position: absolute;
    right: 242px;
    top: 12px;
  }
  .header_contact a {
    background: #008d61 url("/img/common/arw_white.svg") 20px center no-repeat;
    background-size: 5px auto;
    color: #fff;
    display: block;
    font-size: 1.1rem;
    font-weight: bold;
    padding: 3px 20px 3px 33px;
    text-decoration: none;
  }
}
/* リンク
---------------------------------------------------------- */
@media print, only screen and (min-width: 768px) {
  .header_link {
    position: absolute;
    right: 45px;
    top: 15px;
  }
  .header_link a {
    background: url("/img/common/arw_green01.svg") left center no-repeat;
    background-size: 6px auto;
    color: #4c4c4c;
    display: block;
    font-size: 1.2rem;
    font-weight: bold;
    padding-left: 13px;
    text-decoration: none;
  }
  .header_link a:hover {
    text-decoration: underline;
  }
}
@media screen and (max-width: 767px) {
  .header_link {
    display: none;
  }
}
/* spメニュー
---------------------------------------------------------- */
@media print, only screen and (min-width: 768px) {
  .header_menus {
    display: block !important;
  }
  .header_menus .close {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .header_menus {
    background-color: #fff;
    display: none;
    height: calc(100vh - 17.1vw);
    left: 0;
    -webkit-overflow-scrolling: touch;
    overflow-y: scroll;
    position: absolute;
    right: 0;
    top: calc(17.1vw + 0.2rem);
    width: 100%;
    z-index: 10;
  }
  .header_menus .close {
    align-items: center;
    background-color: #b1caa9;
    color: #fff;
    display: flex;
    font-size: 1.4rem;
    font-weight: bold;
    justify-content: center;
    padding: 2rem;
  }
  .header_menus .close::before {
    background: url("/img/common/icon_close01.svg") 0 0 no-repeat;
    background-size: 100% auto;
    content: "";
    display: inline-block;
    height: 1.4rem;
    margin-right: 0.7rem;
    width: 1.4rem;
  }
}
/* ヘッダーナビ
---------------------------------------------------------- */
.nav_header a {
  align-items: center;
  background-repeat: no-repeat;
  color: #4c4c4c;
  display: block;
  display: flex;
  font-weight: bold;
  justify-content: center;
  text-decoration: none;
}
.nav_header a::before {
  background-position: 0 0;
  background-size: 100% center;
  content: "";
  display: inline-block;
}
.nav_header .mypage::before {
  background-image: url("/img/common/icon_mypage01.svg");
}
.nav_header .logout::before {
  background-image: url("/img/common/icon_logout01.svg");
}

@media print, only screen and (min-width: 768px) {
  .nav_header {
    display: flex;
    justify-content: space-between;
    position: absolute;
    right: 26px;
    top: 63px;
  }
  .nav_header li {
    border-left: 1px #b1caa9 solid;
    font-size: 1.1rem;
  }
  .nav_header a {
    padding: 2px 17px;
  }
  .nav_header a::before {
    margin-right: 6px;
  }
  .nav_header a:hover {
    text-decoration: underline;
  }
  .nav_header .mypage::before {
    height: 17px;
    width: 15px;
  }
  .nav_header .logout::before {
    height: 16px;
    width: 21px;
  }
}
@media screen and (max-width: 767px) {
  .nav_header {
    background-color: #f5f5f5;
    display: flex;
    justify-content: space-between;
    margin-left: -0.1rem;
  }
  .nav_header li {
    position: relative;
    text-align: center;
    width: 50%;
  }
  .nav_header li::before {
    background-color: #b1caa9;
    content: "";
    display: block;
    height: 2rem;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 0.1rem;
  }
  .nav_header a {
    font-size: 1.4rem;
    padding: 1.6rem;
  }
  .nav_header a::before {
    background-repeat: no-repeat;
    margin-right: 1.1rem;
  }
  .nav_header a:hover {
    text-decoration: underline;
  }
  .nav_header .mypage::before {
    height: 1.7rem;
    width: 1.5rem;
  }
  .nav_header .logout::before {
    height: 1.6rem;
    width: 2.1rem;
  }
}
/* グローバルナビ
---------------------------------------------------------- */
.nav_global a {
  color: #4c4c4c;
  display: block;
  text-decoration: none;
}

@media print, only screen and (min-width: 768px) {
  .nav_global {
    bottom: 0;
    display: flex;
    justify-content: space-between;
    left: 0;
    margin: 0 auto;
    max-width: 1040px;
    padding: 0 20px;
    position: absolute;
    right: 0;
  }
  .nav_global li {
    flex: 1 0 auto;
  }
  .nav_global a {
    align-items: center;
    display: flex;
    font-size: 1.4rem;
    height: 56px;
    justify-content: center;
    position: relative;
  }
  .nav_global .u-new {
    position: relative;
  }
  .nav_global .u-new::before {
    background: #ffb25b;
    color: #fff;
    content: "NEW!";
    font-size: 1rem;
    font-weight: bold;
    left: 0;
    line-height: 1;
    padding: 3px 8px;
    position: absolute;
    top: 0;
  }
  .nav_global a:hover {
    color: #008d61;
    font-weight: bold;
  }
  .nav_global a:hover::after {
    background-color: #008d61;
    bottom: 0;
    content: "";
    height: 4px;
    left: 20px;
    position: absolute;
    right: 20px;
  }
}
@media screen and (max-width: 767px) {
  .nav_global {
    width: 100%;
  }
  .nav_global li {
    border-top: 1px #707070 solid;
  }
  .nav_global a {
    background: url("/img/common/arw_btn.svg") right 2.4rem center no-repeat;
    background-size: 1rem auto;
    display: block;
    font-size: 1.6rem;
    padding: 2.3rem 4rem 2.3rem 2.4rem;
  }
  .nav_global a:hover {
    text-decoration: underline;
  }
  .nav_global .u-new {
    position: relative;
  }
  .nav_global .u-new::after {
    background: #ffb25b;
    color: #fff;
    content: "NEW!";
    display: inline-block;
    font-size: 1.2rem;
    font-weight: bold;
    left: 0;
    line-height: 1;
    margin-left: 20px;
    padding: 3px 8px;
    position: relative;
  }
}
/* ハンバーガー
---------------------------------------------------------- */
@media print, only screen and (min-width: 768px) {
  .header_hamburger {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .header_hamburger {
    cursor: pointer;
    height: 17.1vw;
    position: absolute;
    right: 0;
    top: 0;
    width: 17.1vw;
    z-index: 100;
  }
  .header_hamburger_lines {
    height: 60%;
    margin: 8% auto 0;
    position: relative;
    width: 45%;
  }
  .header_hamburger_lines > div {
    background-color: #b1caa9;
    height: 0.45vw;
    left: 0;
    position: absolute;
    top: 50%;
    transition: transform 0.3s ease, opacity 0.3s ease;
    width: 100%;
  }
  .header_hamburger_lines > div:first-child {
    transform: translateY(-500%);
  }
  .header_hamburger_lines > div:last-child {
    transform: translateY(500%);
  }
  .header_hamburger_txt {
    color: #4c4c4c;
    margin: 0 auto;
    text-align: center;
    width: 50%;
  }
  .header_hamburger_txt::before {
    content: "MENU";
    font-size: 2.1vw;
    font-weight: bold;
  }

  .menu-open .header_hamburger_lines > div:first-child {
    transform: rotate(225deg);
  }
  .menu-open .header_hamburger_lines > div:nth-child(2) {
    opacity: 0;
    transform: translateX(-50%);
  }
  .menu-open .header_hamburger_lines > div:last-child {
    transform: rotate(-225deg);
  }
  .menu-open .header_hamburger_txt::before {
    content: "閉じる";
  }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .nav_global {
    left: 130px;
  }
}
/* =================================
フッター
================================= */
.footer .nav_footer {
  display: flex;
  justify-content: space-between;
}
.footer .nav_footer a {
  color: #4c4c4c;
  text-decoration: none;
}

@media print, only screen and (min-width: 768px) {
  .footer {
    border-top: 2px #008d61 solid;
    padding: 13px 20px;
  }
  .footer .footer_in {
    display: flex;
    font-size: 1rem;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1000px;
  }
  .footer .nav_footer li {
    margin-right: 30px;
  }
  .footer .nav_footer a:hover {
    text-decoration: underline;
  }
}
@media screen and (max-width: 767px) {
  .footer {
    border-top: 0.2rem #008d61 solid;
  }
  .footer .footer_in {
    font-size: 1rem;
  }
  .footer .nav_footer {
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto;
    padding: 2.5rem 1rem;
    width: 20em;
  }
  .footer .nav_footer li {
    margin: 0 0.7rem;
    margin-top: 1.8rem;
    width: calc(50% - 1.5rem);
  }
  .footer .nav_footer li:first-child, .footer .nav_footer li:nth-child(2) {
    margin-top: 0;
  }
  .footer .footer_copy {
    border-top: 0.1rem #ccc solid;
    padding: 1.2rem 1rem;
    text-align: center;
  }
}
/* =================================
サイドバー
================================= */
@media print, only screen and (min-width: 768px) {
  .sidebar {
    width: 224px;
  }
  .sidebar_left {
    order: -1;
  }
}
/* サイドナビ
---------------------------------------------------------- */
.sidebar_nav .ttl {
  background-color: #411c3e;
  color: #fff;
  font-weight: bold;
}
.sidebar_nav .nav_side li {
  border-bottom: 1px #ccc solid;
}
.sidebar_nav .nav_side li a {
  align-items: center;
  background: #fff url("/img/common/arw01.svg") right 12px center no-repeat;
  background-size: 8px auto;
  color: #411c3e;
  display: flex;
  font-weight: bold;
  line-height: 1.2;
  text-decoration: none;
}
.sidebar_nav .nav_side li .active {
  background-color: #411c3e !important;
  border-top: 1px #fff solid;
  color: #fff;
}

@media print, only screen and (min-width: 768px) {
  .sidebar_nav .ttl {
    padding: 7px 12px;
  }
  .sidebar_nav .nav_side {
    margin-bottom: 45px;
  }
  .sidebar_nav .nav_side li a {
    font-size: 14px;
    min-height: 65px;
    padding: 5px 35px 5px 12px;
  }
  .sidebar_nav .nav_side li a:hover {
    background-color: #f5f5f5;
    background-position: right 6px center;
  }
  .sidebar_nav .nav_side .current a {
    background-color: #f5f5f5;
  }
}
@media screen and (max-width: 767px) {
  .sidebar_nav .ttl {
    font-size: 1.3rem;
    padding: 0.7rem 1rem;
  }
  .sidebar_nav .nav_side {
    margin-bottom: 4rem;
  }
  .sidebar_nav .nav_side li a {
    background-position: right 1rem center;
    background-size: 0.6rem auto;
    font-size: 1.3rem;
    padding: 1.5rem 0.5rem;
  }
}
/* 閲覧ランキング
---------------------------------------------------------- */
.sidebar_ranking > .ttl {
  color: #411c3e;
  font-weight: bold;
}
.sidebar_ranking .list {
  color: #411c3e;
  font-weight: bold;
}
.sidebar_ranking .list .ttl {
  font-weight: bold;
  line-height: 1.2;
}
.sidebar_ranking .list .txt {
  color: #4c4c4c;
  line-height: 1.4;
}
.sidebar_ranking .list .num {
  color: #4c4c4c;
  font-weight: bold;
}
.sidebar_ranking .list li {
  border-bottom: 1px #ccc solid;
}
.sidebar_ranking .list li a {
  align-items: center;
  display: flex;
  text-decoration: none;
}
.sidebar_ranking .list li:first-child a {
  display: block;
  position: relative;
}
.sidebar_ranking .list li:first-child a .num {
  background-color: #411c3e;
  color: #fff;
  left: 0;
  position: absolute;
  top: 0;
  width: auto;
}

@media print, only screen and (min-width: 768px) {
  .sidebar_ranking > .ttl {
    margin-bottom: 8px;
  }
  .sidebar_ranking .list {
    margin-bottom: 44px;
  }
  .sidebar_ranking .list .ttl {
    font-size: 14px;
    width: calc(100% - 30px);
  }
  .sidebar_ranking .list .txt {
    font-size: 12px;
  }
  .sidebar_ranking .list .num {
    font-size: 16px;
    width: 30px;
  }
  .sidebar_ranking .list li a {
    padding: 16px 8px;
  }
  .sidebar_ranking .list li:hover .txts, .sidebar_ranking .list li:hover .ttl {
    text-decoration: underline;
  }
  .sidebar_ranking .list li:first-child a {
    padding: 0 0 17px;
  }
  .sidebar_ranking .list li:first-child a .num {
    padding: 2px 8px 0;
  }
  .sidebar_ranking .list li:first-child a .ttl {
    margin: 6px 0 7px;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .sidebar_ranking > .ttl {
    border-bottom: 1px #4c4c4c solid;
    font-size: 2.2rem;
    padding-bottom: 0.2rem;
  }
  .sidebar_ranking .list {
    margin-bottom: 4rem;
  }
  .sidebar_ranking .list .ttl {
    font-size: 1.3rem;
    width: calc(100% - 3.9rem);
  }
  .sidebar_ranking .list .txt {
    font-size: 1rem;
    width: calc(100% - 3rem);
  }
  .sidebar_ranking .list .num {
    font-size: 1.7rem;
    width: 3rem;
  }
  .sidebar_ranking .list li a {
    padding: 1.1rem 0.7rem;
  }
  .sidebar_ranking .list li:first-child a {
    display: flex;
    justify-content: space-between;
    padding: 1.7rem 0;
  }
  .sidebar_ranking .list li:first-child a img {
    width: 12rem;
  }
  .sidebar_ranking .list li:first-child a .num {
    font-size: 1.4rem;
    padding: 0 0.6rem;
    top: 1.7rem;
  }
  .sidebar_ranking .list li:first-child a .txts {
    width: calc(100% - 13rem);
  }
  .sidebar_ranking .list li:first-child a .ttl {
    margin-bottom: 0.5rem;
    width: 100%;
  }
}
/* バナー
---------------------------------------------------------- */
@media print, only screen and (min-width: 768px) {
  .sidebar_banner {
    margin-bottom: 44px;
  }
  .sidebar_banner li {
    margin-bottom: 12px;
  }
}
@media screen and (max-width: 767px) {
  .sidebar_banner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 4rem;
  }
  .sidebar_banner li {
    margin-bottom: 1rem;
    width: calc(50% - 0.5rem);
  }
  .sidebar_banner li img {
    height: auto;
    width: 100%;
  }
}

/* R2P症例数
---------------------------------------------------------- */
.sidebar_cases {
  background-color: #fff;
  border: 1px #eee solid;
  color: #411c3e;
}
.sidebar_cases .bold {
  font-weight: bold;
}
.sidebar_cases .large {
  font-weight: bold;
}
.sidebar_cases .num {
  font-weight: bold;
}

@media print, only screen and (min-width: 768px) {
  .sidebar_cases {
    font-size: 14px;
    margin-bottom: 40px;
    padding: 15px 14px;
    text-align: center;
  }
  .sidebar_cases .large {
    font-size: 20px;
  }
  .sidebar_cases .num {
    font-size: 30px;
    margin-top: 10px;
  }
  .sidebar_cases img {
    margin-top: 13px;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .sidebar_cases {
    align-items: flex-start;
    display: flex;
    font-size: 1.4rem;
    justify-content: space-between;
    margin-bottom: 4rem;
    padding: 1.1rem 0.5rem 1.1rem 1.1rem;
  }
  .sidebar_cases .large {
    font-size: 2rem;
  }
  .sidebar_cases .num {
    font-size: 3.4rem;
    line-height: 1.3;
    margin-top: 0.5rem;
  }
  .sidebar_cases .txts {
    width: calc(62% - 1.5rem);
  }
  .sidebar_cases img {
    height: auto;
    order: -1;
    width: 38%;
  }
}
.ttl_mb {
  margin-bottom: 10px;
}

/* =================================
パンくず
================================= */
.bread {
  background-color: #f5f5f5;
}
.bread ul {
  display: flex;
  margin: 0 auto;
}
.bread li {
  font-size: 1rem;
}
.bread li a {
  background: url("/img/common/arw_bread01.svg") right center no-repeat;
  background-size: 4px auto;
  color: #4c4c4c;
}

@media print, only screen and (min-width: 768px) {
  .bread {
    padding: 9px 20px;
  }
  .bread ul {
    max-width: 1000px;
  }
  .bread li a {
    margin-right: 13px;
    padding-right: 17px;
  }
}
@media screen and (max-width: 767px) {
  .bread {
    padding: 0.8rem 1rem;
  }
  .bread li a {
    margin-right: 0.8rem;
    padding-right: 1.3rem;
  }
}
/* =================================
全体レイアウトその他
================================= */
.wrapper {
  background: url("/img/common/bg_wpr_top01.png") 0 0 no-repeat, url("/img/common/bg_wpr_btm01.png") right bottom no-repeat;
}
@media print, only screen and (min-width: 768px) {
  .wrapper {
    background-size: 920px auto;
    font-size: 1.6rem;
    line-height: 1.6;
    padding: 65px 20px 150px;
  }
}
@media screen and (max-width: 767px) {
  .wrapper {
    background-size: 100% auto;
    font-size: 1.6rem;
    line-height: 1.6;
    padding: 3rem 1rem 8rem;
  }
}

@media print, only screen and (min-width: 768px) {
  /* 1カラム */
  .contents {
    margin: 0 auto;
    max-width: 1000px;
  }

  /* 2カラム */
  .container {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1000px;
    /* サイドバーがトップでは右、下層ページでは左になる */
  }
  .container .contents {
    margin: 0;
    width: calc(100% - 268px);
  }
  .container .contents_home {
    width: calc(100% - 254px);
  }
  .container .side {
    width: 225px;
  }
  .container .side_left {
    order: -1;
  }
}
@media screen and (max-width: 767px) {
  .container .contents {
    padding-bottom: 50px;
  }
}
sub {
  bottom: -0.5em;
  position: relative;
}

/* =================================
Form
================================= */
.area_form {
  line-height: 1.6;
  margin: 0 auto;
  max-width: 728px;
  /* 入力項目
  ---------------------------------------------------------- */
}
.area_form input[type=text],
.area_form input[type=password] {
  background: none;
  border: 0;
  border-radius: 0;
  outline: none;
  padding: 0;
}
.area_form textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: 0;
  outline: none;
  padding: 0;
  resize: none;
  width: 100%;
}
.area_form input[type=text],
.area_form input[type=password],
.area_form textarea {
  background-color: #f5f5f5;
  border: 1px #ccc solid;
  padding: 0.6em 0.8em;
}
.area_form .input_long {
  width: 100%;
}

@media print, only screen and (min-width: 768px) {
  .area_form .input_name {
    width: 33%;
  }
  .area_form textarea {
    height: 128px;
  }
}
@media screen and (max-width: 767px) {
  .area_form input[type=text],
.area_form input[type=password],
.area_form textarea {
    font-size: 1.6rem;
  }
  .area_form .input_name {
    width: 30%;
  }
  .area_form textarea {
    height: 10rem;
  }
}
/* 現在のページ表示
---------------------------------------------------------- */
.form_steps {
  display: flex;
  justify-content: space-between;
}
@media print, only screen and (min-width: 768px) {
  .form_steps {
    margin: 70px 0 20px;
  }
  .form_steps li {
    font-size: 15px;
    padding: 15px 20px;
    width: calc((100% / 3) - 10px);
  }
}
@media screen and (max-width: 767px) {
  .form_steps {
    margin: 2rem 0;
  }
  .form_steps li {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    font-size: 1.4rem;
    padding: 1.5rem 2.5rem 1.5rem 1.5rem;
    width: calc((100% / 3) - 0.5rem);
  }
}
.form_steps li {
  background-color: #fff;
  box-shadow: inset 0 0 1px 1px #411c3e;
  box-sizing: border-box;
  color: #411c3e;
  font-weight: bold;
  overflow: hidden;
  position: relative;
}
.form_steps li::after, .form_steps li::before {
  background-color: #fff;
  border: 1px #411c3e solid;
  content: "";
  height: 200px;
  left: calc(100% - 0.5px);
  position: absolute;
  width: 200px;
}
.form_steps li::after {
  bottom: 50%;
  transform: rotate(-33deg);
  transform-origin: left bottom;
}
.form_steps li::before {
  top: 50%;
  transform: rotate(33deg);
  transform-origin: left top;
}
.form_steps li:last-child::after, .form_steps li:last-child::before {
  content: none;
}
.form_steps .current {
  background-color: #411c3e;
  color: #fff;
}

/* テーブル
---------------------------------------------------------- */
.table_form {
  background-color: #fff;
  border-bottom: 1px #ccc solid;
  border-top: 1px #ccc solid;
  line-height: 1.7;
  width: 100%;
}
@media print, only screen and (min-width: 768px) {
  .table_form {
    margin-top: 37px;
  }
  .table_form th,
.table_form td {
    padding: 15px 16px;
  }
  .table_form th {
    width: 246px;
  }
}
@media screen and (max-width: 767px) {
  .table_form {
    border-bottom: 1px #ccc solid;
    border-top: 0;
    margin-top: 2rem;
  }
  .table_form th,
.table_form td {
    display: block;
    font-size: 1.6rem;
    width: 100%;
  }
  .table_form td {
    padding: 1.4rem 0;
  }
  .table_form th {
    padding: 0.7rem 1.2rem 0.7rem 1.5rem;
  }
}
.table_form th,
.table_form td {
  box-sizing: border-box;
  vertical-align: top;
}
.table_form th {
  background-color: #b1caa9;
  border-top: 1px #fff solid;
  font-weight: bold;
  position: relative;
}
.table_form td {
  border-top: 1px #ccc solid;
}
.table_form tr:first-child th,
.table_form tr:first-child td {
  border-top: 0;
}

/* 必須
---------------------------------------------------------- */
.form_required {
  background-color: #411c3e;
  color: #fff;
  position: absolute;
}
@media print, only screen and (min-width: 768px) {
  .form_required {
    font-size: 10px;
    padding: 2px 9px;
    right: 16px;
    top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .form_required {
    font-size: 1rem;
    padding: 0.2rem 1rem;
    right: 1rem;
    top: 1rem;
  }
}

@media print, only screen and (min-width: 768px) {
  .table_form_pad th,
.table_form_pad td {
    padding: 37px 16px;
  }
}
@media print, only screen and (min-width: 768px) {
  .table_form_pad .form_required {
    top: 39px;
  }
}

/* 注意書き・エラー表示
---------------------------------------------------------- */
.form_error {
  color: #f20303;
  display: block;
}
.form_error:last-child {
  margin-bottom: -6px;
}

.form_note,
.form_error {
  padding-left: 1em;
  position: relative;
}
.form_note::before,
.form_error::before {
  content: "※";
  left: 0;
  position: absolute;
}

@media print, only screen and (min-width: 768px) {
  .form_note,
.form_error {
    font-size: 12px;
    margin: 10px 0;
  }
}
@media screen and (max-width: 767px) {
  .form_note {
    display: block;
    line-height: 1.5;
  }
  .form_note:last-child {
    margin-bottom: -6px;
  }

  .form_note,
.form_error {
    font-size: 1.2rem;
    margin: 0.5rem 0 0.9rem;
  }
}
/* テキスト
---------------------------------------------------------- */
@media print, only screen and (min-width: 768px) {
  .form_txt {
    margin: 0 5px 0 32px;
  }
  .form_txt:first-child {
    margin-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .form_txt {
    margin: 0 0.4rem 0 2rem;
  }
  .form_txt:first-child {
    margin-left: 1rem;
  }
}
/* メルマガチェックテキスト
---------------------------------------------------------- */
.form_maga_txt {
  font-size: 15px;
  margin-bottom: 0.5em;
}

/* 完了画面タイトル
---------------------------------------------------------- */
.form_message_ttl {
  color: #411c3e;
  font-weight: bold;
}
@media print, only screen and (min-width: 768px) {
  .form_message_ttl {
    font-size: 26px;
    margin: -5px 0 13px;
  }
}
@media screen and (max-width: 767px) {
  .form_message_ttl {
    font-size: 2.2rem;
    margin-bottom: 1rem;
  }
}

/* 完了画面お問い合わせ先
---------------------------------------------------------- */
.form_info {
  border: 1px #ccc solid;
}
@media print, only screen and (min-width: 768px) {
  .form_info {
    margin-top: 33px;
    padding: 17px 15px 35px;
  }
}
@media screen and (max-width: 767px) {
  .form_info {
    margin-top: 3rem;
    padding: 1.5rem 2rem;
  }
}
.form_info .form_info_ttl {
  font-weight: bold;
}

/* ボタン
---------------------------------------------------------- */
.form_btns {
  text-align: center;
}
@media print, only screen and (min-width: 768px) {
  .form_btns {
    margin: 50px auto 0;
    max-width: 360px;
  }
}
@media screen and (max-width: 767px) {
  .form_btns {
    margin-top: 4rem;
  }
}
.form_btns > * {
  display: block;
}
.form_btns .form_btn_reset {
  border: 1px #ccc solid;
  color: #4c4c4c;
  display: inline-block;
  font-size: 1.4rem;
  margin-top: 2em;
  padding: 0.3em 0.6em;
  text-decoration: none;
}

/* ラジオボタン
---------------------------------------------------------- */
@media print, only screen and (min-width: 768px) {
  input[type=radio] {
    margin-left: 30px;
  }
}
@media screen and (max-width: 767px) {
  input[type=radio] {
    margin-left: 1rem;
  }
}
input[type=radio]:first-child {
  margin-left: 0;
}

/* 注意書き
---------------------------------------------------------- */
.term_domain {
  border: 1px #f00 solid;
  color: #f00;
  display: inline-block;
  font-size: 14px;
  margin-top: 20px;
  padding: 15px;
}
.term_domain span {
  font-size: 24px;
}

/* エラー
---------------------------------------------------------- */
.error {
  color: #f00;
}

/* =================================
モーダル
================================= */
.lity-container {
  position: relative;
}
.lity-container .lity-close {
  background: url("/img/common/close01.svg") center center no-repeat;
  position: absolute;
  text-indent: -9999px;
}
.lity-container .lity-close:hover {
  background: url("/img/common/close01.svg") center center no-repeat;
}

@media print, only screen and (min-width: 768px) {
  .lity-container .lity-close {
    background-size: 32px auto;
    right: 15px;
    top: -50px;
  }
  .lity-container .lity-close:hover {
    background-size: 32px auto;
    right: 15px;
    top: -50px;
  }
}
@media screen and (max-width: 767px) {
  .lity-container .lity-close {
    background-size: 2.2rem auto;
    right: 0.8rem;
    top: -3.5rem;
  }
  .lity-container .lity-close:hover {
    background-size: 2.2rem auto;
    right: 0.8rem;
    top: -3.5rem;
  }
}
/* =================================
見出し
================================= */
/* メインタイトル
---------------------------------------------------------- */
.ttl_main {
  color: #411c3e;
  font-weight: bold;
  margin: 0 auto;
}
@media print, only screen and (min-width: 768px) {
  .ttl_main {
    font-size: 3.2rem;
    max-width: 1000px;
    padding: 15px 20px;
  }
}
@media screen and (max-width: 767px) {
  .ttl_main {
    font-size: 2.6rem;
    padding: 1rem;
    text-align: center;
  }
}

/* 帯付きタイトル
---------------------------------------------------------- */
.ttl_belt {
  background-color: #f5f5f5;
  color: #411c3e;
  font-weight: bold;
}
@media print, only screen and (min-width: 768px) {
  .ttl_belt {
    border-left: 6px #411c3e solid;
    font-size: 2.6rem;
    margin-bottom: 27px;
    padding: 10px 16px;
  }
}
@media screen and (max-width: 767px) {
  .ttl_belt {
    border-left: 0.5rem #411c3e solid;
    font-size: 2rem;
    margin-bottom: 2.5rem;
    padding: 0.9rem 1.2rem;
  }
}

/* 下線付きタイトル
---------------------------------------------------------- */
.ttl_underline {
  align-items: baseline;
  border-bottom: 1px #411c3e solid;
  color: #411c3e;
  display: flex;
  font-weight: bold;
  justify-content: space-between;
  line-height: 1.2;
}
.ttl_underline a {
  background: #fff url("/img/common/arw01.svg") left center no-repeat;
  text-decoration: none;
}
@media print, only screen and (min-width: 768px) {
  .ttl_underline {
    font-size: 2.4rem;
    margin: 50px 0 20px;
    padding-bottom: 8px;
  }
  .ttl_underline a {
    background-size: 5px auto;
    font-size: 12px;
    padding-left: 13px;
  }
  .ttl_underline a:hover {
    text-decoration: underline;
  }
}
@media screen and (max-width: 767px) {
  .ttl_underline {
    font-size: 2rem;
    margin: 4rem 0 1.3rem;
    padding-bottom: 0.9rem;
  }
  .ttl_underline a {
    background-size: 0.5rem auto;
    font-size: 1.2rem;
    padding-left: 1.2rem;
  }
}

/* =================================
ボタン
================================= */
/* デフォルト、薄いボタン
---------------------------------------------------------- */
.btn_default,
.btn_light {
  box-sizing: border-box;
  cursor: pointer;
  display: block;
  text-align: center;
  text-decoration: none;
  width: 100%;
}
.btn_default a,
.btn_light a {
  color: #411c3e;
  display: block;
  text-decoration: none;
}
@media print, only screen and (min-width: 768px) {
  .btn_default,
.btn_light {
    background-size: 10px auto;
    font-size: 1.6rem;
    padding: 19px 35px;
  }
}
@media screen and (max-width: 767px) {
  .btn_default,
.btn_light {
    background-position: right 1.3rem center;
    background-size: 0.6rem auto;
    font-size: 1.6rem;
    padding: 1.4rem 2.2rem;
  }
}

/* デフォルト
---------------------------------------------------------- */
.btn_default {
  background: url("/img/common/arw01.svg") right 17px center no-repeat, url("/img/common/arw01_on.svg") -9999px 0 no-repeat;
  background-color: #fff;
  border: 1px #411c3e solid;
  color: #411c3e;
  font-weight: bold;
}
@media print, only screen and (min-width: 768px) {
  .btn_default:hover {
    background-color: #411c3e;
    background-position: -9999px 0, right 10px center;
    color: #fff;
  }
  .btn_default:hover a {
    color: #fff;
  }
}

.btn_default.btn_fill {
  background-color: #411c3e;
  background-position: -9999px 0, right 17px center;
  color: #fff;
}
.btn_default.btn_fill:hover {
  background-position: -9999px 0, right 10px center;
}

/* 薄いボタン
---------------------------------------------------------- */
.btn_light {
  background: #fff url("/img/common/arw_light01.svg") right 17px center no-repeat;
  border: 1px #ccc solid;
  color: #ccc;
  font-weight: normal;
}

/* ボタンアイコン
---------------------------------------------------------- */
.btn_icon {
  align-items: center;
  display: flex;
  font-size: 1.2rem;
  justify-content: center;
  text-decoration: none;
}
.btn_icon:hover {
  text-decoration: none;
}
.btn_icon span {
  line-height: 1.2rem;
  margin-left: 10.4px;
}

/* 水平並び
---------------------------------------------------------- */
.btns_horizonal {
  display: flex;
  justify-content: center;
  margin: 0 auto;
}
.btns_horizonal > * {
  max-width: 360px;
}
.btns_horizonal > *:last-child {
  margin-right: 0;
}
.btns_horizonal > *:first-child {
  margin-left: 0;
}
@media print, only screen and (min-width: 768px) {
  .btns_horizonal {
    margin: 100px auto 0;
  }
  .btns_horizonal > * {
    margin: 0 8px;
  }
}
@media screen and (max-width: 767px) {
  .btns_horizonal {
    margin: 4.5rem auto 0;
  }
  .btns_horizonal > * {
    display: block;
    margin: 0 0.5rem;
    width: calc(50% - 0.6rem);
  }
}

/* ログインボタン
---------------------------------------------------------- */
@media print, only screen and (min-width: 768px) {
  .login_btns {
    margin-bottom: 15px;
    width: 448px;
  }
}
@media screen and (max-width: 767px) {
  .login_btns {
    margin-bottom: 2.2rem;
    width: 100%;
  }
}

/* ボタンの詳細
------------------------------------------------------------*/
.btn_detail {
  background-color: #411c3e;
  border: 1px solid #411c3e;
  color: #fff;
  padding: 10px;
}

.btn_detail:hover {
  background-color: #fff;
  color: #411c3e !important;
}
.btn_detail:hover .angle_right {
  background: url("/img/icon/angle-right-hover.svg") center center no-repeat;
}

/* ボタンセンター
---------------------------------------------------------- */
.btn_center {
  text-align: center;
}
@media print, only screen and (min-width: 768px) {
  .btn_center {
    margin: 50px auto 0;
    max-width: 360px;
  }
}
@media screen and (max-width: 767px) {
  .btn_center {
    margin-top: 4rem;
  }
}

/* アーカイブボタン
---------------------------------------------------------- */
@media print, only screen and (min-width: 768px) {
  .btn_archive {
    background-size: 10px auto;
    font-size: 14px;
    padding: 53px 35px;
    width: calc(50% - 13px);
  }
}
@media screen and (max-width: 767px) {
  .btn_archive {
    display: none;
  }
}
/* btn group - voice posts
---------------------------------------------------------- */
.btn_group {
  margin: 50px auto 0;
}
.btn_group_flex {
  align-items: center;
  display: flex;
  font-size: 1.2rem;
  justify-content: space-between;
}
.btn_group_item {
  font-weight: bold;
  text-decoration: none;
}
@media print, only screen and (min-width: 768px) {
  .btn_group_item {
    background-size: 10px auto;
    font-size: 1.6rem;
    padding: 10px 25px;
  }
}
@media screen and (max-width: 767px) {
  .btn_group_item {
    background-position: right 1.3rem center;
    background-size: 0.6rem auto;
    font-size: 1.6rem;
    padding: 1rem 2.5rem;
  }
}
.btn_group_item.u-list {
  text-decoration: underline;
  transition: all 0.2s ease-in-out 0s;
}
.btn_group_item.u-list:hover {
  opacity: 0.7;
}
.btn_group_item.u-prev, .btn_group_item.u-next {
  background: #411c3e;
  border: 1px #411c3e solid;
  border-radius: 5px;
  color: #fff;
  transition: all 0.2s ease-in-out 0s;
}
.btn_group_item.u-prev:hover, .btn_group_item.u-next:hover {
  background: #fff;
  border: 1px #411c3e solid;
  color: #411c3e;
}

/**
 * angle left icon
 */
.angle_right {
  background: url("/img/icon/angle-right.svg") center center no-repeat;
  background-size: 10px;
  height: 10px;
  width: 10px;
}

/**
 * .modalAuth
 */
.modalAuth {
  text-align: center;
}
.modalAuth .modalAuth_inner {
  margin: 0 auto;
  position: absolute;
  width: 100%;
}
.modalAuth .modalAuth_txt {
  color: #fff;
  font-weight: 700;
  text-align: center;
}
.modalAuth .modalAuth_btnItem {
  align-items: center;
  background: #fff;
  box-sizing: border-box;
  color: #4c4c4c;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  font-weight: 700;
  justify-content: center;
  text-decoration: none;
  vertical-align: middle;
}
.modalAuth .modalAuth_btnItem:last-child {
  background: #008d61;
  color: #fff;
}
.modalAuth .modalAuth_btnItemFigure img {
  vertical-align: top;
  width: 100%;
}
@media print, only screen and (min-width: 768px) {
  .modalAuth .modalAuth_inner {
    top: 410px;
  }
  .modalAuth .modalAuth_txt {
    font-size: 24px;
  }
  .modalAuth .modalAuth_btnCont {
    align-items: center;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    margin-top: 60px;
  }
  .modalAuth .modalAuth_btnItem {
    font-size: 16px;
    font-weight: 700;
    min-width: 180px;
    padding: 5px 10px;
    transition: all 0.2s ease-in-out 0s;
  }
  .modalAuth .modalAuth_btnItem:last-child {
    margin-left: 56px;
  }
  .modalAuth .modalAuth_btnItem:hover {
    opacity: 0.6;
  }
  .modalAuth .modalAuth_btnItemFigure {
    margin-right: 9px;
    max-height: 16px;
  }
}
@media screen and (max-width: 767px) {
  .modalAuth {
    box-sizing: border-box;
  }
  .modalAuth .modalAuth_inner {
    box-sizing: border-box;
    padding: 0 2rem;
    top: 18rem;
  }
  .modalAuth .modalAuth_txt {
    font-size: 2rem;
    line-height: 1.6;
    margin-bottom: 5rem;
  }
  .modalAuth .modalAuth_btnItem {
    font-size: 1.8rem;
    margin: 0 auto 2rem;
    max-width: 20rem;
    padding: 1rem;
  }
  .modalAuth .modalAuth_btnItemFigure {
    margin-right: 0.9rem;
    max-height: 1.4rem;
  }
}

/* =================================
トップページ
================================= */
/* スライド
---------------------------------------------------------- */
.hero_home {
  position: relative;
  width: 100%;
}
.hero_home img {
  width: 100%;
}
.hero_home .hero_home_item {
  position: relative;
  width: 100%;
}
.hero_home .slick-dots {
  display: block;
  height: auto;
  left: 50%;
  position: absolute;
  text-align: center;
  transform: translateX(-50%);
  width: 100%;
}
.hero_home .slick-dots li {
  background-color: #fff;
  border: 1px #411c3e solid;
  border-radius: 50%;
  cursor: pointer;
  display: inline-block;
  opacity: 1;
  text-indent: -9999px;
  vertical-align: middle;
}
.hero_home .slick-dots .slick-active {
  background-color: #411c3e;
}
.hero_home .txts {
  box-sizing: border-box;
  color: #411c3e;
  position: absolute;
}
.hero_home .ttl {
  font-weight: bold;
  line-height: 1.2;
}
.hero_home .sub {
  font-weight: bold;
  line-height: 1.3;
}
.hero_home .name {
  display: block;
  line-height: 1.3;
}
.hero_home .name .bold {
  font-weight: bold;
}
.hero_home .icon {
  color: #fff;
  display: inline-block;
  font-family: "Segoe UI Bold", "小塚ゴシック Pro", "Kozuka Gothic Pro", "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "MS Pゴシック", "MS PGothic", "Sans-Serif";
  font-weight: bold;
  text-align: center;
}
.hero_home .icon_01 {
  background-color: #69c5b3;
}
.hero_home .icon_02 {
  background-color: #ffb25b;
}
.hero_home .btn_case_study {
  background-color: #69c5b3;
}
.hero_home .icon_03 {
  background-color: #9edae6;
}
.hero_home .icon_04 {
  background-color: #411c3e;
}
.hero_home .ttl.ttllogo-misago {
  margin-top: 1.5vw;
  width: 48vw;
}
.hero_home .ttl.ttllogo-misago img {
  max-width: 347px;
  width: 100%;
}
.hero_home .ttl.ttllogo-misago + .ttl {
  margin-top: 0.5vw;
}

@media print, only screen and (min-width: 768px) {
  .hero_home .slick-dots {
    bottom: 1.8vw;
  }
  .hero_home .slick-dots li {
    height: 0.9vw;
    margin: 0 0.4vw;
    width: 0.9vw;
  }
  .hero_home .slick-prev,
.hero_home .slick-next {
    background: transparent;
    border: 0;
    color: transparent;
    cursor: pointer;
    display: block;
    height: 5.3vw;
    outline: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1.6vw;
    z-index: 1;
  }
  .hero_home .slick-prev {
    background: url("/img/top/arw_slide_prev01.svg") 0 0 no-repeat;
    background-size: 100% auto;
    left: 3.5vw;
  }
  .hero_home .slick-next {
    background: url("/img/top/arw_slide_next01.svg") 0 0 no-repeat;
    background-size: 100% auto;
    right: 3.5vw;
  }
  .hero_home .txts {
    left: 14.2vw;
    top: 5.6vw;
  }
  .hero_home .ttl {
    font-size: 3.4vw;
    margin-top: 0.9vw;
  }
  .hero_home .sub {
    font-size: 2.1vw;
  }
  .hero_home .icon {
    font-size: 0.8vw;
    padding: 0.22vw 0.66vw;
  }
  .hero_home .txt {
    font-size: 1.1vw;
    margin-top: 1.6vw;
  }
  .hero_home .txt.evt {
    margin-top: 1vw;
  }
  .hero_home .name {
    font-size: 0.96vw;
    line-height: 1.3;
    margin-bottom: 4vw;
  }
  .hero_home .name .bold {
    font-size: 1.8vw;
  }
  .hero_home .name.evt {
    margin-bottom: 1vw;
  }
  .hero_home .btn {
    background-position: right 1.17vw center, -9999px 0;
    background-size: 0.59vw auto;
    display: inline-block;
    font-size: 1.18vw;
    padding: 0.9vw 1.9vw;
    width: 16.2vw;
  }
  .hero_home .btn:hover {
    background-position: -9999px 0, right 0.8vw center;
  }
}
@media screen and (max-width: 767px) {
  .hero_home .slick-dots {
    bottom: 1.8vw;
  }
  .hero_home .slick-dots li {
    height: 2.2vw;
    margin: 0 0.94vw;
    width: 2.2vw;
  }
  .hero_home .slick-prev,
.hero_home .slick-next {
    display: none !important;
  }
  .hero_home .txts {
    left: 3.74vw;
    top: 4vw;
  }
  .hero_home .ttl {
    font-size: 5.4vw;
    margin-top: 0.9vw;
  }
  .hero_home .sub {
    font-size: 3.5vw;
  }
  .hero_home .icon {
    font-size: 2.2vw;
    padding: 0.22vw 1.5vw;
  }
  .hero_home .txt {
    font-size: 2.7vw;
    margin-top: 2vw;
  }
  .hero_home .name {
    font-size: 1.6vw;
    line-height: 1.3;
    margin-bottom: 4vw;
  }
  .hero_home .name .bold {
    font-size: 3.2vw;
  }
  .hero_home .btn {
    display: none;
  }
}
/* おすすめコンテンツ
---------------------------------------------------------- */
.area_featured {
  background-color: #fff;
  box-shadow: 1px 1px 10px rgba(177, 202, 169, 0.5);
}
.area_featured .area_featured_ttl {
  background-color: #411c3e;
  color: #fff;
  font-weight: bold;
}
.area_featured .mod_featured_pics {
  display: flex;
  flex-wrap: wrap;
}
.area_featured .mod_featured_pics .small_item {
  margin-left: 16px;
}
.area_featured .mod_featured_pics .small_item:nth-of-type(3n) {
  margin-left: 0;
}
.area_featured a {
  display: block;
  text-decoration: none;
}
.area_featured .ttl {
  color: #411c3e;
  font-weight: bold;
  line-height: 1.2;
}
.area_featured .txt {
  color: #4c4c4c;
  line-height: 1.3;
  position: relative;
}
.area_featured .mod_featured_posts a {
  align-items: flex-start;
  border-top: 1px #ccc solid;
  display: flex;
  justify-content: space-between;
}
.area_featured .icon {
  color: #fff;
  display: inline-block;
  font-family: "Segoe UI Bold", "小塚ゴシック Pro", "Kozuka Gothic Pro", "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "MS Pゴシック", "MS PGothic", "Sans-Serif";
  font-weight: bold;
  text-align: center;
}
.area_featured .icon_01 {
  background-color: #69c5b3;
}
.area_featured .icon_02 {
  background-color: #ffb25b;
}
.area_featured .btn_case_study {
  background-color: #69c5b3;
}
.area_featured .icon_03 {
  background-color: #9edae6;
}
.area_featured .icon_04 {
  background-color: #411c3e;
}
.area_featured .icon_mov {
  max-width: 80px;
  position: absolute;
  right: 0;
  top: -28px;
  width: 24%;
}
.area_featured .icon_mov.mov_center {
  margin: 0 0 0 auto;
  position: static;
}

@media print, only screen and (min-width: 768px) {
  .area_featured {
    padding: 0 32px 10px;
  }
  .area_featured .area_featured_ttl {
    font-size: 18px;
    margin: 0 -32px 32px;
    padding: 6px 10px;
  }
  .area_featured .mod_featured_pics {
    justify-content: flex-start;
  }
  .area_featured .mod_featured_pics li {
    margin-bottom: 28px;
    width: calc(50% - 13px);
  }
  .area_featured .mod_featured_pics li:nth-child(n+3) {
    width: calc((100% / 3) - 11px);
  }
  .area_featured .mod_featured_pics li:first-child {
    margin-left: 0;
  }
  .area_featured .mod_featured_pics li:nth-child(2) {
    margin-left: 26px;
  }
  .area_featured .mod_featured_pics li .img {
    overflow: hidden;
  }
  .area_featured a:hover .ttl,
.area_featured a:hover .txt {
    text-decoration: underline;
  }
  .area_featured img {
    transition: all 0.3s ease-in-out;
    width: 100%;
  }
  .area_featured a:hover img {
    transform: scale(1.2, 1.2);
  }
  .area_featured a:hover .icon_mov img {
    transform: scale(1, 1);
  }
  .area_featured .ttl {
    margin-bottom: 8px;
  }
  .area_featured .txt {
    font-size: 13px;
  }
  .area_featured .mod_featured_posts a {
    padding: 16px 0 25px;
  }
  .area_featured .mod_featured_posts .ttl {
    margin-top: 3px;
  }
  .area_featured .mod_featured_posts .texts {
    width: calc(100% - 132px);
  }
  .area_featured .mod_featured_posts .icon {
    margin: 0;
    padding: 3px;
    width: 116px;
  }
  .area_featured .icon {
    font-size: 10px;
    margin: 12px 0 7px;
    padding: 3px 9px;
  }
}
@media screen and (max-width: 767px) {
  .area_featured {
    padding: 0 1.4rem 1.4rem;
  }
  .area_featured .area_featured_ttl {
    font-size: 1.3rem;
    margin: 0 -1.4rem 1.4rem;
    padding: 0.7rem 1rem;
  }
  .area_featured .mod_featured_pics {
    justify-content: space-between;
  }
  .area_featured .mod_featured_pics .small_item {
    margin-left: 0;
  }
  .area_featured .mod_featured_pics li:nth-child(-n+2) {
    margin-bottom: 1rem;
    width: calc(50% - 0.7rem);
  }
  .area_featured .mod_featured_pics li:nth-child(n+3) {
    border-top: 1px #ddd solid;
    width: 100%;
  }
  .area_featured .mod_featured_pics li:nth-child(n+3) a {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
    padding: 1.2rem 0;
  }
  .area_featured .mod_featured_pics li:nth-child(n+3) .img {
    width: 36.7%;
  }
  .area_featured .mod_featured_pics li:nth-child(n+3) .img img {
    width: 100%;
  }
  .area_featured .mod_featured_pics li:nth-child(n+3) .txts {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    position: relative;
    vertical-align: top;
    width: calc(64% - 1.7rem);
  }
  .area_featured .mod_featured_pics .icon_mov {
    position: absolute;
    right: 2vw;
    top: -50px;
    width: 40px;
  }
  .area_featured .mod_featured_pics .icon_mov.mov_center {
    top: -5px;
  }
  .area_featured a:hover .ttl,
.area_featured a:hover .txt {
    text-decoration: underline;
  }
  .area_featured .ttl {
    font-size: 1.3rem;
    margin-bottom: 8px;
  }
  .area_featured .txt {
    font-size: 1rem;
  }
  .area_featured .mod_featured_posts a {
    padding: 1.3rem 0;
  }
  .area_featured .mod_featured_posts .ttl {
    margin-top: 3px;
  }
  .area_featured .mod_featured_posts .texts {
    width: calc(100% - 12rem);
  }
  .area_featured .mod_featured_posts .icon {
    margin: 0;
    padding: 0.1rem 0.5rem;
    white-space: nowrap;
    width: 10rem;
  }
  .area_featured .icon {
    font-size: 0.8rem;
    margin-bottom: 0.8rem;
    padding: 0.1rem 1rem;
  }
}
/* 学会・イベント情報
---------------------------------------------------------- */
.mod_event img {
  height: auto;
}
.mod_event .list a {
  color: #4c4c4c;
  text-decoration: none;
}
.mod_event .list .txt {
  flex: 1 0 auto;
  line-height: 1.3;
}
.mod_event .list li {
  margin-top: 10px;
}
.mod_event .list li:first-child {
  margin-top: 0;
}
.mod_event .list .icon_endEvent {
  background: #411c3e;
  color: #fff;
  display: inline-block;
  font-size: 11px;
  margin-left: 10px;
  padding: 2px 4px;
}

@media print, only screen and (min-width: 768px) {
  .mod_event {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
  }
  .mod_event img {
    width: 140px;
  }
  .mod_event .list {
    width: calc(100% - 164px);
  }
  .mod_event .list time {
    font-size: 13px;
  }
  .mod_event .list a:hover .txt {
    text-decoration: underline;
  }
}
@media screen and (max-width: 767px) {
  .mod_event img {
    margin-bottom: 4rem;
    width: 100%;
  }
  .mod_event .list li {
    border-top: 1px #ccc solid;
  }
  .mod_event .list li:first-child {
    border: 0;
  }
  .mod_event .list a {
    display: block;
    padding: 1rem 0;
  }
  .mod_event .list time {
    font-size: 1.2rem;
  }
  .mod_event .list .txt {
    font-size: 1.4rem;
  }
}
/* 最新情報
---------------------------------------------------------- */
.mod_new .list li {
  border-bottom: 1px #ccc solid;
}
.mod_new .list .inner {
  color: #4c4c4c;
  text-decoration: none;
}
.mod_new .list .txt {
  line-height: 1.3;
}

@media print, only screen and (min-width: 768px) {
  .mod_new .list {
    margin-top: -20px;
  }
  .mod_new .list .inner {
    display: flex;
    justify-content: space-between;
    padding: 21px 0 17px;
  }
  .mod_new .list time {
    position: relative;
    top: -2px;
    vertical-align: top;
    white-space: nowrap;
  }
  .mod_new .list .txt {
    width: calc(100% - 10em);
  }
  .mod_new .list a {
    text-decoration: none;
  }
  .mod_new .list a:hover {
    text-decoration: underline;
  }
}
@media screen and (max-width: 767px) {
  .mod_new {
    margin-bottom: 5rem;
  }
  .mod_new .list {
    font-size: 1.4rem;
    margin-top: -1.5rem;
  }
  .mod_new .list li:last-child {
    border: 0;
  }
  .mod_new .list .inner {
    display: block;
    padding: 1.5rem 0;
  }
  .mod_new .list time {
    display: block;
    margin-bottom: 0.3rem;
  }
}
/* =================================
Voice of Experience
================================= */
/* リスト
---------------------------------------------------------- */
.mod_case_posts .item img {
  width: 100%;
}
.mod_case_posts .item .ttl {
  color: #411c3e;
  font-weight: bold;
  line-height: 1.2;
}
.mod_case_posts .item .txt {
  line-height: 1.3;
}

.movie {
  display: block;
  margin-bottom: 10px;
  max-width: 640px;
  position: relative;
  width: 100%;
}
.movie .movie_content {
  padding-top: 56.25%;
}

.movie + .item_in .txts {
    width: 100% !important;
}

.fz_19 {
  font-size: 19px;
}

@media print, only screen and (min-width: 768px) {
  .movie {
    margin-bottom: 1.3rem;
  }

  .mod_case_posts {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 13px;
  }
  .mod_case_posts .item {
    margin-bottom: 48px;
    width: calc(50% - 13px);
  }
  .mod_case_posts .item .ttl {
    margin: 18px 0 10px;
  }
  .mod_case_posts .item .txt {
    font-size: 13px;
  }
  .mod_case_posts .item .btn {
    background-size: 10px auto;
    font-size: 14px;
    margin: 12px 0 0;
    padding: 12px 35px;
  }
}
@media screen and (max-width: 767px) {
  .mod_case_posts .item {
    margin-bottom: 4rem;
  }
  .mod_case_posts .item:last-child {
    margin-bottom: 0;
  }
  .mod_case_posts .item .ttl {
    font-size: 1.6rem;
    margin: 1.5rem 0 1rem;
  }
  .mod_case_posts .item .txt {
    font-size: 1.3rem;
  }
  .mod_case_posts .item .btn {
    background-size: 0.8rem auto;
    display: block;
    font-size: 1.4rem;
    margin: 1.4rem 0 0;
    padding: 1.1rem 3rem;
  }

  .movie {
    min-height: 30vh;
  }
}
/* =================================
case 詳細ページ
================================= */
/* コンテンツ
---------------------------------------------------------- */
@media screen and (max-width: 767px) {
  .case_contents {
    margin-top: 2rem;
  }
  .case_contents .mov {
    margin-bottom: 2.4rem;
  }
  .case_contents .list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .case_contents .list li {
    width: calc(50% - 0.6rem);
  }
  .case_contents .list li:first-child {
    margin-right: 10rem;
  }
  .case_contents .list .btn {
    background-position: 1.6rem center, -9999px center;
    font-size: 1.4rem;
    margin-bottom: 8px;
    padding: 1rem 1rem 1rem 3.4rem;
  }
}
@media print, only screen and (min-width: 768px) {
  .case_contents {
    display: flex;
    justify-content: space-between;
    margin-top: 48px;
  }
  .case_contents .mov {
    max-width: 483px;
  }
  .case_contents .list {
    width: calc(100% - 507px);
  }
  .case_contents .list .btn {
    background-position: 18px center, -9999px center;
    font-size: 14px;
    margin-bottom: 8px;
    padding: 12px 10px 12px 36px;
  }
  .case_contents .list .btn:hover {
    background-position: -9999px center, 18px center;
  }
}
.case_contents .btn {
  text-align: left;
}

/* タイトル
---------------------------------------------------------- */
.ttl_case {
  color: #411c3e;
  font-weight: bold;
  line-height: 1.3;
}
@media print, only screen and (min-width: 768px) {
  .ttl_case {
    font-size: 20px;
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 767px) {
  .ttl_case {
    font-size: 2rem;
    margin-bottom: 10px;
  }
}

.txt_mt_113 {
  margin-top: 113px;
}

.txt_coming {
  font-size: 120%;
  margin-bottom: 120px;
  margin-top: 120px;
}

/* =================================
Voice of Experience
================================= */
/* イントロ
---------------------------------------------------------- */
.u-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .u-sp {
    display: block;
  }
}

.txt_intro {
  line-height: 1.6;
}
@media print, only screen and (min-width: 768px) {
  .txt_intro {
    margin-bottom: 35px;
  }
}
@media screen and (max-width: 767px) {
  .txt_intro {
    margin-bottom: 3rem;
  }
}

/* リスト
---------------------------------------------------------- */
.mod_voice_posts .item {
  border-top: 1px #ccc solid;
}
.mod_voice_posts .item.u-noBorder {
  border-top:  0;
}
.mod_voice_posts .item .item_in {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
}
.mod_voice_posts .item .item_in .img {
  width: 36.3%;
}
.mod_voice_posts .item .item_in .img img {
  width: 100%;
}
.mod_voice_posts .item .item_in .txts {
  width: calc(65% - 15px);
}
.mod_voice_posts .item .item_in .ttl {
  color: #411c3e;
  font-weight: bold;
  line-height: 1.2;
}
.mod_voice_posts .item .item_in .txt {
  line-height: 1.3;
}

@media print, only screen and (min-width: 768px) {
  .mod_voice_posts {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 13px;
  }
  .mod_voice_posts .item {
    display: flex;
    flex-direction: column;
    margin-bottom: 48px;
    padding-top: 14px;
    width: calc(50% - 13px);
  }
  .mod_voice_posts .item .item_in {
    flex: 1 1 auto;
    min-height: 0%;
  }
  .mod_voice_posts .item .item_in .ttl {
    margin: 3px 0 10px;
  }
  .mod_voice_posts .item .item_in .txt {
    font-size: 13px;
  }
  .mod_voice_posts .item .btn {
    background-size: 10px auto;
    font-size: 14px;
    margin: 18px 0 0;
    padding: 12px 35px;
  }
}
@media screen and (max-width: 767px) {
  .mod_voice_posts {
    border-bottom: 1px #ccc solid;
  }
  .mod_voice_posts .item {
    padding: 1.6rem 0;
  }
  .mod_voice_posts .item .item_in .ttl {
    font-size: 1.6rem;
    margin-bottom: 1.3rem;
  }
  .mod_voice_posts .item .item_in .txt {
    font-size: 1.3rem;
  }
  .mod_voice_posts .item .btn {
    background-size: 0.8rem auto;
    display: block;
    font-size: 1.4rem;
    margin: 1.4rem 0 0;
    padding: 1.1rem 3rem;
  }
}
/* =================================
Voice of Experience 詳細ページ
================================= */
/* メイン画像
---------------------------------------------------------- */
.voice_mainimg {
  position: relative;
}
@media print, only screen and (min-width: 768px) {
  .voice_mainimg .voice_mainimg_in {
    left: 24px;
    top: 30px;
  }
  .voice_mainimg .voice_mainimg_intro {
    font-size: 12px;
  }
  .voice_mainimg .voice_mainimg_txts {
    border-left: 4px #411c3e solid;
    margin-top: 25px;
    padding-left: 20px;
  }
  /* .voice_mainimg .voice_mainimg_txts.voice15_mainimg_txts {
    margin-top: 60px;
  } */
  .voice_mainimg .ttl {
    font-size: 34px;
    margin-bottom: 10px;
  }
  .voice17 .voice_mainimg .ttl {
    font-size: 30px;
  }
  .voice_mainimg .sub {
    font-size: 20px;
  }
  .voice_mainimg .txt {
    font-size: 14px;
    margin-top: 15px;
  }
  .voice_mainimg .name {
    font-size: 12px;
    font-weight: bold;
    line-height: 1.3;
    margin-top: 5px;
  }
  .voice_mainimg .name .bold {
    font-size: 20px;
  }
  .voice_mainimg .name .shi {
    margin-left: 6px;
  }
  .voice_mainimg .name .slash {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .voice_mainimg {
    margin: -3rem -1rem 0;
  }
  .voice_mainimg .voice_mainimg_in {
    left: 4.2vw;
    top: 3.2vw;
  }
  .voice_mainimg .voice_mainimg_intro {
    font-size: 2.5vw;
    width: calc(100% - 30px);
  }
}
@media screen and (max-width: 767px) and (max-width: 400px) {
  .voice_mainimg .voice_mainimg_intro {
    width: calc(100% - 50px);
  }
}
@media screen and (max-width: 767px) and (max-width: 320px) {
  .voice_mainimg .voice_mainimg_intro {
    width: calc(100% - 80px);
  }
}
@media screen and (max-width: 767px) {
  .voice_mainimg .voice_mainimg_txts {
    margin-top: 2.5vw;
  }
}
@media screen and (max-width: 767px) {
  .voice_mainimg .ttl {
    font-size: 4.6vw;
    margin-bottom: 1vw;
  }
  .voice17 .voice_mainimg .ttl {
    font-size: 4.4vw;
  }
}
@media screen and (max-width: 767px) {
  .voice_mainimg .sub {
    font-size: 2.8vw;
  }
}
@media screen and (max-width: 767px) {
  .voice_mainimg .txt {
    font-size: 2.7vw;
    margin-top: 2.4vw;
  }
  .voice_mainimg .txt.long_txt {
    width: calc(100% - 70px);
  }
}
@media screen and (max-width: 767px) {
  .voice_mainimg .name {
    font-size: 2.1vw;
    line-height: 1.3;
    margin-top: 0.2vw;
  }
  .voice_mainimg .name .bold {
    font-size: 3.2vw;
  }
  .voice_mainimg .name .shi {
    margin-left: 0.3rem;
  }
  .voice_mainimg .name .slash {
    font-size: 3.2vw;
  }
}
.voice_mainimg .u-pc {
  display: block;
}
@media screen and (max-width: 767px) {
  .voice_mainimg .u-pc {
    display: none;
  }
}
.voice_mainimg .u-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .voice_mainimg .u-sp {
    display: block;
  }
}
.voice_mainimg .voice_mainimg_txts {
  color: #411c3e;
}
.voice_mainimg .voice_mainimg_in {
  position: absolute;
}
.voice_mainimg .ttl {
  font-weight: bold;
  line-height: 1.2;
}
.voice_mainimg .sub {
  font-weight: bold;
  line-height: 1.3;
}
.voice_mainimg .name {
  display: block;
  line-height: 1.3;
}
.voice_mainimg .name .bold {
  font-weight: bold;
}

/* コンテンツ
---------------------------------------------------------- */
@media print, only screen and (min-width: 768px) {
  .voice_contents p {
    margin-bottom: 8px;
  }
}
@media screen and (max-width: 767px) {
  .voice_contents {
    background: url("/img/common/bg_wpr_top01.jpg") 0 0 no-repeat;
    background-size: 100% auto;
    margin: 0 -1rem;
    padding: 0.1rem 1rem;
  }
  .voice_contents p {
    margin-bottom: 0.6rem;
  }
}

/* タイトル
---------------------------------------------------------- */
.ttl_question {
  align-items: baseline;
  border-bottom: 1px #411c3e solid;
  color: #411c3e;
  display: flex;
  font-weight: bold;
  justify-content: space-between;
  line-height: 1.2;
  position: relative;
}
.ttl_question_item {
  position: absolute;
  top: -200px;
}
@media screen and (max-width: 767px) {
  .ttl_question_item {
    top: -70px;
  }
}
.ttl_question.u-title {
  padding-left: 0;
}
.ttl_question.u-title::before {
  content: none;
}
.ttl_question::before {
  content: "Q.";
  left: 0;
  position: absolute;
  top: 0;
}
@media print, only screen and (min-width: 768px) {
  .ttl_question {
    font-size: 2.4rem;
    margin: 50px 0 20px;
    padding: 0 0 8px 32px;
  }
}
@media screen and (max-width: 767px) {
  .ttl_question {
    font-size: 2rem;
    margin: 4rem 0 1.3rem;
    padding: 0 0 0.9rem 2.8rem;
  }
}

/* テキストトップ
---------------------------------------------------------- */
@media print, only screen and (min-width: 768px) {
  .txt_top {
    margin-top: 55px;
  }
}
@media screen and (max-width: 767px) {
  .txt_top {
    margin-top: 4rem;
  }
}

/* インタビュー複数人
---------------------------------------------------------- */
.mod_interview .mod_interview_row {
  display: flex;
  justify-content: space-between;
}
.mod_interview .mod_interview_row .mod_interview_name {
  color: #411c3e;
  font-weight: bold;
  width: 3em;
}
.mod_interview .mod_interview_row .mod_interview_comment {
  width: calc(100% - 3em);
  word-break: break-all;
}
@media print, only screen and (min-width: 768px) {
  .mod_interview .mod_interview_row {
    margin-bottom: 8px;
  }
}
@media screen and (max-width: 767px) {
  .mod_interview .mod_interview_row {
    margin-bottom: 0.6rem;
  }
}

/* タイトル帯緑
---------------------------------------------------------- */
.ttl_green {
  background-color: #b1caa9;
  color: #fff;
  display: block;
  font-weight: bold;
}
.ttl_green.u-fontBigger {
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  .ttl_green.u-fontBigger {
    font-size: 2rem;
  }
}
.ttl_green + .ttl_underline {
  margin-top: 0;
}
@media print, only screen and (min-width: 768px) {
  .ttl_green {
    font-size: 16px;
    margin: 50px 0 10px;
    padding: 3px 10px 2px;
  }
}
@media screen and (max-width: 767px) {
  .ttl_green {
    font-size: 1.4rem;
    margin: 4rem 0 0.9rem;
    padding: 0.5rem 1rem;
  }
}

/* テキスト緑
---------------------------------------------------------- */
.txt_green {
  color: #b1caa9;
  font-weight: bold;
}

/* テキスト茶
---------------------------------------------------------- */
.txt_brown {
  color: #411c3e;
  font-weight: bold;
}

/* 注釈
---------------------------------------------------------- */
.voice_notes {
  line-height: 1.6;
}
@media print, only screen and (min-width: 768px) {
  .voice_notes_title {
    color: #411c3e;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.4;
  }
  .voice_notes .voice_notes_title {
    margin: 0;
  }
}
@media screen and (max-width: 767px) {
  .voice_notes_title {
    color: #411c3e;
    font-weight: bold;
    line-height: 1.4;
  }
}
.voice_notes_item {
  display: flex;
}
.voice_notes .voice_notes_item {
  margin: 0;
}
.voice_notes_no {
  text-align: right;
  width: 30px;
}
.voice_notes_text {
  flex: 1;
}
@media print, only screen and (min-width: 768px) {
  .voice_notes {
    font-size: 10px;
    margin-top: 70px;
  }
  .voice_notes p {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .voice_notes {
    font-size: 1rem;
    margin-top: 6.5rem;
  }
  .voice_notes p {
    margin-bottom: 2rem;
  }
}

.voice_journal{
  margin-top: 50px;
}

.voice_journal .voice_journal_title{
  margin-bottom: 10px;
}
.voice_journal ol{
  font-size: 12px;
}

.voice_journal ol li{
  counter-increment: item;
  position: relative;
  position: relative;
  padding-left: 15px;

}
.voice_journal ol li:before{
  content: counter(item) ") ";
  position: absolute;
  left: 0;
}
.voice_journal ol li:not(:first-of-type){
  margin-top: 5px;
}

.voice_noteTxt {
  font-size: 12px;
}

/* 画像
---------------------------------------------------------- */
.voice_figure {
  position: relative;
}
.voice_figure img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .voice_figure {
    margin-bottom: 3rem !important;
  }
  .voice_figure:last-child {
    margin-bottom: 0 !important;
  }
}

.voice_block .voice_figures {
  margin: 40px 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .voice_block .voice_figures {
    margin: 3rem 0;
  }
}
.voice_block .voice_figures:last-child {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .voice_block .voice_figures:last-child {
    margin-bottom: 3rem;
  }
}

@media print, only screen and (min-width: 768px) {
  .voice_figures {
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .voice_figures {
    margin-top: 3rem;
  }
}

.voice_list {
  position: relative;
}
.voice_list_tbl {
  position: absolute;
  top: -200px;
}
@media print, only screen and (max-width: 768px) {
  .voice_list_tbl {
    top: -80px;
  }
}
.voice_list_title.no_mt {
  margin-top: 0;
}
@media print, only screen and (min-width: 768px) {
  .voice_list_title {
    color: #411c3e;
    font-weight: bold;
    line-height: 1.2;
    margin: 50px 0 10px;
    padding: 0 0 8px;
  }
}
@media screen and (max-width: 767px) {
  .voice_list_title {
    color: #411c3e;
    font-weight: bold;
    line-height: 1.2;
    margin: 4rem 0 1rem;
    padding: 0 0 0.9rem;
  }
}
.voice_list_item {
  font-size: 14px;
  line-height: 2;
  padding-left: 15px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .voice_list_item {
    font-size: 1.4rem;
  }
}
.voice_list_item::before {
  background: #b1caa9;
  border-radius: 50%;
  content: "";
  height: 5px;
  left: 0;
  position: absolute;
  top: 12px;
  width: 5px;
}
.voice_list_link {
  text-decoration: none;
}

/* キャプション
---------------------------------------------------------- */
.caption.u-txtRight {
  text-align: right;
}
@media print, only screen and (min-width: 768px) {
  .caption {
    font-size: 12px;
    margin-top: 10px;
  }
}
@media screen and (max-width: 767px) {
  .caption {
    font-size: 1.2rem;
    margin-top: 0.8rem;
  }
}

/* bold center top image caption
---------------------------------------------------------- */
.top_caption {
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 1rem;
}

/* キャプション　バッジ
---------------------------------------------------------- */
.badge {
  background-color: #411c3e;
  color: #fff;
  display: inline-block;
  font-weight: bold;
  position: absolute;
  right: 0;
  top: 0;
}
@media print, only screen and (min-width: 768px) {
  .badge {
    font-size: 12px;
    padding: 2px 10px;
  }
}
@media screen and (max-width: 767px) {
  .badge {
    font-size: 1.2rem;
    padding: 0.1rem 0.9rem;
  }
}

/* 画像センター
---------------------------------------------------------- */
.voice_figures_center {
  align-items: top;
}
@media print, only screen and (min-width: 768px) {
  .voice_figures_center {
    display: flex;
    justify-content: center;
  }
  .voice_figures_center > * {
    margin: 0 10px;
    max-width: 320px;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .voice_figures_center > * {
    margin: 0 auto;
    width: calc(100% - 3.6rem);
  }
}

/* 画像 並び
---------------------------------------------------------- */
.voice_figures_center_s {
  align-items: top;
  display: flex;
}
@media print, only screen and (min-width: 768px) {
  .voice_figures_center_s {
    justify-content: center;
  }
  .voice_figures_center_s > * {
    margin: 0 10px;
    width: 23.6%;
  }
}
@media screen and (max-width: 767px) {
  .voice_figures_center_s {
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .voice_figures_center_s > * {
    width: calc(50% - 0.5rem);
  }
}

/* 画像4枚並び
---------------------------------------------------------- */
.voice_4figures_full {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
}
@media print, only screen and (min-width: 768px) {
  .voice_4figures_full > * {
    width: calc(25% - 6px);
  }
}
@media screen and (max-width: 767px) {
  .voice_4figures_full {
    flex-wrap: wrap;
  }
  .voice_4figures_full > * {
    width: calc(50% - 0.5rem);
  }
}

/* voice_6_figures1
---------------------------------------------------------- */
.voice_6_figures1 {
  align-items: top;
  display: flex;
}
@media print, only screen and (min-width: 768px) {
  .voice_6_figures1 {
    justify-content: center;
  }
  .voice_6_figures1 > * {
    margin: 0 10px;
    width: 32.5%;
  }
}
@media screen and (max-width: 767px) {
  .voice_6_figures1 {
    justify-content: space-between;
  }
  .voice_6_figures1 > * {
    width: calc(50% - 0.5rem);
  }
}

/* voice_6_figures2
---------------------------------------------------------- */
.voice_6_figures2 {
  align-items: top;
  display: flex;
}
@media print, only screen and (min-width: 768px) {
  .voice_6_figures2 {
    justify-content: center;
  }
  .voice_6_figures2 > * {
    margin: 0 10px;
  }
  .voice_6_figures2 > *:last-child {
    width: 21.7%;
  }
  .voice_6_figures2 > *:first-child {
    width: 32.5%;
  }
}
@media screen and (max-width: 767px) {
  .voice_6_figures2 {
    justify-content: space-between;
  }
  .voice_6_figures2 > *:last-child {
    width: 39%;
  }
  .voice_6_figures2 > *:first-child {
    width: 58.3%;
  }
}

/* voice_6_figures3
---------------------------------------------------------- */
.voice_6_figures3 {
  align-items: top;
}
@media print, only screen and (min-width: 768px) {
  .voice_6_figures3 {
    display: flex;
    justify-content: space-between;
  }
  .voice_6_figures3 > *:last-child {
    width: 62.2%;
  }
  .voice_6_figures3 > *:first-child {
    width: 36%;
  }
}
@media screen and (max-width: 767px) {
  .voice_6_figures3 > *:last-child {
    width: 100%;
  }
  .voice_6_figures3 > *:first-child {
    margin: 0 auto;
    width: 74.4%;
  }
}

/* voice_6_figures4
---------------------------------------------------------- */
.voice_6_figures4 > * {
  margin: 0 auto;
}
@media print, only screen and (min-width: 768px) {
  .voice_6_figures4 > * {
    width: 276px;
  }
}
@media screen and (max-width: 767px) {
  .voice_6_figures4 > * {
    width: 77.7%;
  }
}

/* voice_8_figures1
---------------------------------------------------------- */
.voice_8_figures1 > * {
  margin: 0 auto;
}
@media print, only screen and (min-width: 768px) {
  .voice_8_figures1 > * {
    max-width: 500px;
  }
}
@media screen and (max-width: 767px) {
  .voice_8_figures1 > * {
    width: 100%;
  }
}

/* voice_9_figures1
---------------------------------------------------------- */
@media print, only screen and (min-width: 768px) {
  .voice_9_figures1 {
    display: flex;
    justify-content: space-between;
  }
  .voice_9_figures1 > *:last-child {
    width: 36.9%;
  }
  .voice_9_figures1 > *:first-child {
    width: 60.4%;
  }
}
@media screen and (max-width: 767px) {
  .voice_9_figures1 > * {
    width: 100%;
  }
}

/* voice_9_figures2
---------------------------------------------------------- */
@media print, only screen and (min-width: 768px) {
  .voice_9_figures2 {
    display: flex;
    justify-content: space-between;
  }
  .voice_9_figures2 > * {
    width: calc(50% - 10px);
  }
}
@media screen and (max-width: 767px) {
  .voice_9_figures2 > * {
    width: 100%;
  }
}

/* voice_10_figures
---------------------------------------------------------- */
.voice_10_figures {
  align-items: flex-start;
}
@media print, only screen and (min-width: 768px) {
  .voice_10_figures {
    display: flex;
    justify-content: center;
  }
  .voice_10_figures > * {
    margin: 0;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .voice_10_figures > * {
    margin: 0 auto;
    width: 100%;
  }
}

/* voice_10_figures1
---------------------------------------------------------- */
.voice_10_figures1 {
  align-items: flex-start;
}
@media print, only screen and (min-width: 768px) {
  .voice_10_figures1 {
    display: flex;
    justify-content: center;
  }
  .voice_10_figures1 > * {
    margin: 0;
    width: 100%;
  }
  .voice_10_figures1 > :nth-of-type(2) {
    margin-left: 20px;
  }
}
@media screen and (max-width: 767px) {
  .voice_10_figures1 > * {
    margin: 0 auto;
    width: 100%;
  }
}

/* voice_10_figures2
---------------------------------------------------------- */
.voice_10_figures2 {
  align-items: flex-start;
}
@media print, only screen and (min-width: 768px) {
  .voice_10_figures2 {
    display: flex;
    justify-content: center;
  }
  .voice_10_figures2 > * {
    margin: 0;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .voice_10_figures2 {
    display: flex;
  }
  .voice_10_figures2 > :nth-of-type(1) .caption {
    margin-right: -14rem;
  }
  .voice_10_figures2 > * {
    margin: 0 auto;
  }
}

/* voice_10_figures3
---------------------------------------------------------- */
.voice_10_figures3 {
  align-items: top;
}
@media print, only screen and (min-width: 768px) {
  .voice_10_figures3 {
    display: flex;
    justify-content: center;
  }
  .voice_10_figures3 > * {
    margin: 0 10px;
    max-width: 320px;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .voice_10_figures3 > * {
    margin: 0 auto;
    width: 100%;
  }
}

/* voice_13_figures2
---------------------------------------------------------- */
@media print, only screen and (min-width: 768px) {
  .voice_13_figures2 {
    display: flex;
    justify-content: space-between;
  }
  .voice_13_figures2 > *:first-child {
    width: calc(52% - 10px);
  }
  .voice_13_figures2 > *:nth-child(2) {
    width: calc(48% - 10px);
  }
}
@media screen and (max-width: 767px) {
  .voice_13_figures2 > * {
    width: 100%;
  }
}

/* voice_13_figures3
---------------------------------------------------------- */
@media print, only screen and (min-width: 768px) {
  .voice_13_figures3 {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-bottom: 2rem;
  }
  .voice_13_figures3 > * {
    width: calc(33.33% - (20px/ 3));
    margin-right: 10px;
  }
  .voice_13_figures3 > *:nth-of-type(3n+3) {
    margin-right: 0;
  }
  .voice_13_figures3 > *:nth-of-type(n+4) {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .voice_13_figures3 > * {
    width: 100%;
  }
}

/* voice_14_figures1
---------------------------------------------------------- */
.voice_14_figures1 {
  align-items: flex-start;
}
@media print, only screen and (min-width: 768px) {
  .voice_14_figures1 {
    display: flex;
    justify-content: center;
  }
  .voice_14_figures1.u-marginBottom {
    margin-bottom: 40px;
  }
  .voice_14_figures1 > * {
    margin: 0;
    width: 100%;
  }
  .voice_14_figures1 > :nth-of-type(2) {
    margin-left: 20px;
  }
}
@media screen and (max-width: 767px) {
  .voice_14_figures1 > * {
    margin: 0 auto;
    width: 100%;
  }

  .voice_14_figures1.u-marginBottom {
    margin-bottom: 3rem;
  }
}

/* voice_14_figures2
---------------------------------------------------------- */
@media print, only screen and (min-width: 768px) {
  .voice_14_figures2 {
    margin-bottom: 40px;
    display: flex;
    justify-content: center;
  }
  .voice_14_figures2 > * {
    width: calc(50% - 10px);
  }
}
@media screen and (max-width: 767px) {
  .voice_14_figures2 {
    margin-bottom: 3rem;
  }
  .voice_14_figures2 > * {
    width: 100%;
  }
}

/* voice_6_figures1
---------------------------------------------------------- */
.voice_12_figures1 .voice_figure {
  border: 1px solid #411c3e;
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 662px;
  width: 100%;
}
.voice_12_figures1 .voice_figure:not(:first-child) {
  margin-top: 40px;
}

/* voice_6_figures2
---------------------------------------------------------- */
.voice_12_figures2 {
  margin-bottom: 50px;
}
.voice_12_figures2 .voice_figure {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 662px;
  width: 100%;
}
.voice_12_figures2 .voice_figure figcaption:nth-of-type(2) {
  margin-top: 15px;
}
.voice_12_figures2 .voice_figure img {
  border: 1px solid #411c3e;
}
.voice_12_figures2 .voice_figure:not(:first-child) {
  margin-top: 40px;
}


/* voice_15_figures2
---------------------------------------------------------- */
@media print, only screen and (min-width: 768px) {
  .voice_15_figures2 {
    display: flex;
    justify-content: center;
    margin-top: 0;
  }
  .voice_15_figures2 > * {
    width: calc(50% - 100px);
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .voice_15_figures2 > * {
    width: calc(70%);
    margin: 0 auto;
  }
}

/* voice_16_figures2
---------------------------------------------------------- */
@media print, only screen and (min-width: 768px) {
  .voice_16_figures {
    margin-bottom: 40px;
  }

  .voice_16_figures1 {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
  }
  .voice_16_figures1 .voice_figure {
    max-width: 320px;
  }
  .voice_16_figures2 {
    margin-bottom: 40px;
    display: flex;
    justify-content: center;
  }
  .voice_16_figures2 > * {
    width: calc(50% - 100px);
  }
  .voice_16_figures2 > :nth-of-type(2) {
    margin-left: 20px;
  }
  .voice_16_figures3 {
    margin-bottom: 40px;
    display: flex;
    justify-content: center;
  }
  .voice_16_figures3 > * {
    width: calc(75% - 100px);
  }
}
@media screen and (max-width: 767px) {
  .voice_16_figures2 > * {
    width: calc(70%);
    margin: 0 auto;
  }
}

/* voice_17_figures
---------------------------------------------------------- */
.voice17 .caption_sm {
  font-size: 10px;
  text-align: right;
}
.voice17 .voice_figure.figure07 img,
.voice17 .voice_figure.figure08 img {
  border: 1px solid #e9e8e8;
}
@media print, only screen and (min-width: 768px) {
  .voice17 .voice_figures {
    display: flex;
    justify-content: center;
    gap: 40px;
  }
  .voice17 .voice_figure.figure01 {
    max-width: 254px;
  }
  .voice17 .voice_figure.figure02 {
    max-width: 204px;
  }
  .voice17 .voice_figure.figure03 {
    max-width: 340px;
  }
  .voice17 .voice_figure.figure05 {
    max-width: 340px;
  }
  .voice17 .voice_figure.figure06 {
    max-width: 400px;
  }
}
@media screen and (max-width: 767px) {
  .voice17 .voice_figures > * {
    width: calc(70%);
    margin: 0 auto;
  }

  .voice17 .voice_figure.figure04,
  .voice17 .voice_figure.figure06,
  .voice17 .voice_figure.figure07,
  .voice17 .voice_figure.figure08 {
    width: 100%;
  }
}

/* voice_18_figures
---------------------------------------------------------- */
.voice18 .voice_figure.figure06 img {
  border: 1px solid #e9e8e8;
}
@media print, only screen and (min-width: 768px) {
  .voice18 .voice_figures {
    display: flex;
    justify-content: center;
    gap: 30px;
  }
  .voice18 .voice_figures02 {
    flex-direction: column;
    align-items: center;
    gap: 15px;
  }
  .voice18 .voice_figure.figure01 {
    
  }
  .voice18 .voice_figure.figure02,
  .voice18 .voice_figure.figure03 {
    max-width: 500px;
  }
}
@media screen and (max-width: 767px) {

  .voice18 .voice_figure.figure08,
  .voice18 .voice_figure.figure06,
  .voice18 .voice_figure.figure07 {
    width: calc(100% - 50px);
    margin: 0 auto;
  }
}

/* voice_19_figures
---------------------------------------------------------- */
.voice19 .voice_figure.figure06 img {
  border: 1px solid #e9e8e8;
}

.voice19 .voice_figure.figure01 img {
  max-width: 500px;
}

.voice19 .voice_figures{
  margin-bottom: 40px;
}


@media print, only screen and (min-width: 768px) {
  .voice19 .voice_figures {
    display: flex;
    justify-content: center;
    gap: 30px;
  }
  .voice19 .voice_figures02 {
    flex-direction: column;
    align-items: center;
    gap: 15px;
  }
  .voice19 .voice_figure.figure01 {
    
  }
  .voice19 .voice_figure.figure02,
  .voice19 .voice_figure.figure03 {
    max-width: 500px;
  }
}
@media screen and (max-width: 767px) {

  .voice19 .voice_figure.figure08,
  .voice19 .voice_figure.figure06,
  .voice19 .voice_figure.figure07 {
    width: calc(100% - 50px);
    margin: 0 auto;
  }
}

.voice19_videoWrap{
  margin: 50px 0;
}

.voice19 p span.annot{
  color: #411C3E;
  font-weight: bold;
}

/* =================================
学会・イベント情報
================================= */
/* Tab link
---------------------------------------------------------- */
.tab_list {
  border-bottom: 1px #b1caa9 solid;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .tab_list {
    padding-left: 10px;
  }
}
.tab_list .nav {
  display: flex;
}
.tab_list .nav .nav_item {
  border: 1px #b1caa9 solid;
  border-bottom: 0;
  border-top-left-radius: 5px 5px;
  border-top-right-radius: 5px 5px;
  color: #4c4c4c;
  font-size: 1.6rem;
  line-height: 2.1rem;
  margin-right: 6px;
  padding: 10px 39px;
}
@media screen and (max-width: 767px) {
  .tab_list .nav .nav_item {
    font-size: 1.2rem;
    line-height: 1.2rem;
    min-width: 120px;
    padding: 12px 10px;
    text-align: center;
  }
}
.tab_list .nav .nav_item a {
  text-decoration: none;
}
@media screen and (max-width: 360px) {
  .tab_list .nav .nav_item {
    min-width: 100px;
  }
}
.tab_list .nav .active {
  background: #b1caa9;
  color: #fff;
}

/* content
---------------------------------------------------------- */
.lbl_year {
  border-bottom: 1px #411c3e solid;
  color: #411c3e;
  font-size: 2.4rem;
  line-height: 2.4rem;
  margin-top: 24px;
  padding-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .lbl_year {
    font-size: 2rem;
    line-height: 2rem;
  }
}

.tab_wrap {
  background-color: #f5f5f5;
  display: none;
  margin-top: 20px;
  padding: 20px;
}
.tab_wrap .ttl {
  border-bottom: 1px #4c4c4c solid;
  color: #411c3e;
  font-size: 2rem;
  font-weight: bold;
  line-height: 2rem;
  padding-bottom: 10px;
}
.tab_wrap .ttlLink {
  display: block;
  font-size: 1.4rem;
  margin-top: 10px;
}

.ttlNote {
  display: block;
  font-size: 1.4rem;
  margin-bottom: 0;
  margin-top: 2px;
}

.btn_zip, 
.btn_inq {
  align-items: center;
  background: #fff;
  border: 1px #411c3e solid;
  color: #411c3e;
  display: block;
  display: block;
  font-size: 1.2rem;
  line-height: 1.2rem;
  margin: 12px 0;
  padding: 10px 0;
  text-align: center;
  text-decoration: none;
  width: 150px;
}
.btn_zip:hover, 
.btn_inq:hover {
  background-color: #411c3e;
}
.btn_zip:hover .file_icon,
.btn_inq:hover .file_icon {
  display: none;
}
.btn_zip:hover .file_icon_hover,
.btn_inq:hover .file_icon_hover {
  display: inline-block;
}
.btn_zip:hover span,
.btn_inq:hover span {
  color: #fff;
}
.btn_zip img,
.btn_inq img {
  height: auto;
  width: 10px;
}
.btn_zip span,
.btn_inq span {
  margin-left: 5px;
}
.btn_zip .file_icon_hover,
.btn_inq .file_icon_hover {
  display: none;
}
.btn_inq {
  width: 180px
}

.tab_wrap.active {
  display: block;
}

.event_wrap {
  margin-top: 16px;
}
.event_wrap .info {
  display: flex;
  margin-top: 16px;
  width: 100%;
}
.event_wrap .info .info_image_wrap {
  min-width: 180px;
  width: 180px;
}
@media screen and (max-width: 767px) {
  .event_wrap .info .info_image_wrap {
    margin: 0 auto;
    padding-top: 18px;
  }
}
.event_wrap .info .info_image_wrap > img {
  box-shadow: 0 0 0 1px #ccc;
}
.event_wrap .info .info_image_wrap img {
  height: auto;
  width: 100%;
}
.event_wrap .info .btn_download {
  display: block;
  margin: 12px 0;
}
.event_wrap .info .btn_download a {
  align-items: center;
  border: 1px #411c3e solid;
  color: #411c3e;
  display: block;
  font-size: 1.4rem;
  line-height: 1.4rem;
  padding: 10px 0;
  text-align: center;
  text-decoration: none;
  width: 180px;
}
.event_wrap .info .btn_download a:hover {
  background-color: #411c3e;
}
.event_wrap .info .btn_download a:hover .file_icon {
  display: none;
}
.event_wrap .info .btn_download a:hover .file_icon_hover {
  display: inline-block;
}
.event_wrap .info .btn_download a:hover span {
  color: #fff;
}
.event_wrap .info .btn_download img {
  height: 14px;
  width: 12px;
}
.event_wrap .info .btn_download span {
  margin-left: 8px;
}
.event_wrap .info .btn_download .file_icon_hover {
  display: none;
}
.event_wrap .info .info_txt {
  padding-left: 20px;
}
@media screen and (max-width: 767px) {
  .event_wrap .info .info_txt {
    padding-left: 0;
    width: 100%;
  }
}
.event_wrap .info .info_txt .lbl_title {
  color: #411c3e;
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 1.8rem;
}
.event_wrap .info .info_txt .lbl_titlespan {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .event_wrap .info .info_txt .address {
    margin-top: 16px;
  }
}
.event_wrap .info .info_txt .address p {
  color: #4c4c4c;
  font-size: 1.4rem;
}
.event_wrap .info .info_txt .lecture_list {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .event_wrap .info .info_txt .lecture_list {
    padding-bottom: 30px;
  }
}
.event_wrap .info .info_txt .lecture_list .lecture {
  margin-top: 16px;
}

.event_wrap02 {
  margin-top: 16px;
}
.event_wrap02 .info {
  display: flex;
  margin-top: 16px;
  width: 100%;
}
.event_wrap02 .info .info_image_wrap {
  min-width: 100px;
  width: 100px;
}
@media screen and (max-width: 767px) {
  .event_wrap02 .info .info_image_wrap {
    margin: 0 auto;
    padding-right: 18px;
  }
}
.event_wrap02 .info .info_image_wrap > img {
  box-shadow: 0 0 0 1px #ccc;
}
.event_wrap02 .info .info_image_wrap img {
  height: auto;
  width: 100%;
}
.event_wrap02 .info .btn_download {
  display: block;
  margin: 12px 0;
}
.event_wrap02 .info .btn_download a {
  align-items: center;
  border: 1px #411c3e solid;
  color: #411c3e;
  display: block;
  font-size: 1.4rem;
  line-height: 1.4rem;
  padding: 10px 0;
  text-align: center;
  text-decoration: none;
  width: 180px;
}
.event_wrap02 .info .btn_download a:hover {
  background-color: #411c3e;
}
.event_wrap02 .info .btn_download a:hover .file_icon {
  display: none;
}
.event_wrap02 .info .btn_download a:hover .file_icon_hover {
  display: inline-block;
}
.event_wrap02 .info .btn_download a:hover span {
  color: #fff;
}
.event_wrap02 .info .btn_download img {
  height: 14px;
  width: 12px;
}
.event_wrap02 .info .btn_download span {
  margin-left: 8px;
}
.event_wrap02 .info .btn_download .file_icon_hover {
  display: none;
}
.event_wrap02 .info .info_txt {
  padding-left: 20px;
}
@media screen and (max-width: 767px) {
  .event_wrap02 .info .info_txt {
    padding-left: 0;
    width: 100%;
  }
}
.event_wrap02 .info .info_txt .lbl_title {
  color: #411c3e;
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 1.8rem;
}
.event_wrap02 .info .info_txt .lbl_titlespan {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .event_wrap02 .info .info_txt .address {
    margin-top: 16px;
  }
}
.event_wrap02 .info .info_txt .address p {
  color: #4c4c4c;
  font-size: 1.4rem;
}
.event_wrap02 .info .info_txt .lecture_list {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .event_wrap02 .info .info_txt .lecture_list {
    padding-bottom: 30px;
  }
}
.event_wrap02 .info .info_txt .lecture_list .lecture {
  margin-top: 16px;
}

.event_wrapCol02 {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .event_wrapCol02 {
    flex-direction: column;
  }
}
.event_wrapCol02 .info {
  display: flex;
  margin-top: 16px;
  width: 50%;
}
@media screen and (max-width: 767px) {
  .event_wrapCol02 .info {
    width: 100%;
  }
}
.event_wrapCol02 .info .info_image_wrap {
  min-width: 100px;
  width: 100px;
}
@media screen and (max-width: 767px) {
  .event_wrapCol02 .info .info_image_wrap {
    margin: 0 auto;
    padding-right: 18px;
  }
}
.event_wrapCol02 .info .info_image_wrap > img {
  box-shadow: 0 0 0 1px #ccc;
}
.event_wrapCol02 .info .info_image_wrap img {
  height: auto;
  width: 100%;
}
.event_wrapCol02 .info .btn_download {
  display: block;
  margin: 12px 0;
}
.event_wrapCol02 .info .btn_download a {
  align-items: center;
  border: 1px #411c3e solid;
  color: #411c3e;
  display: block;
  font-size: 1.4rem;
  line-height: 1.4rem;
  padding: 10px 0;
  text-align: center;
  text-decoration: none;
  width: 180px;
}
.event_wrapCol02 .info .btn_download a:hover {
  background-color: #411c3e;
}
.event_wrapCol02 .info .btn_download a:hover .file_icon {
  display: none;
}
.event_wrapCol02 .info .btn_download a:hover .file_icon_hover {
  display: inline-block;
}
.event_wrapCol02 .info .btn_download a:hover span {
  color: #fff;
}
.event_wrapCol02 .info .btn_download img {
  height: 14px;
  width: 12px;
}
.event_wrapCol02 .info .btn_download span {
  margin-left: 8px;
}
.event_wrapCol02 .info .btn_download .file_icon_hover {
  display: none;
}
.event_wrapCol02 .info .info_txt {
  padding-left: 20px;
}
@media screen and (max-width: 767px) {
  .event_wrapCol02 .info .info_txt {
    padding-left: 0;
    width: 100%;
  }
}
.event_wrapCol02 .info .info_txt .lbl_title {
  align-items: flex-start;
  color: #411c3e;
  display: flex;
  flex-direction: column;
  font-size: 1.4rem;
  font-weight: bold;
  justify-content: center;
  line-height: 1.45;
  min-height: 64px;
}
@media screen and (max-width: 767px) {
  .event_wrapCol02 .info .info_txt .lbl_title {
    min-height: auto;
  }
}
.event_wrapCol02 .info .info_txt .lbl_title_span {
  display: inline-block;
  line-height: 1.6;
}
.event_wrapCol02 .info .info_txt .lbl_title02 {
  align-items: flex-start;
  color: #411c3e;
  display: flex;
  flex-direction: column;
  font-size: 1.4rem;
  font-weight: bold;
  justify-content: center;
  line-height: 1.45;
  min-height: 42px;
}
@media screen and (max-width: 767px) {
  .event_wrapCol02 .info .info_txt .lbl_title02 {
    min-height: auto;
  }
}
.event_wrapCol02 .info .info_txt .lbl_titlespan {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .event_wrapCol02 .info .info_txt .address {
    margin-top: 16px;
  }
}
.event_wrapCol02 .info .info_txt .address p {
  color: #4c4c4c;
  font-size: 1.4rem;
}
.event_wrapCol02 .info .info_txt .lecture_list {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .event_wrapCol02 .info .info_txt .lecture_list {
    padding-bottom: 30px;
  }
}
.event_wrapCol02 .info .info_txt .lecture_list .lecture {
  margin-top: 16px;
}

.txt_postpone {
  margin-top: 45px;
}
@media screen and (max-width: 767px) {
  .txt_postpone {
    margin-top: 20px;
  }
}

.congress_preparation {
  margin: 60px 0;
  text-align: center;
}

/* 製品情報
---------------------------------------------------------- */
.product_wrapper {
  background: none;
  position: relative;
}
.product_wrapper::before {
  background: url("/img/common/bg_wpr_top01.jpg") 0 0 no-repeat;
  background-size: 920px auto;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -2;
}
.product_wrapper::after {
  background: url("/img/common/bg_wpr_btm01.jpg") right bottom no-repeat;
  background-size: 920px auto;
  bottom: 0;
  content: "";
  height: 100%;
  position: absolute;
  right: 0;
  width: 100%;
  z-index: -2;
}

/**
製品説明
----------------------------------------------------------
 */
.intro {
  padding: 30px;
}
.intro::after {
  background: url("/img/product/intro_bg.png") center no-repeat;
  content: "";
  height: 100vh;
  position: absolute;
  right: 0;
  top: 0;
  width: calc(100% - 460px);
  z-index: -1;
}
.intro .ttl_img_wrap {
  align-items: center;
  display: flex;
}
.intro .ttl_img_wrap p {
  color: #411c3e;
  font-size: 1.6rem;
  line-height: 2.8rem;
  margin-left: 30px;
}
.intro .ttl {
  color: #411c3e;
  font-size: 4rem;
  font-weight: bold;
  margin-top: 50px;
}
.intro .txt {
  font-size: 1.6rem;
  line-height: 3rem;
  margin-top: 35px;
}
.intro .action_list {
  margin-top: 45px;
  width: 360px;
}
.intro .action_list button {
  font-size: 1.6rem;
}
.intro .action_list > .btn_default:nth-child(2) {
  margin-top: 10px;
}

.attribute_info .ttl_underline {
  font-weight: normal;
  font-weight: bold;
}
.attribute_info .attribute_bow_wrap {
  align-items: stretch;
  -webkit-box-align: stretch;
  -webkit-box-pack: justify;
  display: flex;
  -ms-flex-align: stretch;
  -ms-flex-pack: justify;
  flex-wrap: nowrap;
  justify-content: space-between;
}
.attribute_info .attribute_bow_wrap:nth-child(n+1) {
  margin-top: 15px;
}
.attribute_info .attribute_box {
  width: calc(50% - 6px);
}
.attribute_info .attribute_box .attribute_txts {
  border: 1px solid #ccc;
  border-bottom: 0;
  display: flex;
  padding: 10px;
}
.attribute_info .attribute_box .attribute_txts img {
  height: 90px;
  width: 90px;
}
.attribute_info .attribute_box .attribute_txts .attribute_txt {
  margin-left: 16px;
}
.attribute_info .attribute_box .attribute_txts .attribute_txt .subttl {
  color: #4c4c4c;
  font-size: 1.2rem;
}
.attribute_info .attribute_box .attribute_txts .attribute_txt .ttl {
  color: #411c3e;
  font-size: 1.6rem;
  font-weight: bold;
}

.note {
  color: #4c4c4c;
  font-size: 1rem;
  margin-top: 80px;
  word-break: break-word;
}

/**
 * 製品情報＿記事ページ
 */
.product_name_wrap {
  background-color: #f5f5f5;
  padding: 12px 22px;
}
.product_name_wrap .subttl {
  font-size: 1.6rem;
  font-weight: normal;
  font-weight: bold;
  font-weight: 200;
  line-height: 2.1rem;
}
.product_name_wrap .ttl_wrap {
  align-items: center;
  display: flex;
  font-size: 2.3rem;
  font-weight: 200;
  justify-content: space-between;
  margin-top: 1px;
}
.product_name_wrap .ttl_wrap .ttl {
  font-family: Kozuka Gothic Pro;
  font-weight: bold;
}
.product_name_wrap .ttl_wrap .ttl span:nth-child(1) {
  margin-right: 25px;
}
.product_name_wrap .btn_wrap label {
  background: #411c3e;
  border-radius: 25px;
  color: #fff;
  display: inline-block;
  font-family: Kozuka Gothic Pro;
  font-size: 1.2rem;
  line-height: 1.6rem;
  padding: 5px 21px;
}
.product_name_wrap .btn_wrap .no_bg {
  background: none;
  color: #4c4c4c;
}
@supports (-ms-ime-align: auto) {
  .product_name_wrap .product_08_btn {
    position: relative;
  }
  @media screen and (min-width: 769px) {
    .product_name_wrap .product_08_btn button:nth-child(1) {
      left: -171px !important;
      position: absolute !important;
      top: 2px !important;
    }
  }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .product_name_wrap .product_08_btn {
    position: relative;
  }
}
@media screen and (-ms-high-contrast: active) and (min-width: 769px), screen and (-ms-high-contrast: none) and (min-width: 769px) {
  .product_name_wrap .product_08_btn button:nth-child(1) {
    left: -171px !important;
    position: absolute !important;
    top: 2px !important;
  }
}

.product_desc {
  display: flex;
  margin-top: 50px;
}
.product_desc .desc_txt {
  padding-right: 4.1rem;
}
.product_desc .desc_txt .ttl {
  color: #411c3e;
  font-size: 1.9rem;
  font-weight: bold;
}
.product_desc .desc_txt ul {
  font-size: 1.6rem;
  list-style: none;
  margin-left: 1.3rem;
  margin-top: 2.1rem;
}
.product_desc .desc_txt ul li::before {
  color: #b1caa9;
  content: "•";
  display: inline-block;
  font-weight: bold;
  margin-left: -1em;
  width: 1em;
}
.product_desc .desc_txt ul li .txt_bold {
    font-weight: bold;
}
.product_desc .desc_txt .desc_sp_block ul li {
  padding-bottom: 12px;
}
.product_desc .desc_img {
  min-width: 320px;
}
.product_desc .desc_img .nf1_img {
  max-width: 115%;
  width: 115%;
}
.product_desc .desc_img02 {
  min-width: 280px;
}
.product_desc .desc_img02 .nf1_img {
  max-width: 115%;
  width: 115%;
}

.detail {
  margin-top: 30px;
}

.annotation {
  font-size: 1rem;
  margin-top: 1rem;
}

.structure {
  margin-top: 40px;
}
.structure .ttl {
  font-size: 1.4rem;
}
.structure .drawing {
  font-size: 1.4rem;
  padding: 15px 0;
  text-align: center;
}
.structure .drawing img {
  max-width: 695px;
  width: 100%;
}
.structure .drawing .nf1_bottom_img {
  max-width: 358px;
}
.structure .drawing .glidesheath_slender_desc_img {
  max-width: 680px;
}

.detail_tbl {
  width: 100%;
}
.detail_tbl thead tr th {
  background-color: #b1caa9;
  border: 1px #4c4c4c solid;
  font-size: 11px;
  height: 30px;
  line-height: 15px;
  text-align: center;
  vertical-align: middle;
}
.detail_tbl thead .double_head {
  height: 31px;
}
.detail_tbl thead .one_head {
  height: 62px;
}
.detail_tbl tbody tr td {
  border: 1px #4c4c4c solid;
  font-size: 11px;
  height: 30px;
  text-align: center;
  vertical-align: middle;
}

.detail_tbl.evtgymlive_sched_tbl tbody tr td {
  font-size: 12px;
}
.detail_tbl.evtgymlive_sched_tbl thead tr th {
  font-size: 12px;
  font-weight: 600;
  height: 48px;
}

.detail_tbl.glidesheath_slender_tbl tbody tr {
  height: 30px !important;
}
.detail_tbl.glidesheath_slender_tbl tbody tr td {
  height: 29px !important;
}

.detail_tbl tbody tr td:first-child {
  width: 100px;
}

.nav_product .nav_side li .active {
  background-color: #411c3e !important;
  border-top: 1px #fff solid;
  color: #fff;
}

.background-blue {
  background-color: #ddecf9;
}

.iliac_sfa_bg {
  background-color: #ddefed;
}

.background-yellow {
  background-color: #f7f6bd;
}

.no_style_list::before {
  content: none !important;
}
.no_style_list .img_desc {
  font-size: 10px;
}
.no_style_list .content {
  width: 207px;
}
.no_style_list .content img {
  margin-top: 10px;
}

.ttl_border_left {
  border-left: 3px solid #30082e;
  color: #411c3e;
  font-weight: bold;
  padding-left: 5px;
}

.txt_center {
  text-align: center;
}

.img_320 {
  max-width: 320px;
}
.img_320 img {
  max-height: 100% !important;
  width: 100% !important;
}

.img_280 {
  max-width: 280px;
}
.img_280 img {
  max-height: 100% !important;
  width: 100% !important;
}

.package_insert_btn {
  margin-top: 40px;
  max-width: 300px;
  width: 125px;
}

.product_download_area {
  margin-top: 40px;
}
.product_download_area .package_insert_btn {
  margin-top: 0;
}
.product_download_area .desc_img_thumb {
  display: inline-block;
  height: 231px;
  width: 371px;
}
@media screen and (max-width: 767px) {
  .product_download_area .desc_img_thumb {
    height: 184px;
    width: 320px;
  }
}
.product_download_area .desc_img_thumb img {
  height: 100%;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .intro {
    padding: 0;
  }
  .intro::after {
    content: none;
  }
  .intro .ttl_img_wrap {
    justify-content: center;
  }
  .intro .ttl_img_wrap img {
    width: 100px;
  }
  .intro .ttl_img_wrap p {
    font-size: 1.4rem;
    line-height: 2rem;
    margin-left: 15px;
  }
  .intro .ttl {
    font-size: 2.2rem;
    margin-top: 30px;
  }
  .intro .txt {
    margin-top: 24px;
  }
  .intro .action_list {
    margin-top: 32px;
    width: 100%;
  }
  .intro .action_list button {
    width: 100%;
  }
  .intro .ttl.ttl_center {
    text-align: center;
  }
  .intro .ttl.ttl_center span {
    text-align: left;
    display: inline-block;
  }

  .attribute_info .attribute_bow_wrap {
    display: block;
  }
  .attribute_info .attribute_bow_wrap .attribute_box {
    width: 100%;
  }
  .attribute_info .attribute_bow_wrap .attribute_box:nth-child(n+1) {
    margin-top: 15px;
  }
  .attribute_info .attribute_bow_wrap:nth-child(n+1) {
    margin-top: 0;
  }

  .product_name_wrap {
    padding: 1rem 2.2rem;
  }
  .product_name_wrap .subttl {
    font-size: 1.4rem;
  }
  .product_name_wrap .ttl_wrap {
    display: unset;
  }
  .product_name_wrap .ttl_wrap .ttl {
    font-size: 2rem;
  }
  .product_name_wrap .btn_wrap {
    line-height: 2rem;
  }
  .product_name_wrap .btn_wrap label:not(:first-child) {
    margin-top: 5px;
  }
  .product_name_wrap .btn_wrap button {
    font-size: 1rem;
    min-height: 2rem;
    padding: 0 21px;
  }

  .product_desc {
    display: block;
    margin-top: 3.2rem;
  }
  .product_desc .desc_txt {
    padding-right: 0;
  }
  .product_desc .desc_txt .ttl {
    font-size: 1.7rem;
  }
  .product_desc .desc_txt ul {
    font-size: 1.4rem;
    margin-top: 2.4rem;
  }
  .product_desc .desc_sp_block {
    margin: 0 auto;
    max-width: 320px;
  }
  .product_desc .desc_img {
    margin-top: 2.4rem;
    min-width: auto;
    text-align: center;
  }

  .detail_tbl {
    width: 73.2rem;
  }

  .detail {
    overflow: auto;
  }

  .annotation {
    margin-top: 1.4rem;
  }

  .drawing {
    font-size: 1.4rem;
    margin-top: 2.9rem;
  }

  .img_320 .navifocus_top_img {
    margin-bottom: 50%;
    margin-top: 50%;
  }

  .package_insert_btn {
    width: 100%;
  }
}
/* 関連論文
---------------------------------------------------------- */
.relation_info .rel_header .ttl {
  color: #411c3e;
  font-size: 2.4rem;
  font-weight: bold;
}
.relation_info .rel_content .txt {
  font-family: arial;
  font-size: 1.4rem;
  font-style: italic;
  padding: 12px 0 18px;
}
.relation_info .rel_footer .btn_detail {
  padding: 10px 2.8px;
  width: 130px;
}

.relation_intro {
  font-size: 14px;
  margin-bottom: 15px;
}

/*ニュース
-----------------------------------------------------------*/
.nav_news li > a {
  background-color: #f5f5f5 !important;
}

.new_lbl_year {
  margin-top: 3.2rem;
}

.news_list .row {
  align-items: center;
  display: flex;
  padding: 24px 0 17px;
  position: relative;
}
.news_list .row .news_head_sp {
  display: flex;
}
.news_list .row .news_head_sp .news_ttl {
  font-size: 16px;
  margin-left: 0;
  min-width: 14rem;
}
.news_list .row .news_head_sp .news_type_label {
  background-color: #b1caa9;
  color: #fff;
  font-family: Kozuka Gothic Pro;
  font-size: 1.2rem;
  height: 2rem;
  padding: 0.3rem 2rem;
  text-align: center;
  width: 6.8rem;
}
.news_list .row .news_head_sp .latest_news_label {
  margin-left: 6px;
}
.news_list .row .news_content {
  margin-left: 12px;
}
.news_list .row .news_content .btn_new {
  background-color: #411c3e;
  color: #fff;
  font-family: YuGothic;
  font-size: 1.2rem;
  font-weight: bold;
  padding: 0.3rem 1.5rem;
  position: absolute;
  right: 0;
  top: 55%;
  transform: translateY(-50%);
}
.news_list .row .news_txt {
  font-size: 16px;
  padding-right: 5.3rem;
}

@media screen and (max-width: 767px) {
  .new_lbl_year {
    margin-top: 2.4rem;
  }

  .news_list .row {
    display: block;
  }
  .news_list .row .news_head_sp {
    align-items: center;
  }
  .news_list .row .news_head_sp .news_ttl {
    font-size: 14px;
  }
  .news_list .row .news_head_sp .news_type_label {
    height: unset;
  }
  .news_list .row .news_txt {
    font-size: 14px;
    margin-left: 0;
    margin-top: 0.6rem;
    width: 100%;
  }
  .news_list .row .news_content {
    margin-left: 0;
  }
  .news_list .row .news_content .btn_new {
    position: unset;
    right: unset;
    top: unset;
    transform: unset;
    width: auto;
  }
}
/* よくあるご質問
---------------------------------------------------------- */
.faq_categories .row {
  display: flex;
  width: 100%;
}
.faq_categories .row .faq_cate_btn {
  margin-left: 0;
  text-decoration: none;
  width: calc(50% - 8px);
}
@media screen and (max-width: 360px) {
  .faq_categories .row .faq_cate_btn {
    padding: 0.5rem 1rem;
  }
}
.faq_categories .row .faq_cate_btn button {
  min-height: 90px;
  text-align: left;
  text-overflow: ellipsis;
}
.faq_categories .row .faq_cate_btn:nth-child(2n) {
  margin-left: 16px;
}
.faq_categories .row:nth-child(n+1) {
  margin-top: 16px;
}

.faq_detail .faq_detail_info {
  border: 1px solid #ccc;
  margin-bottom: 12px;
}
.faq_detail .faq_detail_info .faq_question {
  align-items: center;
  display: flex;
  justify-content: center;
  padding: 10px 9px;
}
.faq_detail .faq_detail_info .faq_question .icon {
  background-color: #b1caa9;
  border-radius: 50%;
  color: #fff;
  font-family: Kozuka Gothic Pro;
  font-size: 2.4rem;
  font-weight: bolder;
  height: 4rem;
  line-height: 4rem;
  min-width: 4rem;
  text-align: center;
  width: 4rem;
}
.faq_detail .faq_detail_info .faq_question .ttl {
  font-size: 18px;
  padding: 6px 12px;
  width: calc(100% - 82px);
}
.faq_detail .faq_detail_info .faq_question .icon_collapse {
  font-size: 31px;
  line-height: 1;
  min-width: 30px;
  width: 30px;
}
.faq_detail .faq_detail_info .faq_question .icon_collapse .sub {
  display: none;
  font-size: 56px;
  line-height: 0.5;
}
.faq_detail .faq_detail_info .faq_answer {
  background-color: #f5f5f5;
  display: none;
  padding: 10px 9px;
}
.faq_detail .faq_detail_info .faq_answer .icon {
  background-color: #411c3e;
  border-radius: 50%;
  color: #fff;
  float: left;
  font-family: Kozuka Gothic Pro;
  font-size: 2.4rem;
  font-weight: bolder;
  height: 4rem;
  line-height: 4rem;
  min-width: 4rem;
  text-align: center;
  width: 4rem;
}
.faq_detail .faq_detail_info .faq_answer .txt {
  font-size: 16px;
  padding: 8px 50px;
  width: calc(100% - 95px);
}

/* =================================
R2P PRIME MEMBERS
================================= */
/* 見出し1
---------------------------------------------------------- */
.area_login {
  mix-blend-mode: multiply;
}
.area_login img {
  width: 100%;
}
.area_login .area_login_ttl01 {
  color: #411c3e;
  font-family: "ApexSans Bold";
  font-weight: bold;
}

@media print, only screen and (min-width: 768px) {
  .wrapper .area_login {
    margin: -65px -20px -150px;
  }

  .area_login {
    background: url("/img/login/bg01.png") right -108px top 14px no-repeat;
    background-size: 1062px auto;
    padding: 100px 20px 160px;
  }

  .area_login_ttl01 {
    font-size: 48px;
    margin-bottom: 40px;
    margin-bottom: 2.5rem;
    width: 517px;
  }
}
@media screen and (max-width: 767px) {
  .area_login_ttl01 {
    font-size: 3.5rem;
    font-weight: bold;
    margin-bottom: 2.5rem;
  }
}
/* 見出し2
---------------------------------------------------------- */
.area_login_ttl02 {
  color: #411c3e;
}
@media print, only screen and (min-width: 768px) {
  .area_login_ttl02 {
    font-size: 26px;
    margin: 77px 0 9px;
  }
}
@media screen and (max-width: 767px) {
  .area_login_ttl02 {
    font-size: 2.6rem;
    line-height: 1.3;
    margin: 4.5rem 0 1.5rem;
    text-align: center;
  }
  .area_login_ttl02 strong {
    display: block;
  }
}
.area_login_ttl02 strong {
  font-weight: bold;
}

/* テキスト
---------------------------------------------------------- */
.area_login_txt {
  line-height: 1.6;
}
@media print, only screen and (min-width: 768px) {
  .area_login_txt {
    margin-bottom: 26px;
  }
}
@media screen and (max-width: 767px) {
  .area_login_txt {
    margin-bottom: 2.5rem;
  }
}

/* フォーム
---------------------------------------------------------- */
@media print, only screen and (min-width: 768px) {
  .area_login_form {
    margin-top: 35px;
  }
  .area_login_form input {
    width: 448px;
  }
}
@media screen and (max-width: 767px) {
  .area_login_form {
    margin: 4rem 0 1rem;
  }
  .area_login_form input {
    margin-bottom: 2.2rem;
    width: 100%;
  }
}
.area_login_form input[type=text],
.area_login_form input[type=password] {
  background: none;
  border: 0;
  border: 1px #ccc solid;
  border-radius: 0;
  box-sizing: border-box;
  outline: none;
  padding: 0;
  padding: 0.8em;
}
.area_login_form .ttl {
  font-weight: bold;
  margin: 20px 0 5px;
}
.area_login_form .ttl .small {
  font-size: 1.4rem;
  font-weight: normal;
}

.login_btns {
  margin-top: 20px;
}

/* チェック
---------------------------------------------------------- */
.area_login_checkbox {
  line-height: 1.6;
}
@media print, only screen and (min-width: 768px) {
  .area_login_checkbox {
    font-size: 1.4rem;
    margin-bottom: 11px;
  }
}
@media screen and (max-width: 767px) {
  .area_login_checkbox {
    font-size: 1.4rem;
    text-align: center;
  }
}

.area_login_maintenance {
  border: 1px solid #D9211E;
  padding: 15px 10px;
  color: #D9211E;
  display: inline-block;
}
.area_login_maintenanceTtl {
  margin-bottom: 20px;
  font-weight: 700;
}

/* リンク
---------------------------------------------------------- */
.area_login_link a {
  background: url("/img/common/arw01.svg") left center no-repeat;
  background-size: 5px auto;
  color: #411c3e;
  text-decoration: underline;
}
@media print, only screen and (min-width: 768px) {
  .area_login_link a {
    font-size: 14px;
    padding-left: 18px;
  }
  .area_login_link a:hover {
    text-decoration: none;
  }
}

@media screen and (max-width: 767px) {
  .area_login_link {
    margin-top: 3rem;
    text-align: center;
  }
  .area_login_link a {
    font-size: 1.4rem;
    padding-left: 1.6rem;
  }
}
.modal {
  bottom: 0;
  font-size: 1.6rem;
  left: 0;
  line-height: 1.6;
  overflow-x: hidden;
  overflow-y: auto;
  position: fixed;
  right: 0;
  top: 0;
  visibility: hidden;
  z-index: 1072;
}
.modal.show {
  opacity: 1;
  visibility: visible;
}
.modal.u-modalCases {
  align-items: center;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
}
.modal.u-modalCases .modal_dialog {
  margin: 0 auto;
  max-width: 500px;
}
@media screen and (max-width: 767px) {
  .modal.u-modalCases .modal_dialog {
    max-width: 100%;
    width: 100%;
  }
}
.modal.u-modalCases .modal_content {
  box-sizing: border-box;
  padding: 60px;
}
@media screen and (max-width: 767px) {
  .modal.u-modalCases .modal_content {
    padding: 60px 16px;
  }
}
.modal.u-modalCases .close {
  max-width: 60px;
  position: absolute;
  right: 0;
  top: 0;
}
.modal.u-modalCases .close:hover {
  opacity: 0.7;
}
.modal .modal_dialog {
  margin: 80px auto;
  max-width: 882px;
  pointer-events: none;
  position: relative;
  width: auto;
}
@media screen and (max-width: 767px) {
  .modal .modal_dialog {
    width: 80%;
  }
}
.modal .modal_dialog .modal_content {
  background-clip: padding-box;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  outline: 0;
  padding-top: 40px 0 60px;
  pointer-events: auto;
  position: relative;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .modal .modal_dialog .modal_content {
    padding: 60px 0 16px;
  }
}
.modal .modal_dialog .modal_content .modal_header {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}
.modal .modal_dialog .modal_content .modal_header .modal_ttl {
  color: #411c3e;
  font-size: 3.2rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .modal .modal_dialog .modal_content .modal_header .modal_ttl {
    font-size: 2.2rem;
  }
}
.modal .modal_dialog .modal_content .modal_header .close:not(:disabled):not(.disabled) {
  cursor: pointer;
}
.modal .modal_dialog .modal_content .modal_header .close {
  color: #000;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  margin: -1rem -1rem -1rem auto;
  opacity: 0.5;
  padding: 1rem;
  position: absolute;
  right: 20px;
  text-shadow: 0 1px 0 #fff;
  top: 20px;
}
.modal .modal_dialog .modal_content .modal_body {
  border: 0;
  margin-top: 20px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .modal .modal_dialog .modal_content .modal_body {
    font-size: 1.4rem;
    padding: 10px 0 0;
    text-align: center;
  }
}
.modal .modal_dialog .modal_content .modal_body.product_modal {
  padding: 0 10px;
}
.modal .modal_dialog .modal_content .modal_body.product_modal .product_ifr {
  height: 100%;
  min-height: 540px;
  width: 100%;
}
.modal .modal_dialog .modal_content .modal_footer {
  padding: 40px 56px;
}
@media screen and (max-width: 767px) {
  .modal .modal_dialog .modal_content .modal_footer {
    padding: 10px 10px 40px;
  }
}
.modal .modal_figure {
  height: 100%;
  margin: 0 auto;
  max-height: 340px;
  min-height: 340px;
  width: 375px;
}
.modal .modal_figurecap {
  color: #401c3e;
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.7;
  margin: 10px auto 0;
  max-width: 284px;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .modal .modal_figurecap {
    font-size: 1.4rem;
    letter-spacing: 0.03em;
    max-width: 244px;
    text-align: left;
  }
}

.confirm {
  background-color: #f5f5f5;
  margin: 0 auto;
  padding: 35px;
  text-align: center;
  width: 80%;
}
@media screen and (max-width: 767px) {
  .confirm {
    padding: 20px 0;
    width: 100%;
  }
}
.confirm .txt_confirm {
  color: #411c3e;
  font-size: 2.4rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .confirm .txt_confirm {
    font-size: 1.6rem;
  }
}
.confirm .action {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .confirm .action {
    display: block;
    margin-top: 20px;
  }
}

.btn_modal {
  background: url("/img/common/arw01.svg") right 17px center no-repeat, url("/img/common/arw01_on.svg") -9999px 0 no-repeat;
  border: 1px #ccc solid;
  display: block;
  font-size: 1.6rem;
  padding: 20px 100px;
  text-decoration: none;
}
@media print, only screen and (min-width: 768px) {
  .btn_modal:nth-child(n+2) {
    margin-left: 20px;
  }
}
@media screen and (max-width: 767px) {
  .btn_modal {
    font-size: 1.4rem;
    margin: 0 auto;
    padding: 10px;
    width: 250px;
  }
  .btn_modal:nth-child(n+2) {
    margin-top: 20px;
  }
}
.btn_modal:hover {
  background-color: #411c3e;
  background-position: -9999px 0, right 10px center;
  color: #fff;
}

.modal_backdrop {
  background-color: #000;
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1071;
}

.modal_backdrop.show {
  opacity: 0.5;
}

.fade {
  transition: opacity 0.15s linear;
}
.fade .show {
  opacity: 1;
}

.modal_open {
  overflow: hidden;
}

.hidden {
  display: none;
}

.interview_desc {
  padding-top: 11.3rem;
  text-align: center;
}

.sidebar_interview_banner {
  margin-bottom: 45px;
}
.sidebar_interview_banner a {
  background-color: #eee;
  display: block;
  font-family: YuGothic;
  font-size: 1.4rem;
  padding: 25px 0;
  text-align: center;
  text-decoration: none;
  width: 100%;
}
.sidebar_interview_banner a:nth-child(2n+1) {
  margin-top: 12px;
}

.site_map {
  color: #4c4c4c;
  padding-top: 27px;
}
.site_map .row {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  width: 80%;
}
.site_map .row .left,
.site_map .row .right {
  padding-top: 10px;
  width: calc(50% - 40px);
}
.site_map .row .left .page_link,
.site_map .row .right .page_link {
  border-bottom: 1px solid #ccc;
  color: #4c4c4c;
  font-weight: 600;
  max-width: 500px;
  padding: 20px 10px 10px;
}
.site_map .row .left .page_link a,
.site_map .row .right .page_link a {
  color: #4c4c4c;
  font-family: Kozuka Gothic Pro;
  font-size: 20px;
  font-weight: 600;
  text-decoration: none;
}
.site_map .row .left .page_link li:nth-child(n+2),
.site_map .row .right .page_link li:nth-child(n+2) {
  padding-top: 10px;
}
.site_map .row .left .page_link.sub_list,
.site_map .row .right .page_link.sub_list {
  border-bottom: 0;
  padding-top: 0;
}
.site_map .row .left .page_link.special,
.site_map .row .right .page_link.special {
  padding-top: 30px;
}
.site_map .row:nth-child(n+2) {
  margin-top: 20px;
}
.site_map .fz_16_normal {
  font-size: 16px !important;
  font-weight: normal !important;
}
.site_map .fz_20_bold {
  font-size: 16px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .site_map .row {
    display: block;
    width: 100%;
  }
  .site_map .row .left,
.site_map .row .right {
    padding-top: 0;
    width: 100%;
  }
  .site_map .row .left .page_link,
.site_map .row .right .page_link {
    max-width: 100%;
    padding: 8px 10px;
    width: calc(100% - 20px);
  }
  .site_map .row .left .page_link.special,
.site_map .row .right .page_link.special {
    padding-top: 8px;
  }
  .site_map .row .right {
    padding-top: 20px;
  }
}
.error_content {
  color: #4c4c4c;
  font-family: Kozuka Gothic Pro;
  margin-top: 50px;
}
.error_content .err_mgs {
  font-size: 22px;
  font-weight: bold;
  padding-bottom: 40px;
  padding-top: 15px;
  text-align: center;
}
.error_content .err_mgs .err_desc {
  font-size: 16px;
  font-weight: normal;
  padding-top: 20px;
}


/* evtgymlive
---------------------------------------------------------- */
.evtgymlive_mainImg {
  margin-bottom: 48px;
}
@media screen and (max-width: 767px) {
  .evtgymlive_mainImg {
    margin-bottom: 0;
  }
}

.evtgymlive_contents .ttl {
  font-size: 24px;
  font-weight: bold;
  color: #411C3E;
}
@media screen and (max-width: 767px) {
  .evtgymlive_contents .ttl {
    font-size: 20px;
  }
}

.evtgymlive_point_box {
  border: 1px solid #FFB25B;
  display: flex;
  gap: 20px;
  padding: 20px 20px 20px 0;
  margin: 24px 0 64px;
}
@media screen and (max-width: 767px) {
  .evtgymlive_point_box {
    display: block;
    margin: 24px 0 40px;
    padding: 10px 10px 20px 0;
  }
}

.evtgymlive_point_lbl {
  box-sizing: border-box;
  padding-right: 6px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: 32px;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .evtgymlive_point_lbl {
    margin-bottom: 16px;
  }
}

.evtgymlive_point_lbl::before {
  content: '';
  background-image: url("/img/evtgymlive/point_ribbon.svg");
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.evtgymlive_point_list {

}
@media screen and (max-width: 767px) {
  .evtgymlive_point_list {
    padding-left: 10px;
  }
}

.evtgymlive_point_item {
  display: flex;
  gap: 8px;
}

.evtgymlive_point_item:not(:last-child) {
  margin-bottom: 1rem;
}

.evtgymlive_point_num {
  font-size: 20px;
  font-weight: bold;
  color: #FFB25B;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .evtgymlive_point_num {
    font-size: 1.8rem;
  }
}

.evtgymlive_point_txt {
  font-size: 18px;
  font-weight: 500;
  color: #4C4C4C;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .evtgymlive_point_txt {
    font-size: 1.6rem;
  }
}

.evtgymlive_sched.tab_wrap {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .evtgymlive_sched.tab_wrap {
    margin-top: 2rem;
  }
}

.evtgymlive_sched_cont {
  margin-top: 20px;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .evtgymlive_sched_cont {
    display: block;
  }
}

.evtgymlive_sched_datetime {
  margin-bottom: 24px;
  padding-left: 40px;
  display: flex;
  align-items: flex-end;
  position: relative;
}
@media screen and (max-width: 767px) {
  .evtgymlive_sched_datetime {
    display: block;
  }
}

.evtgymlive_sched_datetime::before {
  content: '';
  background-image: url("/img/icon/time_icon.svg");
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 26.46px;
  height: 32px;
  position: absolute;
  left: 0;
  top: 0;
}

.evtgymlive_sched_date {
  font-size: 18px;
  font-weight: bold;
  color: #411C3E;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .evtgymlive_sched_date {
    margin-bottom: 1rem;
  }
}


.evtgymlive_sched_date span {
  font-size: 32px;
  font-weight: bold;
}

.evtgymlive_sched_time {
  font-size: 24px;
  font-weight: bold;
  color: #411C3E;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .evtgymlive_sched_time {
    font-size: 18px;
  }
}

.evtgymlive_sched_point {
  margin-bottom: 24px;
  display: flex;
  gap: 17px;
}
@media screen and (max-width: 767px) {
  .evtgymlive_sched_point {
    display: block;
  }
}

.evtgymlive_sched_pointLbl {
  box-sizing: border-box;
  padding-right: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 26px;
  font-size: 17px;
  font-weight: bold;
  color: #FFB25B;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .evtgymlive_sched_pointLbl {
    margin-bottom: 1.4rem;
  }
}

.evtgymlive_sched_pointLbl::before {
  content: '';
  background-image: url("/img/evtgymlive/point_ribbon_02.svg");
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.evtgymlive_sched_pointTxt {
  padding-left: 16px;
  font-size: 16px;
  font-weight: 500;
  color: #4C4C4C;
  position: relative;
}

.evtgymlive_sched_pointTxt::before {
  content: '';
  background-color: #FFB25B;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 7px;
}

.evt_sched_logWrap {
  display: flex;
  gap: 48px;
}
@media screen and (max-width: 767px) {
  .evt_sched_logWrap {
    display: block;
  }
}

.evt_sched_btnWrap .btn_default {
  width: 370px;
  max-width: 370px;
  font-size: 18px;
  padding: 15px 20px;
}
@media screen and (max-width: 767px) {
  .evt_sched_btnWrap .btn_default {
    width: 100%;
  }
}

.evt_sched_btnAnnot.annotation {
  padding-left: 1em;
  text-indent: -1em;
  margin-top: 8px;
  font-size: 12px;
}

.evt_sched_logTxt {
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .evt_sched_logTxt {
    margin-top: 22px;
  }
}

.evt_sched_logLink {
  font-weight: bold;
  color: #411C3E;
  text-decoration: underline;
}

.evt_sched_btn {
  box-sizing: border-box;
  position: relative;
  max-width: 353px;
  padding: 14px 10px;
}
@media screen and (max-width: 767px) {
  .evt_sched_btn   {
    max-width: 100%;
    padding: 14px 28px 14px 10px
  }
}

.program_wrapper .evt_sched_btn {
  max-width: 370px;
  flex-direction: column;
  padding: 5px 10px;
}
@media screen and (max-width: 767px) {
  .program_wrapper .evt_sched_btn  {
    padding: 5px;
    max-width: 100%;
  }
}

.program_wrapper .evt_sched_btn h5 {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .program_wrapper .evt_sched_btn h5 {
    font-size: 16px;
  }
}

.program_wrapper .evt_sched_btn p {
  font-size: 12px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .program_wrapper .evt_sched_btn p {
    font-size: 10px;
  }
}

.evt_sched_btn span {
  font-size: 14px;
  font-weight: bold;
  line-height: 1.3;
}


.evt_sched_btn i {
  position: absolute;
  right: 16px;
  width: 12px;
  height: 12px;
  background-size: 12px;
}

.evtgymlive_sched_imgWrap {

}
@media screen and (max-width: 767px) {
  .evtgymlive_sched_imgWrap {
    margin-top: 24px;
  }
}

.evtgymlive_sched_img {
  margin: 0 auto;
  max-width: 100px;
  display: block;
}

.evtgymlive_sched .btn_download {
  margin-top: 12px;
}

.evtgymlive_sched .btn_download span {
  font-size: 14px;
  font-weight: bold;
  color: #411C3E;
}

.evtgymlive_sched .btn_download a:hover span {
  color: #fff;
}

.evtgymlive_sched .btn_download a {
  align-items: center;
  border: 1px #411c3e solid;
  margin: 0 auto;
  color: #411c3e;
  display: block;
  font-size: 1.4rem;
  line-height: 1.4rem;
  padding: 10px 0;
  text-align: center;
  text-decoration: none;
  width: 214px;
}

.evtgymlive_sched .btn_download a:hover {
  background-color: #411c3e;
}

.evtgymlive_sched .btn_download a:hover .file_icon {
  display: none;
}

.evtgymlive_sched .btn_download img {
  height: 14px;
  width: 12px;
}

.evtgymlive_sched .btn_download .file_icon_hover {
  display: none;
}

.evtgymlive_sched .btn_download a:hover .file_icon_hover {
  display: inline-block;
}

.evtgymlive_sched_tblTtl {
  border-left: 4px #411c3e solid;
  margin-bottom: 16px;
  padding-left: 8px;
  font-size: 20px;
  font-weight: bold;
  color: #411C3E;
}

.evtgymlive_sched .detail {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .evtgymlive_sched .detail {
    margin-top: 40px;
  }
}

.evtgymlive_sched_tbl td.bgGreen {
  background-color: #B1CAA9;
  font-weight: 600;
}

.evtgymlive_contents .btn_center {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .evtgymlive_contents .btn_center  {
    margin-top: 4.5rem;
  }
}


.playback_wrapper {
  
}

.playback_wrapper .ttl {
  border-bottom: 1px #4c4c4c solid;
  margin-bottom: 20px;
  padding-bottom: 8px;
  line-height: 1;
}

.playback_anchor_wrap {
  margin-bottom: 80px;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .playback_anchor_wrap {
    margin-bottom: 64px;
    flex-direction: column;
    gap: 16px;
  }
}

.playback_anchor_link {
  padding: 16px 46px 16px 16px;
  background-color: #411C3E;
  color: #fff;
  width: calc(50% - 10px);
  box-sizing: border-box;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .playback_anchor_link {
    padding: 16px 40px 16px 16px;
    width: 100%;
    min-height: 97px;
  }
}

.playback_anchor_link::after {
  content: '';
  background-image: url(/img/icon/angle-right.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 14px;
  height: 14px;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
}

.playback_anchor_ttl {
  margin-bottom: 4px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
}

.playback_anchor_name {
  font-size: 14px;
  font-weight: 500;
}

.playback_anchor_name span {
  font-size: 12px;
}

.playback_cont {
  margin-bottom: 120px;
  margin-top: -158px;
  padding-top: 158px;
}
@media screen and (max-width: 767px) {
  .playback_cont {
    margin-bottom: 80px;
  }
}

.playback_cont.playback_bottom_cont {
  margin-bottom: 0;
}


.playback_head {
  border-left: 4px solid #411C3E;
  margin-bottom: 40px;
  padding: 30px 196px 30px 24px;
  background-color: #F5F5F5;
  position: relative;
}
@media screen and (max-width: 767px) {
  .playback_head {
    padding: 14px 115px 14px 16px;
  }
}

.playback_head_ttl {
  margin-bottom: 15px;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
  color: #411C3E;
}
@media screen and (max-width: 767px) {
  .playback_head_ttl {
    margin-bottom: 10px;
    font-size: 20px;
  }
}

.playback_head_loc {
  font-size: 14px;
  font-weight: 500;
  color: #411C3E;
  line-height: 1.2;
}

.playback_head_name {
  font-size: 20px;
  font-weight: 700;
  color: #411C3E;
}
@media screen and (max-width: 767px) {
  .playback_head_name {
    font-size: 18px;
  }
}

.playback_head_name span {
  font-size: 14px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .playback_head_name span {
    font-size: 12px;
  }
}

.playback_head_fig {
  /* width: 150px; */
  height: 150px;
  position: absolute;
  right: 16px;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .playback_head_fig {
    height: 110px;
    right: 0;
  }
}

.playback_head_fig img {
  height: 100%;
}

.playback_block {
  margin-bottom: 60px;
}

.playback_block.playback_reco_block {
  margin-bottom: 0;
}

.playback_txt {

}

.playback_fig_wrap {
  margin-top: 35px;
  display: flex;
  justify-content: center;
  gap: 20px 10px;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .playback_fig_wrap {
    flex-direction: column;
    align-items: center;
    gap: 36px;
  }
}

.playback_fig {
  max-width: 380px;
}

.block01 .playback_fig {
  max-width: 218px;
}

.block02 .playback_fig:nth-child(1) {
  max-width: 300px;
}
.block02 .playback_fig:nth-child(2) {
  max-width: 291px;
}
.block02 .playback_fig:nth-child(3) {
  max-width: 285px;
}

.block03 .playback_fig:nth-child(1) {
  max-width: 248px;
}
.block03 .playback_fig:nth-child(2) {
  max-width: 406px;
}
.block03 .playback_fig:nth-child(3) {
  max-width: 274px;
}
.block03 .playback_fig:nth-child(4) {
  max-width: 317px;
}
.block03 .playback_fig:nth-child(5) {
  max-width: 267px;
}

.block04 .playback_fig:nth-child(1) {
  max-width: 250px;
}
.block04 .playback_fig:nth-child(2) {
  max-width: 311px;
}

.block05 .playback_fig:nth-child(1) {
  max-width: 380px;
}
.block05 .playback_fig:nth-child(2) {
  max-width: 422px;
}

.block06 .playback_fig:nth-child(1) {
  max-width: 335px;
}
.block06 .playback_fig:nth-child(2) {
  max-width: 258px;
}
.block06 .playback_fig:nth-child(3) {
  max-width: 284px;
}
.block06 .playback_fig:nth-child(4) {
  max-width: 380px;
}
.block06 .playback_fig:nth-child(5) {
  max-width: 281px;
}

.playback_fig figcaption {
  margin-top: 10px;
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  .playback_fig figcaption {
    margin-top: 8px;
  }
}

.playback_noteTxt {
  margin: 0 auto 30px;
  font-size: 14px;
  max-width: 732px;
  text-align: right;
}

.playback_inquiry_wrap{

}

.playback_inquiry_code{
  max-width: 732px;
  margin: 0 auto;
  text-align: right;
  font-size: 14px;
  line-height: 1;
  margin-bottom: 30px;
  color: #4C4C4C;
}

.playback_inquiry {
  box-sizing: border-box;
  margin: 0 auto;
  border: 1px solid #CCCCCC;
  padding: 24px 32px;
  max-width: 732px;
}
@media screen and (max-width: 767px) {
  .playback_inquiry {
    padding: 24px 10px;
  }
}

.playback_inquiry_ttl {
  margin-bottom: 16px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  color: #411C3E;
}

.playback_inquiry_list {

}

.playback_inquiry_item {
  padding-left: 16px;
  font-size: 16px;
  font-weight: 700;
  position: relative;
}

.playback_inquiry_item::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #411C3E;
  position: absolute;
  left: 0;
  top: 8px;
}

.playback_inquiry_item:not(:last-child) {
  margin-bottom: 5px;
}

.playback_inquiry_item .thin_txt {
  font-weight: 400;
}

.playback_inquiry_btn {
  margin: 30px auto 0;
  background-color: #411C3E;
  max-width: 335px;
  height: 48px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.playback_inquiry_btn span {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
}

.playback_inquiry_btn .angle_right {
  width: 14px;
  height: 14px;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
}

.playback_top_btn_wrap {
  margin-top: 64px;
}
@media screen and (max-width: 767px) {
  .playback_top_btn_wrap {
    margin-top: 48px;
  }
}

.playback_top_btn {
  margin-left: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 160px;
  height: 40px;
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  background-color: #411C3E;
  text-decoration: none;
  position: relative;
}


.playback_top_btn::after {
  content: '';
  background-image: url(../img/icon/arrow_top.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 13px;
  height: 13px;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
}

.playback_related_products {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 26px;  
}
@media screen and (max-width: 767px) {
  .playback_related_products {
    justify-content: flex-start;
  }
}

.playback_related_productLink {
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .playback_related_productLink {
    display: flex;
    gap: 12px;
  }
}
.playback_related_productLink:hover {
  text-decoration: none;
}

.playback_related_product {
  max-width: 230px;
}
@media screen and (max-width: 767px) {
  .playback_related_product {
    max-width: 100%;
    display: flex;
    align-items: flex-start;
    gap: 12px;
  }
}

.playback_related_fig {
  border: 1px solid #CCCCCC;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .playback_related_fig {
    margin: 0;
    min-width: 90px;
    max-width: 90px;
  }
}

.playback_related_ttlWrap {
}
@media screen and (max-width: 767px) {
  .playback_related_ttlWrap {
    margin-top: 6px;
  }
}

.playback_related_subttl {
  font-size: 12px;
  font-weight: 500;
  color: #411C3E;
}

.playback_related_ttl {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  color: #411C3E;
}

.playback_bottom_cont .ttl {
  margin-bottom: 24px;
}

.playback_video_list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 26px;  
}

.playback_video_wrap {
  max-width: 304px;
}

.playback_video_wrap img {
  border: 1px solid #CCCCCC;
}

.playback_reco_list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 26px;  
}
@media screen and (max-width: 767px) {
  .playback_reco_list {
    justify-content: flex-start;
  }
}

.playback_reco_item {
  max-width: 230px;
}
@media screen and (max-width: 767px) {
  .playback_reco_item {
    max-width: 100%;
  }
}

.playback_reco_link {
  text-decoration: none;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .playback_reco_link {
    display: flex;
    align-items: flex-start;
    gap: 12px;
  }
}

.playback_reco_fig {
  border: 1px solid #CCCCCC;
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .playback_reco_fig {
    min-width: 90px;
    max-width: 90px;
  }
}

.playback_reco_ttlWrap {

}

.playback_reco_ttl {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  color: #411C3E;
}
@media screen and (max-width: 767px) {
  .playback_reco_ttl {
    font-size: 16px;
    line-height: 1.6;
  }
}

.playback_reco_subttl {
  font-size: 12px;
  font-weight: 500;
  color: #411C3E;
}
@media screen and (max-width: 767px) {
  .playback_reco_subttl {
    margin-top: 2px;
  }
}


.maintenance_cont {
  display: flex;
  align-items: center;
  justify-content: center;
  height: calc(100vh - (11rem + 28rem));
  padding: 0 2rem;
}
@media screen and (max-width:1030px) {
  .maintenance_cont {
      height: calc(100vh - (17.1vw + 11rem + 19.3rem));
  }
}
.maintenance_txt {
  font-size: 1.6rem;
  font-weight: 700;
  font-feature-settings: normal;
  color: #415364;
  text-align: center;
  line-height: 1.4;
}
@media screen and (max-width:1030px) {
  .maintenance_txt {
      font-size: 1rem;
  }
}



.introduction_btn {
  background-color: #411C3E;
  height: 48px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.introduction_btn span {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
}

.introduction_btn .angle_right {
  width: 14px;
  height: 14px;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
}

.introduction_block {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .introduction_block {
    margin-top: 42px;
  }
}

.introduction_blockHeader {
  border-left: 6px solid #411C3E;
  padding: 18px 22px;
  background-color: #F5F5F5;
}
@media screen and (max-width: 767px) {
  .introduction_blockHeader {
    border-left: 5px solid #411C3E;
    padding: 15px;
  }
}

.introduction_blockHeaderTtl {
  font-size: 26px;
  font-weight: 700;
  color: #411C3E;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .introduction_blockHeaderTtl {
    font-size: 20px;
  }
}

.introduction_blockTtl {
  border-bottom: 1px solid #411C3E;
  padding-bottom: 6px;
  font-size: 24px;
  font-weight: 700;
  color: #411C3E;
}
@media screen and (max-width: 767px) {
  .introduction_blockTtl {
    font-size: 20px;
  }
}

.introduction_kv {

}

.introduction_mainImg {

}

.introduction_kvTxtWrap {
  padding: 48px 20px;
  background-color: #F5F5F5;
}
@media screen and (max-width: 767px) {
  .introduction_kvTxtWrap {
    padding: 30px 10px;
  }
}

.introduciton_kvTxt {
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  color: #411C3E;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .introduciton_kvTxt {
    font-size: 16px;
    line-height: 1.8;
  }
}

.introduction_evtBlock {

}

.introduction_evtBlockFlex {
  display: flex;
  justify-content: center;
  gap: 35px;
}
@media screen and (max-width: 767px) {
  .introduction_evtBlockFlex {
    flex-direction: column;
  }
}

.introduction_evtBlockItem {
  width: 480px;
}
@media screen and (max-width: 767px) {
  .introduction_evtBlockItem {
    width: 100%;
  }
}

.introduction_evtBlockFig img {
  width: 100%;
}

.introduction_evtBlockTxt {
  margin-top: 15px;
  display: flex;
  gap: 6px;
  font-size: 12px;
  color: #4C4C4C;
}

.introduction_evtBtnWrap {
  margin: 35px auto 0;
  max-width: 370px;
}

.introduction_evtBtnNoteTxt {
  margin-top: 6px;
  font-size: 12px;
  text-align: center;
}

.introduction_recoCont {
  margin-top: 32px;
}

.introduction_recoWrap {
  display: flex;
  justify-content: center;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .introduction_recoWrap {
    flex-direction: column;
    gap: 20px;
  }
}

.introduction_recoItem {
  border: 1px solid #CCCCCC;
  width: 480px;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .introduction_recoItem {
    width: 100%;
  }
}

.introduction_recoFig {

}

.introduction_recoTxt {
  margin: 20px;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .introduction_recoTxt {
    margin: 18px 6px;
  }
}

.introduction_recoBtnWrap {
  margin-top: auto;
}

.introduction_productCont {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .introduction_productCont {
    margin-top: 32px;
  }
}

.introduction_productCont:not(:last-child) {
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .introduction_productCont:not(:last-child) {

  }
}

.introduction_products {
  margin-top: 32px;
  display: flex;
  justify-content: center;
  gap: 32px;
}
@media screen and (max-width: 767px) {
  .introduction_products {
    margin-top: 20px;
    padding: 0 22px;
    flex-direction: column;
  }
}

.introduction_productItem {
  width: 312px;
}
@media screen and (max-width: 767px) {
  .introduction_productItem {
    width: 100%;
  }
}

.introduction_productLink {
  text-decoration: none;
}

.introduction_productLink:hover {
  text-decoration: none;
}

.introduction_productFig {
  border: 1px solid #CCCCCC;
}

.introduction_productTxtWrap {
  margin-top: 16px;
}

.introduction_productSubttl {
  font-size: 12px;
  font-weight: 500;
  color: #411C3E;
  line-height: 1;
}

.introduction_productTtl {
  font-size: 18px;
  font-weight: 700;
  color: #411C3E;
}

.introduction_productTxt {
  font-size: 16px;
  line-height: 1.6;
}

.introduction_productBtnWrap {
  margin: 38px auto 0;
  max-width: 324px;
}
@media screen and (max-width: 767px) {
  .introduction_productBtnWrap {
    max-width: 100%;
  }
}

.introduction_descBnr {
  margin: 80px 0 80px -20px;
  padding: 52px 20px;
  width: 100%;
  background-color: #D4E8C0;
}
@media screen and (max-width: 767px) {
  .introduction_descBnr {
    margin: 64px 0 64px -10px;
    padding: 30px 10px;
  }
}

.introduction_descBnrTxt {
  font-size: 18px;
  font-weight: 700;
  color: #411C3E;
  text-align: center;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .introduction_descBnrTxt {
    font-size: 16px;
    line-height: 1.8;
  }
}

.introduction_btmCont {

}

.introduction_bnr {
  border: 1px solid #CCCCCC;
  margin: 0 auto 80px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 930px;
}
@media screen and (max-width: 767px) {
  .introduction_bnr {
    margin-bottom: 64px;
    flex-direction: column-reverse;
  }
}

.introduction_bnrTxtWrap {
  padding: 0 48px;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .introduction_bnrTxtWrap {
    padding: 18px 16px;
    width: 100%;
  }
}

.introduction_bnrTtl {
  margin-bottom: 5px;
  font-size: 26px;
  font-weight: 700;
  color: #411C3E;
}
@media screen and (max-width: 767px) {
  .introduction_bnrTtl {
    margin-bottom: 8px;
    font-size: 18px;
  }
}

.introduction_bnrTxt {
  font-size: 16px;
}

.introduction_bnrBtnWrap {
  margin-top: 35px;
  max-width: 280px;
}
@media screen and (max-width: 767px) {
  .introduction_bnrBtnWrap {
    margin-top: 20px;
    max-width: 100%;
  }
}

.introduction_bnrFig {
  max-width: 372px;
}
@media screen and (max-width: 767px) {
  .introduction_bnrFig {
    max-width: 100%;
  }
}

.introduction_btmTxtWrap {
  display: flex;
  gap: 6px;
}

.introduction_btmTxtSpan {
  font-size: 12px;
}

.introduction_btmTxt {
  font-size: 12px;
  line-height: 1.6;
}

.playback202502 .playback_fig {
  max-width: unset;
}

.playback202502 .playback_fig img {
  height: 300px;
  width: auto;
}

.playback202502{

  padding: 65px 20px 75px;
}


@media screen and (max-width: 767px) {
  .playback202502{
    padding: 3rem 1rem 5rem;
  }
}

.playback202502 .playback_top_btn_wrap.btnwrap01{
  margin-top: 50px;
}
.playback202502 .playback_top_btn_past_article_wrap{
  margin-top: 50px;
  display: flex;
  justify-content: center;
}
.playback202502 .playback_past_article_btn{
  background-color: #411C3E;
  color: #fff;
  height: 60px;
  max-width: 270px;
  width: 100%;
  
  display: flex;
  align-items: center;
  justify-content: center;

  text-decoration: none;
  position: relative;
  font-weight: bold;
}


.playback202502 .playback_past_article_btn .angle_right{
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}