@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&display=swap");
.pink {
  color: #EB878B; }

.blue {
  color: #2E91DB; }

.purple {
  color: #B89BD1; }

/* ----------------------------------------------------------------------
 reset css
---------------------------------------------------------------------- */
html {
  font-size: 10px; }
  @media (max-width: 768px) {
    html {
      font-size: clamp(6px, 1.333vw, 16px); } }

*,
*::before,
*::after {
  box-sizing: border-box; }

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 {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline; }

body {
  font-size: 1.6rem;
  font-family: "Noto Sans JP", serif;
  color: #444444; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block; }

html {
  -webkit-text-size-adjust: 100%; }

ul,
ol {
  list-style: none; }

blockquote,
q {
  quotes: none; }

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none; }

a {
  -webkit-tap-highlight-color: transparent; }

ins {
  text-decoration: none; }

mark {
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

button,
input,
select,
textarea {
  outline: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 100%; }

input,
textarea {
  background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
  -webkit-appearance: none;
  border-radius: 0;
  /* Removing the inner shadow, rounded corners on iOS inputs */ }

input[type="checkbox"] {
  -webkit-appearance: checkbox; }

input[type="radio"] {
  -webkit-appearance: radio; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

iframe {
  max-width: 100%; }

svg {
  display: block; }

*:focus {
  outline: none; }

*:focus::placeholder {
  color: transparent; }

*:active {
  -webkit-tap-highlight-color: transparent; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600; }

/* clearfix */
.clearfix::after {
  display: block;
  clear: both;
  content: ""; }

/* ----------------------------------------------------------------------
 上付き文字、下付き文字
---------------------------------------------------------------------- */
sup {
  vertical-align: super;
  font-size: smaller; }

sub {
  vertical-align: sub;
  font-size: smaller; }

/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
html {
  height: 100%;
  position: relative; }

body.admin-bar {
  padding-top: 30px; }

a {
  text-decoration: none; }

a,
a:before,
a:after,
input {
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease; }

.clear {
  clear: both; }

.hide {
  display: none; }

.post_content {
  word-wrap: break-word; }

a[href^="tel:"] {
  pointer-events: none;
  text-decoration: none !important; }

.mobile_device a[href^="tel:"] {
  pointer-events: auto; }

/* レイアウト */
#container {
  position: relative; }

#main_content {
  width: calc(100% - 330px);
  position: relative;
  background: #f8f8f8;
  left: 330px; }

body.hide_page_side_bar #main_content {
  width: 100%;
  background: #fff;
  left: auto !important; }

body.sidebar_right #main_content {
  left: auto; }

#main_col {
  width: 700px;
  margin: 0 auto; }

#article {
  width: 700px;
  margin: 0 auto;
  padding: 60px 0 100px;
  position: relative; }

/* デザインボタン */
.design_button {
  max-width: 100%;
  line-height: 1.5;
  padding: 0 1.5em;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: relative;
  overflow: hidden;
  font-size: 16px;
  z-index: 1;
  color: #fff !important;
  background: #003040;
  text-decoration: none;
  border: none;
  transition: all 0.25s ease;
  width: 300px;
  height: 70px;
  line-height: 70px;
  border-radius: 70px; }

.design_button:hover {
  color: #fff !important;
  text-decoration: none !important; }

@media (max-width: 1200px) {
  .design_button {
    width: 260px; } }
@media (max-width: 850px) {
  .design_button {
    width: 240px;
    height: 50px;
    line-height: 50px; } }
/* 会員限定記事アイコン */
.member_only_icon {
  z-index: 100;
  border: 1px solid #fff;
  background: #906c45;
  color: #fff;
  height: 35px;
  line-height: 34px;
  min-width: 100px;
  border-radius: 35px;
  text-align: center;
  font-size: 12px;
  padding: 0 15px; }

.member_only_icon span {
  position: relative;
  padding-left: 16px;
  display: block; }

.member_only_icon span:before {
  font-family: "design_plus";
  content: "\e924";
  font-size: 14px;
  position: absolute;
  left: 0;
  top: 0px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* ----------------------------------------------------------------------
 トップページ ヘッダースライダー
---------------------------------------------------------------------- */
#header_slider_wrap {
  width: 100%;
  height: 560px;
  position: relative;
  z-index: 1; }

#header_slider {
  width: 100%;
  height: 560px;
  position: relative;
  overflow: hidden; }

#header_slider .item {
  width: 100%;
  height: 560px;
  position: relative;
  overflow: hidden; }

/* キャッチコピーとボタン */
#header_slider .content {
  width: 100%;
  padding: 0 50px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1000; }

#header_slider .catch {
  color: #fff;
  text-align: center;
  z-index: 3;
  line-height: 1.4; }

#header_slider .link_button {
  margin: 25px auto 0;
  text-align: center; }

/* 画像とオーバーレイ */
#header_slider .overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 2; }

#header_slider .bg_image {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 1; }

#header_slider .bg_image img {
  width: 100%;
  height: 100%;
  display: block;
  margin: 0;
  object-fit: cover;
  object-position: center top; }

/* 動画 */
#header_slider video {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover; }

#header_slider .youtube_wrap.type1 {
  position: absolute;
  top: 50%;
  left: auto;
  transform: translate3d(0, -50%, 0); }

#header_slider .youtube_wrap.type2 {
  position: absolute;
  top: 0px;
  left: 50%;
  transform: translate3d(-50%, 0, 0); }

#header_slider .youtube_inner {
  padding-top: 56.25%;
  position: relative;
  width: 100%; }

#header_slider .youtube_inner iframe {
  height: 100% !important;
  position: absolute;
  left: 0;
  top: 0;
  width: 100% !important; }

/* 画像スライダー（メインアイテム） */
#header_slider.image_slider .item.first_item {
  transition-delay: 0s !important; }

#header_slider.image_slider .item {
  transition-property: none;
  transform: translate3d(100%, 0, 0);
  transition-delay: 0.05s !important;
  z-index: 997 !important; }

#header_slider.image_slider .item.p-effect-reverse {
  transform: translate3d(-100%, 0, 0);
  transition-property: none !important; }

#header_slider.image_slider .item.p-effect-slidein,
#header_slider .item.p-effect-slidein.p-effect-reverse {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0);
  transition-property: transform !important;
  z-index: 999 !important; }

#header_slider.image_slider .item.p-effect-slideout,
#header_slider.image_slider .item.p-effect-slideout.p-effect-reverse {
  opacity: 1 !important;
  transform: translate3d(-50%, 0, 0);
  transition-property: transform !important;
  z-index: 998 !important; }

#header_slider.image_slider .item.p-effect-slideout.p-effect-reverse {
  transform: translate3d(50%, 0, 0); }

/* 画像スライダー（キャッチコピー） */
#header_slider.image_slider .item .content .catch,
#header_slider.image_slider .item .content .link_button {
  opacity: 0; }

#header_slider.image_slider .item.first_item.p-effect-slidein .content .catch {
  opacity: 1;
  transition: opacity 1s ease 1s; }

#header_slider.image_slider .item.first_item.p-effect-slidein .content .link_button {
  opacity: 1;
  transition: opacity 1s ease 1.5s; }

#header_slider.image_slider .item.p-effect-slidein .content .catch,
#header_slider.image_slider .item.p-effect-slidein.p-effect-reverse .content .catch {
  opacity: 1;
  transition: opacity 1s ease 1.5s; }

#header_slider.image_slider .item.p-effect-slidein .content .catch,
#header_slider.image_slider .item.p-effect-slidein.p-effect-reverse .content .catch {
  opacity: 1;
  transition: opacity 1s ease 1.5s; }

#header_slider.image_slider .item.p-effect-slidein .content .link_button,
#header_slider.image_slider .item.p-effect-slidein.p-effect-reverse .content .link_button {
  opacity: 1;
  transition: opacity 1s ease 2s; }

#header_slider.image_slider .item.p-effect-slideout .content .catch,
#header_slider.image_slider .item.p-effect-slideout.p-effect-reverse .content .catch {
  opacity: 0;
  transition: opacity 1s ease; }

#header_slider.image_slider .item.p-effect-slideout .content .link_button,
#header_slider.image_slider .item.p-effect-slideout.p-effect-reverse .content .link_button {
  opacity: 0;
  transition: opacity 1s ease; }

/* 画像スライダー（背景画像） */
#header_slider.image_slider .item.first_item.p-effect-slidein .bg_image {
  animation: none; }

#header_slider.image_slider .item.p-effect-slidein .bg_image {
  animation: slide_animation1 1.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 0.05s; }

#header_slider.image_slider .item.p-effect-slidein.p-effect-reverse .bg_image {
  animation: slide_animation3 1.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 0.05s; }

#header_slider.image_slider .item.p-effect-slideout .bg_image {
  animation: slide_animation2 1.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 0.05s; }

#header_slider.image_slider .item.p-effect-slideout.p-effect-reverse .bg_image {
  animation: slide_animation4 1.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 0.05s; }

@keyframes slide_animation1 {
  0% {
    transform: translate3d(-80%, 0, 0); }
  100% {
    transform: translate3d(0%, 0, 0); } }
@keyframes slide_animation2 {
  0% {
    transform: translate3d(0, 0, 0); }
  100% {
    transform: translate3d(30%, 0, 0); } }
@keyframes slide_animation3 {
  0% {
    transform: translate3d(80%, 0, 0); }
  100% {
    transform: translate3d(0%, 0, 0); } }
@keyframes slide_animation4 {
  0% {
    transform: translate3d(0, 0, 0); }
  100% {
    transform: translate3d(-30%, 0, 0); } }
/* スライダーのナビゲーション（矢印） */
#header_slider .slick-arrow {
  width: 60px;
  height: 60px;
  line-height: 60px;
  text-align: center;
  position: absolute;
  cursor: pointer;
  z-index: 9;
  border: none;
  background: none;
  overflow: hidden;
  text-indent: -200px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  transition: all 0.35s ease;
  opacity: 0; }

#header_slider .slick-arrow:before {
  font-family: "design_plus";
  color: #fff;
  width: 30px;
  height: 30px;
  font-size: 25px;
  display: block;
  position: absolute;
  text-indent: 0px;
  top: 0px;
  left: 14px;
  transition: opacity 0.25s ease;
  opacity: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

#header_slider .slick-prev:before {
  content: "\e90f"; }

#header_slider .slick-next:before {
  content: "\e910";
  left: 0;
  right: 0;
  margin: auto; }

#header_slider .slick-prev {
  left: -20px; }

#header_slider .slick-next {
  right: -20px; }

#header_slider:hover .slick-arrow {
  opacity: 1; }

#header_slider:hover .slick-prev {
  left: 0px; }

#header_slider:hover .slick-next {
  right: 0px; }

#header_slider .slick-arrow:hover:before {
  opacity: 0.5; }

/* スライダーのナビゲーション（ドット） */
#header_slider_wrap .slick-dots {
  pointer-events: none;
  position: absolute;
  bottom: 30px;
  left: 0px;
  width: 100%;
  text-align: center;
  transition: all 1s ease 0s;
  z-index: 1000; }

#header_slider_wrap .slick-dots.no_click {
  pointer-events: none; }

#header_slider_wrap .slick-dots li {
  display: inline-block;
  width: 12px;
  height: 12px;
  margin: 0 6px;
  font-size: 12px; }

#header_slider_wrap .slick-dots button {
  pointer-events: none;
  cursor: pointer;
  border: none;
  color: transparent;
  width: 12px;
  height: 12px;
  display: block;
  font-size: 0;
  background: none;
  position: relative; }

#header_slider_wrap .slick-dots button::before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  line-height: 12px;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 100%;
  position: absolute;
  top: 0;
  left: 0; }

#header_slider_wrap .slick-dots .slick-active button::before {
  background: #fff !important; }

#header_slider_wrap .slick-dots button:hover::before {
  background: #fff !important; }

#header_slider_wrap .slick-dots.animate {
  opacity: 1; }

/* ----------------------------------------------------------------------
 コンテンツビルダー
---------------------------------------------------------------------- */
.cb_show_bg_color + .cb_show_bg_color {
  border-top: 1px solid rgba(0, 0, 0, 0.1); }

.cb_no_bg_color + .cb_no_bg_color {
  border-top: 1px solid rgba(0, 0, 0, 0.1); }

/* タブ記事 */
.cb_tab_post_inner {
  width: 700px;
  margin: 0 auto;
  padding: 100px 0; }

.cb_tab_post .header_catch {
  text-align: center;
  line-height: 1; }

.cb_tab_post .header_desc {
  margin: 25px auto 0;
  line-height: 2.4; }

.cb_tab_post .header_desc.mobile {
  display: none; }

.cb_tab_post .link_button {
  margin-top: 60px;
  text-align: center; }

.index_tab_post_wrap.one_post_list {
  margin-top: 50px; }

.index_tab_post_headline {
  display: flex;
  flex-wrap: wrap;
  margin-top: 50px;
  font-size: 16px; }

.index_tab_post_headline > div {
  transition: all 0.25s ease;
  flex: 1 1 0%;
  cursor: pointer;
  height: 60px;
  line-height: 1.4;
  padding: 3px 15px 0;
  text-align: center;
  background: #fff;
  border: 1px solid #ddd;
  border-bottom: none;
  margin-right: -1px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center; }

.index_tab_post_headline > div:last-of-type {
  margin-right: 0; }

.index_tab_post_headline > div.active {
  background: #000;
  color: #fff !important;
  border-color: #000;
  pointer-events: none;
  position: relative; }

.index_tab_post_headline > div:hover {
  color: #999; }

.index_tab_post {
  height: 383px;
  background: #000;
  display: none;
  padding: 30px;
  width: 100%; }

.index_tab_post.active {
  display: block; }

.index_tab_post .item {
  position: relative;
  width: 565px;
  height: 323px;
  margin-right: 6px;
  /* aspect-ratio:565/323; */ }

.index_tab_post .no_splide.item {
  width: 100%;
  margin-right: 0; }

.index_tab_post .animate_background {
  display: block;
  width: 100% !important;
  height: 100% !important;
  position: relative;
  z-index: 1;
  overflow: hidden; }

.index_tab_post .image_wrap {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  z-index: 1; }

.index_tab_post .image {
  width: 100% !important;
  height: 100% !important; }

.index_tab_post .image_wrap:after {
  content: "";
  width: 100%;
  height: 70%;
  position: absolute;
  left: 0;
  bottom: -1px;
  z-index: 50;
  transform: translate3d(0, 0, 0);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%); }

.index_tab_post .content {
  color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 30px;
  transform: translate3d(0, 0, 0);
  z-index: 10; }

.index_tab_post .member_only_icon {
  margin-bottom: 15px;
  display: inline-block; }

.index_tab_post .title {
  font-size: 20px;
  line-height: 1.6;
  display: block;
  max-height: 3.2em;
  overflow: hidden;
  visibility: visible;
  margin: 0 0 10px 0; }

.index_tab_post .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  -ms-word-wrap: break-word;
  word-wrap: break-word;
  width: 100%; }

.index_tab_post .date {
  display: block;
  font-size: 14px;
  position: relative;
  padding: 0 0 0 18px; }

.index_tab_post .date:before {
  font-family: "design_plus";
  content: "\e91d";
  font-size: 14px;
  position: absolute;
  left: 0;
  top: 48%;
  transform: translateY(-50%);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.splide__arrow {
  background: none;
  border: none;
  width: 52px;
  height: 52px;
  position: absolute;
  cursor: pointer; }

.splide__arrow span {
  display: none; }

.splide__arrow.splide__arrow--prev {
  left: -90px;
  top: calc(50% - 30px);
  transform: translateY(-50%); }

.splide__arrow.splide__arrow--next {
  right: -90px;
  top: calc(50% - 30px);
  transform: translateY(-50%); }

.splide__arrow:before {
  transition: opacity 0.25s ease;
  font-family: "design_plus";
  content: "\e90f";
  color: #000;
  display: block;
  font-size: 24px;
  position: absolute;
  left: calc(50% - 1px);
  top: calc(50% + 1px);
  transform: translate(-50%, -50%); }

.splide__arrow.splide__arrow--next:before {
  content: "\e910";
  left: calc(50% + 1px); }

.splide__arrow:hover:before {
  opacity: 0.5; }

/* ブログ */
.cb_post_list {
  padding: 100px 0; }

.cb_post_list:last-of-type {
  padding-bottom: 150px; }

.cb_post_list .header_catch {
  text-align: center;
  line-height: 1; }

.cb_post_list .header_desc {
  width: 700px;
  margin: 25px auto 0;
  line-height: 2.4; }

.cb_post_list .header_desc.mobile {
  display: none; }

.cb_post_list .blog_list {
  margin: 50px auto 0;
  width: 700px; }

.cb_post_list .news_list {
  width: 700px;
  margin: 50px auto 0; }

.cb_post_list .link_button {
  text-align: center;
  margin-top: 60px; }

.cb_post_list .free_space {
  width: 700px;
  margin: 100px auto 0; }

.demo_index_blog_free_space_banner img {
  display: block;
  margin: 0;
  transition: opacity 0.25s ease; }

.demo_index_blog_free_space_banner:hover img {
  opacity: 0.5; }

/* 声 */
.cb_voice_list {
  padding: 100px 0; }

.cb_voice_list:last-of-type {
  padding-bottom: 150px; }

.cb_voice_list .header_catch {
  text-align: center;
  line-height: 1; }

.cb_voice_list .header_desc {
  width: 700px;
  margin: 25px auto 0;
  line-height: 2.4; }

.cb_voice_list .header_desc.mobile {
  display: none; }

.cb_voice_list .voice_list {
  margin-top: 50px; }

.cb_voice_list .link_button {
  text-align: center;
  margin-top: 60px; }

/* FAQ */
.cb_faq_list {
  padding: 100px 0; }

.cb_faq_list:last-of-type {
  padding-bottom: 150px; }

.cb_faq_list .header_catch {
  text-align: center;
  line-height: 1; }

.cb_faq_list .header_desc {
  width: 700px;
  margin: 25px auto 0;
  line-height: 2.4; }

.cb_faq_list .header_desc.mobile {
  display: none; }

.cb_faq_list .faq_list {
  margin: 50px auto 0;
  width: 700px; }

.cb_faq_list .link_button {
  text-align: center;
  margin-top: 60px; }

/* フリースペース */
.cb_free_space {
  padding: 100px 0; }

.cb_free_space.no_bg_color {
  background: #f8f8f8; }

.cb_free_space .post_content {
  width: 700px;
  margin: 0 auto; }

.cb_free_space .post_content h2:not(.styled_h2) {
  margin-bottom: 20px;
  margin-top: -5px; }

.demo_index_about_button {
  margin-top: 50px !important; }

.demo_index_chart {
  margin-top: 50px;
  margin-bottom: 45px; }

.demo_index_chart_button {
  margin-top: 50px !important; }

.demo_cb_content_banner {
  margin-top: 100px !important;
  display: block; }

.demo_cb_content_banner img {
  display: block;
  margin: 0;
  transition: opacity 0.25s ease; }

.demo_cb_content_banner:hover img {
  opacity: 0.5; }

/* ----------------------------------------------------------------------
 ページヘッダー　アーカイブページ共通パーツ
---------------------------------------------------------------------- */
#page_header {
  height: 450px;
  position: relative;
  background: #000; }

#page_header.type2 {
  height: 730px; }

#page_header.small {
  height: 200px; }

#page_header .content {
  z-index: 3;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 700px; }

#page_header.small .content {
  top: calc(50% - 30px); }

body.author #page_header.small .content {
  top: 50%; }

#page_header .catch {
  color: #fff;
  text-align: center;
  line-height: 1.5;
  opacity: 0; }

#page_header.animate .catch {
  opacity: 1;
  transition: opacity 1.5s ease 1s; }

body.single #page_header.animate .catch {
  transition: opacity 1.5s ease 0.2s; }

#page_header .desc {
  color: #fff;
  text-align: center;
  line-height: 2.4;
  margin-top: 15px;
  opacity: 0; }

#page_header.animate .desc {
  opacity: 1;
  transition: opacity 1.5s ease 1.5s; }

#page_header .desc.mobile {
  display: none; }

#page_header .overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 2; }

#page_header .bg_image {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 1; }

#page_header .bg_image img {
  width: 100%;
  height: 100%;
  display: block;
  margin: 0;
  object-fit: cover;
  object-position: center; }

body.author #page_header .overlay {
  background: rgba(0, 0, 0, 0.2) !important; }

#page_header .bg_image {
  opacity: 0;
  transition: opacity 1.5s ease 0s; }

#page_header.small .bg_image {
  opacity: 1; }

#page_header.animate .bg_image {
  opacity: 1; }

#page_header.no_image {
  background: none;
  height: auto !important;
  padding: 90px 0 0;
  margin-bottom: -10px; }

#page_header.no_image .content {
  position: relative;
  left: 0%;
  top: 0%;
  transform: translate(0%, 0%);
  margin: 0 auto; }

#page_header.no_image .catch {
  color: #000;
  opacity: 1; }

#page_header.no_image .desc {
  color: #000;
  opacity: 1; }

/* ページナビ */
.page_navi {
  margin: 32px 0 0 0;
  z-index: 10;
  position: relative; }

.page_navi ul {
  margin: 0;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }

.page_navi li {
  margin: 0; }

.page_navi a,
.page_navi span {
  font-family: "Arial";
  color: #000;
  font-size: 14px;
  width: 50px;
  height: 65px;
  line-height: 65px;
  display: inline-block;
  text-align: center;
  transition: all 0.25s ease;
  border-bottom: 3px solid transparent; }

.page_navi a:hover {
  border-bottom: 3px solid #000; }

.page_navi span.current {
  border-bottom: 3px solid #000; }

.page_navi .next,
.page_navi .prev {
  position: relative; }

.page_navi .next span,
.page_navi .prev span {
  display: none; }

.page_navi .next:before,
.page_navi .prev:before {
  font-family: "design_plus";
  font-size: 12px;
  top: 1px;
  position: relative;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.page_navi .prev:before {
  content: "\e90f";
  left: 0px; }

.page_navi .next:before {
  content: "\e910";
  right: 0px; }

/* ----------------------------------------------------------------------
 固定ページ
---------------------------------------------------------------------- */
#page_contents {
  padding: 90px 0 150px;
  overflow: hidden;
  margin-right: auto;
  margin-left: auto; }

#page_contents .post_content {
  width: 700px;
  margin: 0 auto; }

body.hide_page_side_bar #page_contents .post_content {
  width: 750px; }

body.page_width_large #page_contents .post_content {
  width: 1000px; }

/* LP1 */
#lp1 {
  margin-top: -10px; }

#lp1 h2 {
  font-size: 36px;
  margin: 80px 0 20px 0; }

#lp1 h2 + p img {
  margin-top: 30px; }

#lp1 .q_custom_button {
  margin-top: 17px; }

#lp1_chart2 {
  margin-bottom: 27px; }

#lp1_chart2 canvas {
  height: 230px !important; }

#lp1_chart2 .tcd_chart .chart.horizontalBar .chart_area {
  height: 230px !important; }

#lp1_chart2 .tcd_chart .chart_headline {
  margin: 45px 0 20px 0;
  line-height: 1.4; }

/* LP2 */
#lp2 {
  margin-top: -10px; }

#lp2 h2 {
  font-size: 36px;
  margin: 80px 0 20px 0; }

#lp2 h2 + p img {
  margin-top: 30px; }

/* アバウトページ */
#about_page h2 {
  font-size: 38px;
  margin: -5px 0 20px 0; }

#about_page_chart {
  margin: 50px 0 45px; }

#about_page .wide_content {
  position: relative;
  z-index: 1;
  padding: 100px 0 100px;
  margin: 100px 0 100px; }

#about_page .wide_content:before {
  content: "";
  display: block;
  width: 200vw;
  height: 100%;
  background: #e6eaeb;
  position: absolute;
  top: 0;
  left: -50vw;
  z-index: -1; }

#about_page .content1 {
  background: #fff;
  border: 1px solid #ddd; }

#about_page .content1 .headline {
  text-align: center;
  font-size: 24px;
  height: 70px;
  line-height: 70px;
  margin: 0;
  padding: 0; }

#about_page .content1 img {
  margin: 0 -1px;
  width: calc(100% + 2px) !important;
  max-width: inherit;
  display: block; }

#about_page .content1 .name_area {
  border-bottom: 1px solid #ddd;
  text-align: center;
  padding: 0 0 27px;
  margin: 0 0 42px 0; }

#about_page .content1 .name_area p {
  font-size: 14px;
  margin: 0 0 10px 0;
  padding: 0;
  line-height: 1; }

#about_page .content1 .name_area h3 {
  font-size: 22px;
  margin: 0;
  padding: 0;
  line-height: 1; }

#about_page .content1 h2 {
  font-size: 30px;
  margin: 0 0 20px 0; }

#about_page .content1 .desc {
  padding: 0 50px; }

#about_page .content1 .button_area {
  text-align: center;
  padding: 40px 0 50px; }

#about_career {
  margin-bottom: 100px; }

#about_career h3 {
  text-align: center;
  font-size: 20px;
  height: 60px;
  line-height: 60px;
  margin: 0;
  padding: 0;
  background: #003040;
  color: #fff; }

#about_career ul {
  background: #fff;
  list-style-type: none;
  padding: 0;
  margin: 0;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd; }

#about_career ul li {
  border-bottom: 1px solid #ddd;
  padding: 12px 30px; }

#about_career ul li span {
  margin-right: 20px; }

#about_book h3 {
  text-align: center;
  font-size: 20px;
  height: 60px;
  line-height: 60px;
  margin: 0;
  padding: 0;
  background: #003040;
  color: #fff; }

#about_book .item {
  border: 1px solid #ddd;
  border-top: none;
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  padding: 40px 40px;
  margin-bottom: 60px; }

#about_book img {
  margin: 0; }

#about_book .content {
  width: calc(100% - 130px);
  padding-left: 40px; }

#about_book .content h4 {
  font-size: 20px;
  margin: 0 0 8px 0; }

#about_book .content p {
  font-size: 14px;
  margin: 0; }

#about_book .q_custom_button {
  margin: 0 auto;
  display: flex; }

/* 会員限定ページのサンプル */
#membership_test_page .content1 {
  background: #fff;
  border: 1px solid #ddd;
  margin-top: 50px; }

#membership_test_page .content1:first-child {
  margin-top: 0; }

#membership_test_page .content1 .headline {
  text-align: center;
  font-size: 24px;
  height: 70px;
  line-height: 70px;
  margin: 0;
  padding: 0; }

#membership_test_page .content1 img {
  margin: 0 -1px;
  width: calc(100% + 2px) !important;
  max-width: inherit;
  display: block; }

#membership_test_page .content1 .desc {
  padding: 8px 60px 37px; }

#membership_test_page .content1 .button_area {
  border-top: 1px solid #ddd;
  text-align: center;
  padding: 45px 0 50px; }

#membership_test_page .content1 .button_area h4 {
  font-size: 20px;
  margin: 0 0 22px 0;
  padding: 0; }

#membership_test_page .content1_banner {
  margin-top: 100px !important;
  display: block; }

#membership_test_page .content1_banner img {
  display: block;
  margin: 0;
  transition: opacity 0.25s ease; }

#membership_test_page .content1_banner:hover img {
  opacity: 0.5; }

#membership_test_page .wide_content {
  position: relative;
  z-index: 1;
  padding: 100px 0 150px;
  margin: 100px 0 -150px; }

#membership_test_page .wide_content:before {
  content: "";
  display: block;
  width: 200vw;
  height: 100%;
  background: #e6eaeb;
  position: absolute;
  top: 0;
  left: -50vw;
  z-index: -1; }

#membership_test_page .content1 .catch_area {
  border-bottom: 1px solid #ddd;
  text-align: center;
  padding: 13px 0 43px;
  margin: 0 0 32px 0; }

#membership_test_page .content1 .catch_area h3 {
  font-size: 24px;
  margin: 0;
  padding: 0;
  line-height: 1.6; }

#membership_test_page .content2 {
  background: #fff;
  margin-top: 60px;
  border: 1px solid #ddd; }

#membership_test_page .content2 .headline {
  text-align: center;
  font-size: 20px;
  height: 60px;
  line-height: 60px;
  margin: -1px -1px 0;
  padding: 0;
  background: #003040;
  color: #fff; }

#membership_test_page .content2 .item {
  border-bottom: 1px solid #ddd;
  padding: 40px 40px 35px; }

#membership_test_page .content2 .item:last-of-type {
  border-bottom: none; }

#membership_test_page .content2 .title {
  margin: 0 0 25px 0;
  padding: 0;
  line-height: 1; }

#membership_test_page .content2 .content {
  display: flex;
  flex-wrap: wrap; }

#membership_test_page .content2 .image {
  width: 245px; }

#membership_test_page .content2 .image img {
  margin: 7px 0 0 0; }

#membership_test_page .content2 .content p {
  width: calc(100% - 245px);
  padding-left: 30px; }

#membership_test_page .button_bottom {
  text-align: center;
  padding-top: 60px; }

/* ----------------------------------------------------------------------
 声
---------------------------------------------------------------------- */
/* アーカイブページ */
#archive_voice {
  width: 700px;
  margin: 0 auto;
  padding: 100px 0 150px; }

.voice_list {
  width: 700px;
  margin: 0 auto; }

.voice_list .item {
  background: #fff;
  margin: 0 0 20px 0;
  padding: 40px 40px 28px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between; }

#archive_voice .voice_list .item {
  border: 1px solid #ddd; }

.voice_list .item:last-of-type {
  margin-bottom: 0; }

.voice_list .item .image {
  display: block;
  width: 90px;
  height: 90px;
  border-radius: 100%; }

.voice_list .item .post_content {
  width: calc(100% - 120px); }

.voice_list.no_image .item .post_content {
  width: auto; }

.voice_list .item .title {
  font-size: 16px;
  line-height: 1.6;
  margin: 0 0 15px 0;
  ms-word-wrap: break-word;
  word-wrap: break-word;
  width: 100%; }

.voice_list .item .title span {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; }

.voice_list .date {
  font-size: 14px;
  color: #999;
  display: block;
  padding: 0 0 0 20px;
  position: relative;
  margin-top: 17px;
  margin-bottom: 10px !important; }

.voice_list .date:before {
  font-family: "design_plus";
  content: "\e91d";
  font-size: 16px;
  position: absolute;
  left: 0;
  top: 48%;
  transform: translateY(-50%);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

body:not(.home) .voice_list {
  position: relative;
  top: 30px;
  opacity: 0;
  transition: top 0.75s ease 0s, opacity 0.75s ease 0s; }

body:not(.home) .voice_list.animate {
  top: 0;
  opacity: 1; }

/* ----------------------------------------------------------------------
 FAQ
---------------------------------------------------------------------- */
/* アーカイブページ */
#archive_faq {
  width: 700px;
  margin: 0 auto;
  padding: 100px 0 150px; }

#archive_faq .page_navi {
  margin-top: 35px; }

/* FAQ一覧 */
.faq_list .item {
  margin: 0 0 20px 0;
  position: relative; }

.faq_list .item:last-of-type {
  margin-bottom: 0; }

.faq_list .title {
  cursor: pointer;
  margin: 0;
  font-weight: 500;
  border: 1px solid #ddd;
  background: #fff;
  color: #000;
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 0;
  position: relative;
  transition: color 0.4s ease; }

.faq_list .title:hover {
  color: rgba(0, 0, 0, 0.5) !important; }

.faq_list .title span {
  display: block;
  position: relative;
  padding: 22px 40px 19px 80px;
  -ms-word-wrap: break-word;
  word-wrap: break-word;
  width: 100%; }

.faq_list .title span:before {
  content: "";
  width: 25px;
  height: 25px;
  background: #7f979f;
  border-radius: 100%;
  display: block;
  position: absolute;
  left: 30px;
  top: calc(50% + -13px); }

.faq_list .title span:after {
  content: "\e912";
  font-family: "design_plus";
  display: block;
  color: #fff;
  text-align: center;
  position: absolute;
  left: 37px;
  font-size: 12px;
  top: calc(50% + 1px);
  transform: translateY(-50%); }

.faq_list .title:after {
  content: "\e925";
  font-family: "design_plus";
  display: block;
  color: #000;
  position: absolute;
  right: 25px;
  font-size: 18px;
  top: 50%;
  transform: translateY(-50%); }

.faq_list .title.active:after {
  content: "\e926"; }

.faq_list .desc_area {
  height: 0;
  overflow: hidden;
  transition: height 0.2s cubic-bezier(0.54, 0.07, 0.38, 0.9); }

.faq_list .desc {
  font-size: 16px;
  line-height: 2.4;
  padding: 30px 0px 7px;
  transition: opacity 0.7s ease;
  opacity: 0; }

.faq_list .desc span {
  display: block; }

.faq_list .title.active + .desc_area > .desc {
  opacity: 1;
  transition: opacity 1s ease; }

body:not(.home) .faq_list {
  position: relative;
  top: 30px;
  opacity: 0;
  transition: top 0.75s ease 0s, opacity 0.75s ease 0s; }

body:not(.home) .faq_list.animate {
  top: 0;
  opacity: 1; }

/* ----------------------------------------------------------------------
 お知らせ
---------------------------------------------------------------------- */
/* アーカイブページ */
#archive_news {
  width: 700px;
  margin: 0 auto;
  padding: 100px 0 150px; }

/* カテゴリーボタン */
.news_category_button_wrap {
  margin-bottom: 60px; }

.news_category_button {
  display: flex;
  flex-wrap: wrap; }

.news_category_button li {
  font-size: 16px;
  flex: 1 1 0%;
  margin-right: -1px; }

.news_category_button li a {
  background: #fff;
  display: block;
  text-align: center;
  height: 70px;
  line-height: 1.4;
  border: 1px solid #ddd;
  padding: 0 25px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center; }

.news_category_button li a:hover {
  color: rgba(0, 0, 0, 0.5) !important; }

.news_category_button li.current a {
  background: #000;
  color: #fff;
  border-color: #000;
  pointer-events: none;
  position: relative; }

/* お知らせ一覧 */
.news_list .item {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  height: 200px;
  margin: 0 0 20px 0;
  background: #fff; }

.news_list .item:last-of-type {
  margin-bottom: 0; }

.news_list .animate_background {
  display: block;
  width: 350px !important;
  height: 200px !important;
  position: relative;
  z-index: 1;
  overflow: hidden; }

.news_list .image_wrap {
  width: 100%;
  height: 100%;
  position: relative; }

.news_list .image {
  width: 100%;
  height: 100% !important;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover; }

.news_list .content {
  position: relative;
  width: calc(100% - 350px); }

.news_list .content a {
  width: 100%;
  height: 100%;
  padding: 0 40px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  border: 1px solid #ddd;
  border-left: none; }

.news_list .title {
  color: #000;
  font-size: 18px;
  line-height: 1.6;
  display: block;
  max-height: 3.2em;
  overflow: hidden;
  visibility: visible;
  transition: color 0.25s ease;
  width: 100%; }

.news_list .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  -ms-word-wrap: break-word;
  word-wrap: break-word;
  width: 100%; }

.news_list a:hover .title {
  color: rgba(0, 0, 0, 0.5); }

.news_list .category {
  padding: 0 25px;
  font-size: 14px;
  min-width: 120px;
  height: 40px;
  line-height: 40px;
  background: #000;
  color: #fff;
  text-align: center;
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0px;
  z-index: 2; }

.news_list .date {
  font-size: 14px;
  color: #999;
  display: block;
  margin-bottom: 10px;
  position: relative;
  padding: 0 0 0 20px; }

.news_list .date:before {
  font-family: "design_plus";
  content: "\e91d";
  font-size: 16px;
  position: absolute;
  left: 0;
  top: 48%;
  transform: translateY(-50%);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.news_list .list_like_button {
  left: -40px;
  top: auto;
  bottom: 0px; }

.news_list .member_only_icon {
  margin-bottom: 15px; }

body:not(.home) .news_list {
  position: relative;
  top: 30px;
  opacity: 0;
  transition: top 0.75s ease 0s, opacity 0.75s ease 0s; }

body:not(.home) .news_list.animate {
  top: 0;
  opacity: 1; }

/* AJAXロード */
.ajax_post_list_wrap {
  position: relative;
  display: none; }

.ajax_post_list_wrap.active {
  display: block; }

.ajax_post_list_wrap .item {
  opacity: 0;
  position: relative; }

.ajax_post_list_wrap .item.animate {
  -webkit-animation: slideUp 1s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 0s;
  animation: slideUp 1s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 0s; }

.ajax_post_list_wrap .entry-more span {
  display: block;
  margin: 40px auto 0; }

.ajax_post_list_wrap .entry-more.is-hide {
  display: none; }

.ajax_post_list_wrap .entry-loading {
  text-align: center;
  width: 100%;
  display: none;
  height: 50px;
  line-height: 50px;
  font-size: 14px;
  margin-top: 40px;
  font-weight: 600; }

.ajax_post_list_wrap .entry-loading.is-show {
  display: block; }

/* ----------------------------------------------------------------------
 ブログアーカイブページ
---------------------------------------------------------------------- */
#archive_blog {
  padding: 100px 0 150px;
  width: 700px;
  margin: 0 auto; }

body.search-no-results #archive_blog {
  padding: 0 !important; }

body.author #archive_blog {
  padding-top: 80px; }

#no_post {
  text-align: center;
  margin-top: 10px;
  line-height: 2; }

/* ブログ一覧 */
.blog_list {
  display: flex;
  flex-wrap: wrap; }

.blog_list .item {
  position: relative;
  width: 50%;
  margin-bottom: -1px; }

.blog_list .animate_background {
  display: block;
  width: 100% !important;
  height: auto !important;
  position: relative;
  z-index: 1;
  overflow: hidden;
  aspect-ratio: 350/200; }

.blog_list .image_wrap {
  width: 100%;
  height: 100%; }

.blog_list .image {
  width: 100%;
  height: 100% !important;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover; }

.blog_list .category {
  padding: 0 25px;
  font-size: 14px;
  min-width: 120px;
  height: 40px;
  line-height: 40px;
  background: #000;
  color: #fff;
  text-align: center;
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0px;
  z-index: 2; }

.blog_list .content {
  position: relative; }

.blog_list .content a {
  display: block;
  padding: 32px 40px;
  background: #fff;
  height: 225px;
  position: relative;
  border-left: 1px solid #ddd;
  border-bottom: 1px solid #ddd; }

.blog_list .content a:hover {
  color: rgba(0, 0, 0, 0.5); }

.blog_list .item:nth-child(2n) .content,
.blog_list .item:last-of-type .content {
  border-right: 1px solid #ddd; }

.blog_list .title {
  font-size: 18px;
  line-height: 1.8;
  display: block;
  height: 3.6em;
  overflow: hidden;
  visibility: visible;
  margin: 0 0 10px 0; }

.blog_list .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  -ms-word-wrap: break-word;
  word-wrap: break-word;
  width: 100%; }

.blog_list .desc {
  color: #000;
  line-height: 2;
  display: block;
  height: 4em;
  overflow: hidden;
  visibility: visible;
  font-size: 14px; }

.blog_list .desc span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; }

.blog_list .date {
  font-size: 14px;
  color: #999;
  display: block;
  position: absolute;
  bottom: 36px;
  padding: 0 0 0 20px; }

.blog_list .date:before {
  font-family: "design_plus";
  content: "\e91d";
  font-size: 16px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.blog_list .member_only_icon {
  position: absolute;
  left: 40px;
  top: -17px; }

body:not(.home) .blog_list {
  position: relative;
  top: 30px;
  opacity: 0;
  transition: top 0.75s ease 0s, opacity 0.75s ease 0s; }

body:not(.home) .blog_list.animate {
  top: 0;
  opacity: 1; }

/* 検索結果 */
body.search-no-results #container {
  min-height: inherit; }

#no_search_result {
  height: calc(100vh - 80px);
  height: calc(100dvh - 80px);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center; }

#no_search_result p {
  font-size: 18px;
  line-height: 2.4;
  text-align: center; }

@media screen and (max-width: 1221px) {
  #no_search_result {
    height: calc(100vh - 60px);
    height: calc(100dvh - 60px); } }
@media screen and (max-width: 800px) {
  #no_search_result p {
    font-size: 15px;
    line-height: 2; } }
/* カテゴリーボタン */
#category_carousel_wrap {
  background: #000; }

#category_carousel {
  width: 699px;
  margin: 0 auto;
  position: relative; }

#category_carousel:before {
  content: "";
  width: 1px;
  height: 100%;
  background: red;
  position: absolute;
  top: 0;
  left: 0; }

#category_carousel:after {
  content: "";
  width: 1px;
  height: 100%;
  background: red;
  position: absolute;
  top: 0;
  right: 0; }

#category_carousel .item {
  height: 70px; }

#category_carousel .item a {
  color: #fff;
  text-align: center;
  display: block;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
  height: 70px;
  line-height: 70px; }

#category_carousel .item a:hover {
  color: rgba(255, 255, 255, 0.5); }

#category_carousel_wrap .splide__arrow:before {
  color: #fff;
  font-size: 18px; }

#category_carousel_wrap .splide__arrow.splide__arrow--prev {
  left: -60px;
  top: calc(50%); }

#category_carousel_wrap .splide__arrow.splide__arrow--next {
  right: -60px;
  top: calc(50%); }

/* ----------------------------------------------------------------------
 ブログ詳細ページ
---------------------------------------------------------------------- */
/* タイトルエリア */
#single_post_header {
  position: relative;
  width: 100%;
  background: #fff;
  margin: 0 0 50px 0; }

#single_post_header .category {
  font-size: 14px;
  text-align: center;
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  height: 50px;
  line-height: 50px;
  min-width: 130px;
  padding: 0 20px;
  display: inline-block; }

#single_post_header.no_image .category {
  top: -49px; }

#single_post_header .content {
  padding: 40px 50px;
  border: 1px solid #ddd;
  border-top: none;
  position: relative; }

#single_post_header.no_image .content {
  border-top: 1px solid #ddd; }

#single_post_header .title {
  font-size: 30px;
  line-height: 1.5;
  -ms-word-wrap: break-word;
  word-wrap: break-word;
  width: 100%; }

#single_post_header .meta {
  display: flex;
  flex-wrap: wrap;
  margin-top: 13px; }

body.single-news #single_post_header .meta {
  margin-top: 0;
  margin-bottom: 15px; }

#single_post_header .date {
  position: relative;
  color: #999;
  font-size: 14px;
  margin: 0;
  display: block;
  padding: 0 0 0 20px; }

#single_post_header .date:before {
  font-family: "design_plus";
  content: "\e91d";
  font-size: 16px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

#single_post_header .update {
  position: relative;
  color: #999;
  font-size: 14px;
  display: block;
  padding: 0 0 0 20px;
  margin-left: 15px; }

#single_post_header .update:before {
  font-family: "design_plus";
  content: "\e943";
  font-size: 14px;
  display: inline-block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

#single_post_header .meta_category {
  position: relative;
  color: #999;
  font-size: 14px;
  margin: 0 0 0 15px;
  display: block;
  padding: 0 0 0 15px;
  border-left: 1px solid #ddd; }

#single_post_header li:only-of-type .meta_category {
  border: none;
  padding: 0 !important;
  margin-left: 0 !important; }

#single_post_header .image {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 700/400;
  margin-bottom: 0; }

#single_post_header img {
  width: 100%;
  height: 100%;
  display: block;
  margin: 0;
  object-fit: cover; }

/* お気に入りボタン */
#single_post_header .like_button {
  position: absolute;
  right: 0px;
  top: -35px;
  padding: 0 20px;
  height: 35px;
  line-height: 35px;
  font-size: 12px;
  text-align: center;
  color: #fff;
  background: #000; }

#single_post_header.no_image .like_button {
  top: auto;
  bottom: -1px; }

#single_post_header .like_button .like_label {
  position: relative;
  display: block;
  padding-left: 20px; }

#single_post_header .like_button:before {
  display: block;
  font-family: "design_plus";
  content: "\e93f";
  font-size: 15px;
  position: absolute;
  left: 18px;
  top: 0px; }

#single_post_header .like_button.active:before {
  content: "\e87d"; }

.like_message {
  pointer-events: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  z-index: 100;
  font-size: 12px;
  opacity: 0;
  width: max-content;
  padding: 0 15px;
  background: #000;
  color: #fff;
  height: 30px;
  line-height: 1.2;
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%); }

.like_message:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 6px 0 6px;
  border-color: #000 transparent transparent transparent; }

.like_button.clicked {
  pointer-events: none; }

.like_button.clicked .like_message {
  animation: like_animation 1.5s ease forwards; }

@keyframes like_animation {
  0% {
    top: -30px; }
  20% {
    opacity: 1;
    top: -40px; }
  70% {
    opacity: 1; }
  100% {
    opacity: 0; } }
.list_like_button {
  position: absolute;
  right: 0;
  top: -40px;
  z-index: 100;
  background: #000;
  color: #fff;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  cursor: pointer;
  transition: all 0.25s ease; }

.list_like_button:hover {
  color: #fff; }

.list_like_button .like_label {
  display: none; }

.list_like_button:before {
  display: block;
  font-family: "design_plus";
  content: "\e93f";
  font-size: 18px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%); }

.list_like_button.active:before {
  content: "\e87d"; }

/* 会員限定 */
#single_post_header .member_only_icon {
  position: absolute;
  left: 40px;
  top: -17px; }

#single_not_login_user .short_content {
  position: relative;
  max-height: 12em;
  overflow: hidden;
  visibility: visible; }

#single_not_login_user .short_content span {
  display: block;
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5; }

#single_not_login_user .short_content:after,
#original_excerpt.original_excerpt_gradation:after {
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 50%, #f8f8f8 100%);
  position: absolute;
  left: 0;
  bottom: 0; }

body.hide_page_side_bar #single_not_login_user .short_content:after,
body.hide_page_side_bar #original_excerpt.original_excerpt_gradation:after {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 50%, white 100%); }

#original_excerpt {
  position: relative; }

#single_register {
  background: #fff;
  border: 1px solid #ddd;
  text-align: center;
  padding: 40px 50px 50px;
  margin-top: 50px;
  border-radius: 10px; }

#single_register .open_register_modal,
#single_register .external_link {
  margin-top: 5px;
  margin-bottom: 30px;
  width: 300px;
  height: 70px;
  line-height: 70px; }

#single_register .open_login_modal {
  display: block;
  color: #000;
  margin-bottom: 30px; }

#single_register .home_link {
  display: block;
  color: #000; }

#single_register a.open_login_modal:hover,
#single_register a.home_link:hover {
  text-decoration: none;
  color: #aaa !important; }

/* 本文 */
.post_content a:hover {
  text-decoration: underline; }

/* SNSボタン */
#single_share_top {
  margin: 0 0 45px;
  padding: 0; }

#single_share_top .share-top {
  margin: 0; }

#single_share_bottom {
  margin: 60px 0 -5px; }

#single_share_bottom .share-btm {
  margin-bottom: 0 !important;
  padding: 0; }

#single_share_top .mt10,
#single_share_top .mt10 {
  margin: 0 !important; }

#single_share_bottom .mb45,
#single_share_bottom .mb45 {
  margin: 0 !important; }

.share-type1 ul {
  text-align: left; }

.share-type3 ul {
  text-align: left; }

.share-type2 ul.type2 {
  text-align: left; }

.share-type4 ul.type4 {
  text-align: left; }

.sns_default_top {
  text-align: left; }

/* コピーボタン */
.single_copy_title_url {
  text-align: center; }

.single_copy_title_url_btn {
  font-size: 14px;
  color: #000;
  background: #fff;
  border: 3px solid #ccc;
  cursor: pointer;
  line-height: 54px;
  min-width: 300px;
  padding: 0 15px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition-property: background-color, color;
  -webkit-transition-duration: 0.3s;
  -webkit-transition-timing-function: ease;
  transition-property: background-color, color;
  transition-duration: 0.3s;
  transition-timing-function: ease; }

.single_copy_title_url_btn:hover {
  color: rgba(0, 0, 0, 0.5) !important; }

.single_copy_title_url_btn.copied {
  background: #ccc;
  color: #fff;
  pointer-events: none; }

#single_copy_title_url_top {
  margin: 0 0 50px 0; }

#single_copy_title_url_btm {
  margin: 50px 0 0; }

/* ページ分割 */
#post_pagination {
  margin: 0;
  padding: 0;
  clear: both;
  font-size: 0;
  text-align: center; }

#post_pagination a,
#post_pagination p {
  margin: 0;
  font-family: "Arial";
  color: #000;
  font-size: 14px;
  width: 50px;
  height: 75px;
  line-height: 75px;
  display: inline-block;
  text-align: center;
  text-decoration: none; }

#post_pagination p {
  border-bottom: 3px solid #000; }

#post_pagination a:hover {
  color: rgba(0, 0, 0, 0.5) !important; }

/* メタ情報 */
#post_tag_list {
  display: flex;
  flex-wrap: wrap;
  margin: 50px 0px -5px; }

#post_tag_list a {
  background: #fff;
  border: 1px solid #ddd;
  display: inline-block;
  height: 35px;
  line-height: 35px;
  padding: 0 15px;
  margin: 0 5px 5px 0;
  border-radius: 4px;
  font-size: 14px; }

#post_tag_list a:hover {
  background: #aaa;
  border-color: #aaa;
  color: #fff; }

/* プロフィール */
.author_profile {
  background: #fff;
  border: 1px solid #ddd;
  margin: 60px 0px 0;
  position: relative;
  padding: 35px 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center; }

.author_profile .avatar_area {
  display: block;
  width: 120px;
  height: 120px;
  border-radius: 100%;
  position: relative;
  overflow: hidden;
  z-index: 1; }

.author_profile img.avatar {
  display: block;
  width: 100%;
  height: auto;
  z-index: 2; }

.author_profile .info {
  height: 100%;
  width: calc(100% - 120px);
  position: relative; }

.author_profile .info_inner {
  padding: 0 0 0 40px; }

.author_profile .name {
  font-size: 22px;
  margin: 5px 0 10px 0;
  font-weight: 600; }

.author_profile .desc {
  line-height: 2;
  margin: 0;
  font-size: 14px; }

body.author .author_profile .desc {
  font-size: 16px;
  line-height: 2.4; }

body.single .author_profile .desc {
  max-height: 4em;
  overflow: hidden;
  visibility: visible; }

body.single .author_profile .desc span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; }

.author_profile .name a:hover {
  color: rgba(0, 0, 0, 0.5); }

#author_sns {
  text-align: left;
  margin: 10px 0 0 2px; }

#author_sns li {
  margin: 0 14px 0 0; }

.author_profile .archive_link {
  float: right;
  padding: 0 20px 0 0;
  margin-top: 4px; }

.author_profile .archive_link span:after {
  font-size: 12px;
  font-family: "design_plus";
  content: "\e910";
  display: block;
  position: absolute;
  right: 0px;
  top: 5px;
  height: 14px;
  line-height: 14px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

#archive_blog .author_profile {
  margin: 0 auto 60px;
  display: block;
  padding: 50px; }

#archive_blog .avatar_area {
  pointer-events: none;
  margin: 0 auto 40px; }

#archive_blog .author_profile .info {
  width: auto; }

#archive_blog .author_profile .info_inner {
  padding: 0; }

#archive_blog .name {
  pointer-events: none;
  text-align: center;
  margin-bottom: 35px; }

#archive_blog #author_sns {
  text-align: center;
  margin: 35px 0 0 0; }

#archive_blog #author_sns li {
  margin: 0 7px; }

/* ナビゲーション */
#next_prev_post {
  margin: 60px 0px 0;
  position: relative;
  display: flex;
  flex-wrap: wrap; }

#next_prev_post .item {
  height: 130px;
  width: 50%;
  position: relative;
  background: #fff;
  border: 1px solid #ddd;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center; }

#next_prev_post .item:first-of-type {
  right: -1px; }

#next_prev_post .title {
  position: relative;
  padding: 0 40px 0 70px;
  font-weight: 500;
  margin-top: 2px;
  font-size: 16px;
  line-height: 1.6;
  max-height: 3.2em;
  overflow: hidden;
  visibility: visible;
  word-wrap: break-word;
  word-break: break-all;
  transition: color 0.2s ease; }

#next_prev_post a:hover .title {
  color: rgba(0, 0, 0, 0.5); }

#next_prev_post .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; }

#next_prev_post .nav {
  display: none; }

#next_prev_post .next_post .title {
  padding: 0 70px 0 40px; }

#next_prev_post .title:after {
  z-index: 10;
  position: absolute;
  margin-top: 2px;
  left: 30px;
  top: 50%;
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  font-family: "design_plus";
  color: #000;
  font-size: 14px;
  font-weight: 500;
  display: block;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease; }

#next_prev_post .prev_post .title:after {
  content: "\e90f"; }

#next_prev_post .next_post .title:after {
  content: "\e910";
  left: auto;
  right: 30px; }

#next_prev_post a:hover .title:after {
  opacity: 0.5; }

/* 関連記事 */
#single_bottom_content {
  position: relative;
  background: #e6eaeb;
  padding: 100px 0 90px; }

#single_bottom_content_inner {
  width: 700px;
  margin: 0 auto; }

#related_post .headline {
  font-size: 26px;
  margin-bottom: 60px;
  text-align: center; }

#single_related_post_slider {
  margin-bottom: 60px;
  display: flex;
  flex-wrap: wrap; }

#single_related_post_slider:after {
  content: "";
  display: block;
  width: 1px;
  height: 126px;
  position: absolute;
  bottom: 0;
  right: 0px;
  background: #ddd;
  z-index: 2; }

#single_related_post_slider:before {
  content: "";
  display: block;
  width: 1px;
  height: 126px;
  position: absolute;
  bottom: 0;
  left: 0px;
  background: #ddd;
  z-index: 2; }

#related_post .item {
  position: relative;
  width: 50%;
  transform: translate3d(0, 0, 0);
  z-index: 9999;
  backface-visibility: visible !important; }

#related_post .animate_background {
  display: block;
  width: 100% !important;
  height: 200px !important;
  aspect-ratio: 350/200;
  position: relative;
  z-index: 1;
  overflow: hidden; }

#related_post .image_wrap {
  width: 100%;
  height: 100%;
  position: relatiive; }

#related_post .image {
  width: 100%;
  height: 100%;
  position: relatiive; }

#related_post .image img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover; }

#related_post .category {
  padding: 0 25px;
  font-size: 14px;
  min-width: 120px;
  height: 40px;
  line-height: 40px;
  background: #000;
  color: #fff;
  text-align: center;
  display: inline-block;
  position: absolute;
  left: 0px;
  top: 0;
  z-index: 10;
  transform: translate3d(0, 0, 0); }

#related_post .content {
  border-bottom: 1px solid #ddd;
  background: #fff;
  height: 126px;
  padding: 25px 30px;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center; }

#related_post .content:after {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0px;
  right: 0px;
  background: #ddd;
  z-index: 2; }

#related_post .title {
  font-size: 18px;
  line-height: 1.6;
  display: block;
  max-height: 3.2em;
  overflow: hidden;
  visibility: visible;
  transition: color 0.25s ease;
  font-weight: 600; }

#related_post .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  -ms-word-wrap: break-word;
  word-wrap: break-word;
  width: 100%; }

#related_post a:hover .title {
  color: rgba(0, 0, 0, 0.5); }

#related_post .splide__arrow.splide__arrow--prev {
  left: -60px;
  top: 50%; }

#related_post .splide__arrow.splide__arrow--next {
  right: -60px;
  top: 50%; }

#related_post .splide__arrow:before {
  font-size: 22px; }

#related_post .list_like_button {
  transform: translate3d(0, 0, 0); }

#related_post .like_message {
  display: none; }

/* カテゴリー一覧 */
#bottom_category_list {
  margin-bottom: 60px;
  position: relative; }

#bottom_category_list:before {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  background: #ddd;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 10; }

#bottom_category_list .headline {
  height: 60px;
  line-height: 60px;
  text-align: center;
  background: #000;
  color: #fff;
  font-size: 20px; }

#bottom_category_list .category_list {
  display: flex;
  flex-wrap: wrap;
  background: #fff;
  position: relative; }

#bottom_category_list .category_list:before {
  content: "";
  display: block;
  height: 100%;
  width: 1px;
  background: #ddd;
  position: absolute;
  bottom: 0;
  right: 0; }

#bottom_category_list .category_list:after {
  content: "";
  display: block;
  height: 100%;
  width: 1px;
  background: #ddd;
  position: absolute;
  bottom: 0;
  left: 0; }

#bottom_category_list li {
  width: calc(100% / 3); }

#bottom_category_list li a {
  height: 60px;
  line-height: 60px;
  display: block;
  background-color: #fff;
  text-align: center;
  border: 1px solid #ddd;
  border-top: none;
  border-left: none; }

#bottom_category_list li a:hover {
  color: rgba(0, 0, 0, 0.5); }

/* アーカイブ・検索 */
#bottom_search_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 60px; }

#bottom_search_box .box_item {
  width: calc(50% - 10px); }

#bottom_search_box .box_item:only-of-type {
  width: 100%; }

#bottom_search_box .search_area form {
  width: 100%;
  height: 60px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid #ddd;
  position: relative; }

#bottom_search_box .search_area .search_input {
  width: calc(100% - 60px);
  position: absolute;
  top: 0px;
  left: 0px; }

#bottom_search_box .search_area .search_input input {
  height: 60px;
  width: 100%;
  border: none;
  background: none;
  padding: 0 0 0 25px; }

#bottom_search_box .search_area .search_button {
  width: 60px;
  height: 60px;
  position: absolute;
  top: 0px;
  right: 0px; }

#bottom_search_box .search_area .search_button:before {
  text-indent: 0;
  display: block;
  width: 60px;
  height: 60px;
  line-height: 60px;
  text-align: center;
  cursor: pointer;
  z-index: 1;
  pointer-events: none;
  position: absolute;
  font-family: "design_plus";
  color: #333;
  font-size: 16px;
  content: "\e94c";
  left: 1px;
  top: 2px;
  transition: color 0.2s ease; }

#bottom_search_box .search_area .search_button:hover:before {
  color: rgba(0, 0, 0, 0.5) !important; }

#bottom_search_box .search_area .search_button input {
  border: none;
  background: none;
  width: 60px;
  height: 60px;
  text-indent: -200px;
  overflow: hidden;
  cursor: pointer; }

#bottom_search_box .search_area .search_button label {
  display: none; }

#bottom_search_box .design_select_box {
  position: relative; }

#bottom_search_box .design_select_box label {
  pointer-events: none;
  width: 60px;
  height: 60px;
  display: block;
  right: 0px;
  top: 0px;
  position: absolute;
  text-indent: -200%;
  overflow: hidden;
  z-index: 10; }

#bottom_search_box .design_select_box label:after {
  text-indent: 0px;
  color: #333;
  content: "\e90e";
  font-family: "design_plus";
  font-size: 14px;
  position: absolute;
  top: 27px;
  right: 22px;
  z-index: 11; }

#bottom_search_box .design_select_box.open label:after {
  content: "\e911"; }

#bottom_search_box .design_select_box select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0px;
  color: #000;
  cursor: pointer;
  border: 1px solid #ddd;
  background: #fff;
  width: 100%;
  height: 60px;
  line-height: 60px;
  padding: 0 25px;
  font-size: 16px; }

#bottom_search_box .design_select_box select::-ms-expand {
  display: none; }

/* タブ記事 */
#bottom_tab_post {
  margin-bottom: 60px; }

#bottom_tab_post_headline {
  display: flex;
  flex-wrap: wrap;
  margin-top: 50px;
  font-size: 16px; }

#bottom_tab_post_headline > div {
  transition: all 0.25s ease;
  flex: 1 1 0%;
  cursor: pointer;
  height: 60px;
  line-height: 60px;
  text-align: center;
  background: #fff;
  border: 1px solid #ddd;
  border-bottom: none;
  margin-right: -1px; }

#bottom_tab_post_headline > div:last-of-type {
  margin-right: 0; }

#bottom_tab_post_headline > div.active {
  background: #000;
  color: #fff !important;
  border-color: #000;
  pointer-events: none;
  position: relative; }

#bottom_tab_post_headline > div:hover {
  color: #999; }

.bottom_tab_post {
  height: 330px;
  background: #000;
  display: none;
  padding: 30px; }

.bottom_tab_post.active {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

.bottom_tab_post .item {
  position: relative;
  width: calc(50% - 15px);
  height: 120px;
  margin: 0 0 30px 0; }

.bottom_tab_post .animate_background {
  display: block;
  width: 100% !important;
  height: 120px !important;
  position: relative;
  z-index: 1;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap; }

.bottom_tab_post .image_wrap {
  width: 120px !important;
  height: 120px !important;
  position: relative;
  overflow: hidden;
  z-index: 1; }

.bottom_tab_post .image {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  object-position: center; }

.bottom_tab_post .content {
  width: calc(100% - 120px);
  padding: 0 0 0 30px;
  z-index: 100;
  display: flex;
  flex-wrap: wrap;
  align-items: center; }

.bottom_tab_post .title {
  color: #fff;
  font-size: 16px;
  line-height: 1.6;
  display: block;
  max-height: 4.8em;
  overflow: hidden;
  visibility: visible; }

.bottom_tab_post .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  width: 100%;
  -ms-word-wrap: break-word;
  word-wrap: break-word; }

/* 広告 */
#single_banner_top {
  margin: 0 auto 50px; }

#single_banner_bottom {
  margin: 60px auto 0px; }

#single_banner_shortcode {
  margin: 15px auto 45px; }

img.single_banner_image {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto; }

.single_banner img {
  max-width: 100%;
  height: auto; }

.single_banner a img {
  transition: opacity 0.25s ease; }

.single_banner a:hover img {
  opacity: 0.6; }

/* デモサイト用 */
#demo_blog_banner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

/* いいねボタン */
.p-single-like {
  text-align: center;
  border: 1px solid #ddd;
  padding: 40px;
  background: #fff;
  margin-top: 60px; }

.p-single-like__title {
  font-size: 18px;
  line-height: 1.6;
  margin: 0 0 10px 0; }

.p-single-like__desc {
  line-height: 2.4; }

.p-single-like__button {
  cursor: pointer;
  transition: all 0.25s ease;
  position: relative;
  width: 120px;
  height: 50px;
  padding: 0;
  border: 1px solid #ddd;
  color: #000;
  background: #fff;
  border-radius: 50px;
  font-size: 14px;
  margin: 15px auto 0; }

.p-single-like__button .num {
  position: relative;
  padding: 0 0 0 25px; }

.p-single-like__button .num:before {
  color: #000;
  content: "\e91b";
  font-family: "design_plus";
  font-size: 18px;
  position: absolute;
  left: 0;
  top: -2px;
  transition: all 0.25s ease; }

.p-single-like__button:hover {
  border: 1px solid #000;
  background: #000;
  color: #fff; }

.p-single-like__button.is-liked {
  border: 1px solid #000;
  background: #000;
  color: #fff; }

.p-single-like__button:hover .num:before {
  color: #fff; }

.p-single-like__button.is-liked .num:before {
  color: #fff; }

/* ----------------------------------------------------------------------
　ヘッダー（サイドコンテンツ）
---------------------------------------------------------------------- */
#header {
  width: 330px;
  min-height: 100vh;
  padding-bottom: 40px;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1000;
  height: 100vh; }

#header .simplebar-content-wrapper {
  overscroll-behavior: contain !important; }

#header .simplebar-scrollbar::before {
  background: rgba(150, 150, 150, 0.5);
  left: 4px;
  width: 7px;
  opacity: 0;
  transition: opacity 0.5s ease; }

#header:hover .simplebar-scrollbar::before {
  opacity: 1; }

body.sidebar_right #header {
  left: auto;
  right: 0; }

body.admin-bar #header {
  top: 32px;
  height: calc(100vh - 32px);
  min-height: calc(100vh - 32px); }

/* ロゴ */
#header_logo {
  padding: 20px 40px;
  min-height: 220px;
  border-bottom: 1px solid #ddd;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center; }

#header_logo img {
  max-width: 100%;
  display: block;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
  height: auto; }

#header_logo a:hover img {
  opacity: 0.5; }

#header_logo a .logo_text {
  font-weight: 500;
  line-height: 1.3; }

#header_logo .logo_image.mobile {
  display: none; }

/* サイトの説明文 */
#site_desc {
  padding: 35px 40px;
  line-height: 1.7;
  font-size: 16px;
  font-weight: 500;
  border-bottom: 1px solid #ddd;
  text-align: center; }

/* グローバルメニュー */
body.hide_page_header_bar #global_menu {
  display: none; }

#global_menu {
  border-bottom: 1px solid #ddd;
  padding: 19px 0; }

#global_menu > ul {
  position: relative;
  z-index: 10; }

#global_menu > ul li {
  position: relative;
  line-height: 1;
  font-size: 16px; }

#global_menu > ul li a {
  transition: all 0.25s ease;
  background: #fff;
  color: #000;
  text-decoration: none;
  line-height: 1.7;
  padding: 17px 70px 15px 40px;
  display: block;
  position: relative;
  overflow: hidden; }

#global_menu > ul li a:hover {
  color: #fff;
  padding-left: calc(40px + 1em); }

#global_menu > ul > li.open > a {
  padding-left: calc(40px + 1em); }

#global_menu > ul ul > li > a {
  padding-left: calc(40px + 1em); }

#global_menu ul ul {
  display: none; }

#global_menu ul ul li a {
  color: #fff; }

#global_menu .child_menu_button {
  background: none;
  display: block;
  position: absolute;
  text-align: center;
  width: 70px;
  height: 50px;
  right: 0px;
  top: 0px;
  z-index: 9;
  cursor: pointer; }

#global_menu .child_menu_button:before {
  font-family: "design_plus";
  content: "\e910";
  color: #000;
  display: block;
  position: absolute;
  right: 30px;
  top: 22px;
  font-size: 16px;
  transition: all 0.25s ease; }

#global_menu ul ul .child_menu_button:before {
  color: #fff; }

#global_menu .child_menu_button:hover:before {
  color: rgba(0, 0, 0, 0.4); }

#global_menu ul ul .child_menu_button:hover:before {
  color: rgba(255, 255, 255, 0.4); }

#global_menu .open > .child_menu_button:before {
  transform: rotate(90deg); }

body.sidebar_right #global_menu .child_menu_button:before {
  transform: rotate(0deg);
  content: "\e90e";
  transition: color 0.25s ease, opacity 0.5s ease; }

body.sidebar_right #global_menu .open > .child_menu_button:before {
  opacity: 0; }

body.sidebar_right #global_menu .child_menu_button:after {
  opacity: 0;
  font-family: "design_plus";
  content: "\e911";
  color: #000;
  display: block;
  position: absolute;
  right: 30px;
  top: 22px;
  font-size: 16px;
  transition: color 0.25s ease, opacity 0.5s ease; }

body.sidebar_right #global_menu .open > .child_menu_button:after {
  opacity: 1; }

body.sidebar_right #global_menu ul ul .open > .child_menu_button:after {
  color: #fff; }

body.sidebar_right #global_menu .open > .child_menu_button:hover:after {
  color: rgba(0, 0, 0, 0.4); }

body.sidebar_right #global_menu ul ul .open > .child_menu_button:hover:after {
  color: rgba(255, 255, 255, 0.4); }

/* SNS */
#header_sns {
  text-align: left;
  padding: 50px 32px 0; }

/* 検索フォーム */
#header_search {
  display: none; }

/* ドロワーメニュー */
#drawer_menu_button {
  display: none; }

#drawer_menu {
  display: none; }

/* パンくずリンク */
#bread_crumb {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 10;
  width: 100%;
  height: 60px;
  margin: 0 auto;
  border-top: 1px solid rgba(255, 255, 255, 0.2); }

#bread_crumb ul {
  width: 700px;
  margin: 0 auto;
  height: 60px;
  line-height: 60px;
  padding: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  visibility: visible; }

#bread_crumb li {
  display: inline;
  font-size: 14px;
  margin: 0 10px 0 0;
  padding: 0 20px 0 0;
  position: relative; }

#bread_crumb li:after {
  font-family: "design_plus";
  content: "\e910";
  font-size: 11px;
  color: #fff;
  display: block;
  height: 13px;
  line-height: 13px;
  position: absolute;
  right: 0px;
  top: 2px; }

#bread_crumb li:last-of-type:after {
  display: none; }

#bread_crumb,
#bread_crumb li.last {
  color: rgba(255, 255, 255, 0.6); }

#bread_crumb li a {
  color: #fff;
  display: inline-block;
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out; }

#bread_crumb li a:hover {
  opacity: 0.5; }

#bread_crumb li.category a {
  display: none; }

#bread_crumb li.category a:first-of-type,
#bread_crumb li.category a:only-of-type {
  display: inline-block; }

#bread_crumb li.home a {
  position: relative;
  width: 16px; }

#bread_crumb li.home a span {
  opacity: 0; }

#bread_crumb li.home a:before {
  font-family: "design_plus";
  content: "\e90c";
  font-size: 12px;
  color: #fff;
  display: inline-block;
  top: 0px;
  position: relative;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* ヘッダーメッセージ */
#header_message {
  position: absolute;
  left: 330px;
  top: 0;
  z-index: 2000;
  width: calc(100% - 330px);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  min-height: 50px;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  padding: 15px 20px; }

body.sidebar_right #header_message {
  left: 0; }

body.hide_page_side_bar #header_message {
  width: 100%;
  left: 0; }

#header_message .label {
  display: block;
  color: inherit;
  line-height: 1.4;
  padding: 0 20px; }

#header_message a.label:hover {
  text-decoration: underline; }

@media (max-width: 767px) {
  #header_message {
    min-height: 40px;
    font-size: 12px; } }
/* ニュースティッカー */
body.home #main_content_header {
  position: absolute;
  top: 0;
  left: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  background: none; }

body.home #main_content_header.login {
  background: #000;
  border-bottom: none;
  position: relative; }

#main_content_header {
  background: #000;
  width: 100%;
  height: 60px;
  z-index: 1000;
  display: flex;
  flex-wrap: wrap;
  align-items: center; }

#main_content_header.no_header_news {
  justify-content: flex-end; }

#main_content_header.logout.no_header_news {
  display: none; }

body.membership-login #main_content_header.logout.no_header_news {
  display: block;
  height: 1px;
  background-color: #f8f8f8; }

#news_ticker {
  z-index: 4;
  width: calc(100% - 140px);
  flex: 1 1 0%;
  overflow: hidden;
  height: 30px; }

#news_ticker a {
  padding: 0 40px;
  color: #fff;
  font-size: 14px;
  display: block;
  width: 100%;
  height: 30px;
  line-height: 30px;
  display: flex;
  flex-wrap: nowrap;
  transition: opacity 0.25s ease; }

#news_ticker a:hover {
  opacity: 0.5; }

#news_ticker .date {
  width: 110px;
  display: block;
  position: relative;
  padding-left: 18px; }

#news_ticker .date:before {
  font-family: "design_plus";
  content: "\e91d";
  font-size: 13px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

#news_ticker .title {
  width: calc(100% - 90px);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  visibility: visible; }

#main_content_header .archive_link {
  color: #fff;
  font-size: 14px;
  width: 140px;
  height: 60px;
  line-height: 60px;
  text-align: center;
  border-left: 1px solid rgba(255, 255, 255, 0.2); }

#main_content_header .archive_link:hover {
  color: rgba(255, 255, 255, 0.5); }

/* ログアウトボタン */
#header_logout_button {
  display: flex;
  flex-wrap: wrap; }

#header_logout_button a {
  color: #fff;
  border-left: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 14px;
  display: block;
  height: 60px;
  line-height: 60px;
  padding: 0 25px;
  position: relative; }

#header_logout_button a:hover {
  color: rgba(255, 255, 255, 0.5); }

#header_logout_button span {
  padding-left: 20px; }

#header_mypage:before {
  content: "\e921";
  font-family: "design_plus";
  font-size: 14px;
  position: absolute; }

#header_logout:before {
  content: "\e922";
  font-family: "design_plus";
  font-size: 14px;
  position: absolute; }

/* ログインボタン */
#side_button {
  position: fixed;
  z-index: 100;
  top: 0;
  top: 50%;
  transform: translateY(-50%);
  right: 0; }

#side_button a {
  font-size: 16px;
  color: #fff;
  background: #000;
  width: 60px;
  line-height: 60px;
  min-height: 180px;
  display: block;
  writing-mode: vertical-rl;
  text-align: center;
  border-radius: 7px 0 0 7px;
  margin: 5px 0; }

#side_button a:hover {
  color: rgba(255, 255, 255, 0.5); }

body.hide_page_side_button #side_button {
  display: none; }

body.sidebar_right #side_button {
  right: auto;
  left: 0; }

body.sidebar_right #side_button a {
  border-radius: 0 7px 7px 0; }

body.hide_side_register_button #side_button .open_register_modal {
  display: none !important; }

#side_button.footer_login_button {
  display: none; }

#side_button.hide_button {
  display: none; }

/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
#footer {
  background: #003040;
  color: #fff;
  position: sticky;
  top: 100vh; }

#footer a {
  color: #fff; }

/* 説明文 */
#footer_site_desc {
  text-align: center;
  font-size: 16px;
  line-height: 2;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  padding: 20px 40px; }

#footer_site_desc a {
  text-decoration: underline; }

#footer_site_desc a:hover {
  color: rgba(255, 255, 255, 0.5); }

/* フリースペース */
#footer_free {
  padding: 60px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2); }

#footer_free .post_content {
  width: 700px;
  margin: 0 auto; }

/* デモサイト用 */
#demo_footer_free_space {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

#demo_footer_free_space a {
  width: 330px; }

#demo_footer_free_space img {
  display: block;
  margin: 0; }

/* メニュー */
#footer_nav {
  width: 700px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  padding: 60px 0; }

.footer_menu {
  width: 50%; }

.footer_menu:nth-child(2n) {
  padding-left: 25px; }

.footer_menu li {
  margin: 0 0 30px 0;
  font-size: 14px; }

.footer_menu li:last-of-type {
  margin: 0; }

.footer_menu li a {
  display: block; }

.footer_menu li a:hover {
  color: rgba(255, 255, 255, 0.5) !important; }

/* SNS */
#footer_sns {
  display: none; }

/* コピーライト */
#copyright {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  height: 60px;
  line-height: 60px;
  position: relative;
  text-align: center;
  font-size: 12px;
  box-sizing: content-box; }

/* 上部へ戻る*/
#return_top {
  opacity: 0;
  transition: opacity 0.5s ease;
  position: fixed;
  right: 30px;
  bottom: 30px;
  z-index: 2000; }

#return_top.active {
  opacity: 1; }

#return_top a {
  border: 1px solid #eee;
  color: #000;
  background: #fff;
  border-radius: 100%;
  width: 65px;
  height: 65px;
  line-height: 65px;
  display: block;
  position: relative; }

#return_top a:hover:before {
  color: #fff; }

#return_top span {
  display: none; }

#return_top a:before {
  content: "\e90f";
  font-family: "design_plus";
  display: block;
  transform: rotate(90deg);
  position: absolute;
  top: 0px;
  left: 23px; }

body.sidebar_right #return_top a {
  right: 330px; }

/* SNSボタン（全箇所共通） */
.sns_button_list {
  font-size: 0;
  z-index: 20;
  text-align: center; }

.sns_button_list li {
  font-size: 12px;
  display: inline-block;
  margin: 0 7px;
  position: relative; }

.sns_button_list li a {
  display: block;
  text-align: center;
  position: relative;
  overflow: hidden;
  width: 17px;
  height: 18px; }

.sns_button_list li a span {
  display: none; }

.sns_button_list li a:before {
  font-family: "design_plus";
  font-size: 16px;
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.sns_button_list.color_type1 li a:before {
  color: #000; }

.sns_button_list li a:hover:before {
  opacity: 0.5; }

.sns_button_list li.twitter a:before {
  font-family: "tiktok_x_icon";
  content: "\e901";
  margin-left: 0.7px; }

.sns_button_list li.facebook a:before {
  content: "\e944";
  font-size: 18px; }

.sns_button_list li.insta a:before {
  content: "\ea92";
  font-size: 15px;
  margin-top: 1px; }

.sns_button_list li.tiktok a:before {
  font-family: "tiktok_x_icon";
  content: "\e900";
  margin-top: 1px; }

.sns_button_list li.pinterest a:before {
  content: "\e905";
  font-size: 17.5px;
  margin-top: 1px; }

.sns_button_list li.youtube a {
  width: 19px; }

.sns_button_list li.youtube a:before {
  content: "\ea9d";
  font-size: 18px;
  margin-top: 1px; }

.sns_button_list li.contact a:before {
  content: "\f0e0"; }

.sns_button_list li.rss a:before {
  content: "\e90b";
  font-size: 14px;
  margin-top: 1px; }

.sns_button_list li.user_url a:before {
  content: "\e942";
  margin-left: 0.7px; }

.sns_button_list.color_type2 li {
  margin: 0 13px 0 0;
  transform: scale(0.9); }

.sns_button_list.color_type2 li a {
  width: 25px;
  height: 25px; }

.sns_button_list.color_type2 li a:before {
  font-size: 22px; }

.sns_button_list.color_type2 li.twitter a:before {
  color: #000000;
  font-size: 20px; }

.sns_button_list.color_type2 li.facebook a:before {
  color: #1877f2;
  font-size: 25px; }

.sns_button_list.color_type2 li.insta a:before {
  color: #e4405f; }

.sns_button_list.color_type2 li.tiktok a:before {
  color: #000000; }

.sns_button_list.color_type2 li.pinterest a:before {
  color: #bd081c;
  font-size: 24px; }

.sns_button_list.color_type2 li.youtube a:before {
  color: #f00; }

.sns_button_list.color_type2 li.contact a:before {
  color: #00729f; }

.sns_button_list.color_type2 li.rss a:before {
  color: orange; }

.sns_button_list.color_type2 li.user_url a:before {
  color: #00729f; }

/* フッターバー */
#dp-footer-bar {
  position: fixed;
  right: 0px;
  bottom: 0px;
  z-index: 999;
  width: 100%; }

.open_menu #dp-footer-bar {
  display: none; }

.dp-footer-bar-type1 #dp-footer-bar {
  opacity: 0;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s; }

.dp-footer-bar-type1 #dp-footer-bar.active {
  opacity: 1; }

.dp-footer-bar-type2 #dp-footer-bar {
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
  -webkit-transition: -webkit-transform 0.35s;
  transition: transform 0.35s; }

.dp-footer-bar-type2 #dp-footer-bar.active {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

/* フッターバー　アイコン無しタイプ */
#dp-footer-bar {
  height: 50px;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap; }

#dp-footer-bar a {
  height: 50px;
  line-height: 50px;
  display: block;
  text-align: center;
  font-size: 12px;
  padding: 0 20px;
  text-decoration: none !important;
  -webkit-flex: 1 1 0%;
  flex: 1 1 0%; }

/* ----------------------------------------------------------------------
 ウィジェット
---------------------------------------------------------------------- */
/* 基本設定 */
.widget_content {
  padding: 40px;
  border-bottom: 1px solid #ddd;
  position: relative;
  font-size: 16px; }

.widget_content:last-of-type {
  border-bottom: none;
  margin-bottom: -50px; }

.widget_content a {
  text-decoration: none; }

.widget_content img {
  height: auto;
  max-width: 100%; }

.widget_headline {
  font-weight: 600;
  font-size: 16px;
  padding: 17px 20px;
  margin: 0 0 20px 0;
  position: relative;
  line-height: 1;
  background: #000;
  color: #fff;
  text-align: center; }

.widget_headline a {
  color: #fff; }

/* いいね！記事一覧 */
.like_ranking_widget .widget_headline {
  margin: 0; }

.like_ranking_widget a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  border: 1px solid #ddd;
  border-top: none;
  background: #f6f6f6;
  position: relative; }

.like_ranking_widget .like_count {
  width: 50px;
  text-align: center;
  font-size: 12px;
  color: #000;
  background: #fff;
  height: 100px;
  border-right: 1px solid #ddd;
  display: flex;
  flex-direction: column;
  justify-content: center; }

.like_ranking_widget .like_count:before {
  content: "\e91b";
  font-family: "design_plus";
  display: block;
  font-size: 16px;
  margin: 0 0 5px 0; }

.like_ranking_widget .title {
  width: calc(100% - 50px);
  display: block;
  padding: 0 20px;
  font-size: 14px;
  line-height: 1.7;
  display: block;
  max-height: 5.1em;
  overflow: hidden;
  visibility: visible; }

.like_ranking_widget .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; }

.like_ranking_widget a:hover {
  color: rgba(0, 0, 0, 0.5); }

.like_ranking_widget .no_post {
  font-size: 14px;
  text-align: center;
  padding: 15px 20px;
  line-height: 1.7;
  border: 1px solid #ddd;
  border-top: none; }

/* ランキング */
.ranking_post_list_widget .widget_headline {
  margin: 0; }

.ranking_post_list_widget .rank_tab {
  display: flex;
  flex-wrap: wrap;
  position: relative; }

.ranking_post_list_widget .rank_tab > div {
  cursor: pointer;
  font-size: 14px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  flex: 1 1 0%;
  position: relative;
  background: #f6f6f6;
  transition: color 0.25s ease;
  border-bottom: 1px solid #ddd; }

.ranking_post_list_widget .rank_tab > div:first-of-type:after {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background: #ddd;
  position: absolute;
  right: 0;
  top: 0; }

.ranking_post_list_widget .rank_tab > div:only-of-type:after {
  display: none; }

.ranking_post_list_widget .rank_tab > div.active {
  background: #fff;
  border-color: #fff;
  pointer-events: none; }

.ranking_post_list_widget .rank_tab > div:only-of-type {
  display: none; }

.ranking_post_list_widget .rank_tab > div:hover {
  color: rgba(0, 0, 0, 0.5); }

.ranking_post_list_widget .rank_post_wrap {
  border: 1px solid #ddd;
  border-top: none; }

.ranking_post_list_widget .rank_post {
  display: none; }

.ranking_post_list_widget .rank_post.active {
  display: block; }

.ranking_post_list_widget .item {
  border-bottom: 1px solid #ddd; }

.ranking_post_list_widget .item:last-of-type {
  border-bottom: none; }

.ranking_post_list_widget .animate_background {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  padding: 15px; }

.ranking_post_list_widget .image_wrap {
  width: 70px !important;
  height: 70px !important;
  position: relative;
  z-index: 1;
  overflow: hidden;
  aspect-ratio: 350/200; }

.ranking_post_list_widget .image {
  width: 100%;
  height: 100% !important;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover; }

.ranking_post_list_widget .content {
  width: calc(100% - 70px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 0 0 0 15px; }

.ranking_post_list_widget .title {
  font-size: 14px;
  line-height: 1.7;
  display: block;
  max-height: 5.1em;
  overflow: hidden;
  visibility: visible; }

.ranking_post_list_widget .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; }

.ranking_post_list_widget .rank {
  color: #000;
  position: absolute;
  top: 15px;
  left: 15px;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  font-size: 12px;
  background: #fff;
  z-index: 100; }

.ranking_post_list_widget a:hover {
  color: rgba(0, 0, 0, 0.5); }

/* デザイン記事一覧（シンプル） */
.design_post_list_widget .single_rank_post a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  border: 1px solid #ddd;
  border-top: none;
  background: #f6f6f6;
  position: relative; }

.design_post_list_widget .single_rank_post .like_count,
.design_post_list_widget .single_rank_post .view_count {
  width: 50px;
  text-align: center;
  font-size: 12px;
  color: #000;
  background: #fff;
  height: 100px;
  border-right: 1px solid #ddd;
  display: flex;
  flex-direction: column;
  justify-content: center; }

.design_post_list_widget .single_rank_post .like_count:before {
  content: "\e91b";
  font-family: "design_plus";
  display: block;
  font-size: 16px;
  margin: 0 0 5px 0; }

.design_post_list_widget .single_rank_post .title {
  width: calc(100% - 50px);
  display: block;
  padding: 0 20px;
  font-size: 14px;
  line-height: 1.7;
  display: block;
  max-height: 5.1em;
  overflow: hidden;
  visibility: visible; }

.design_post_list_widget .single_rank_post .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; }

.design_post_list_widget .single_rank_post a:hover {
  color: rgba(0, 0, 0, 0.5); }

.design_post_list_widget .single_rank_post .no_post {
  font-size: 14px;
  text-align: center;
  padding: 15px 20px;
  line-height: 1.7;
  border: 1px solid #ddd;
  border-top: none; }

.design_post_list_widget .single_rank_post.no_num a {
  height: 100px; }

.design_post_list_widget .single_rank_post.no_num .title {
  width: auto; }

/* デザイン記事一覧（タブ） */
.design_post_list_widget .widget_headline {
  margin: 0; }

.design_post_list_widget .rank_tab {
  display: flex;
  flex-wrap: wrap;
  position: relative; }

.design_post_list_widget .rank_tab > div {
  cursor: pointer;
  font-size: 14px;
  height: 50px;
  line-height: 1.3;
  text-align: center;
  flex: 1 1 0%;
  position: relative;
  background: #f6f6f6;
  transition: color 0.25s ease;
  border-bottom: 1px solid #ddd;
  padding: 4px 20px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center; }

.design_post_list_widget .rank_tab > div:first-of-type:after {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background: #ddd;
  position: absolute;
  right: 0;
  top: 0; }

.design_post_list_widget .rank_tab > div:only-of-type:after {
  display: none; }

.design_post_list_widget .rank_tab > div.active {
  background: #fff;
  border-color: #fff;
  pointer-events: none; }

.design_post_list_widget .rank_tab > div:only-of-type {
  display: none; }

.design_post_list_widget .rank_tab > div:hover {
  color: rgba(0, 0, 0, 0.5); }

.design_post_list_widget .rank_post_wrap {
  border: 1px solid #ddd;
  border-top: none; }

.design_post_list_widget .rank_post {
  display: none; }

.design_post_list_widget .rank_post.active {
  display: block; }

.design_post_list_widget .rank_post .item {
  border-bottom: 1px solid #ddd;
  height: 100px; }

.design_post_list_widget .rank_post .item:last-of-type {
  border-bottom: none; }

.design_post_list_widget .rank_post .animate_background {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  padding: 15px; }

.design_post_list_widget .rank_post .image_wrap {
  width: 70px !important;
  height: 70px !important;
  position: relative;
  z-index: 1;
  overflow: hidden;
  aspect-ratio: 350/200; }

.design_post_list_widget .rank_post .image {
  width: 100%;
  height: 100% !important;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover; }

.design_post_list_widget .rank_post .content {
  width: calc(100% - 70px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 0 0 15px; }

.design_post_list_widget .rank_post .title {
  font-size: 14px;
  line-height: 1.7;
  display: block;
  max-height: 5.1em;
  overflow: hidden;
  visibility: visible; }

.design_post_list_widget .rank_post .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  width: 100%;
  -ms-word-wrap: break-word;
  word-wrap: break-word; }

.design_post_list_widget .rank_post .item.show_like_num .title {
  max-height: 3.4em; }

.design_post_list_widget .rank_post .item.show_like_num .title span {
  -webkit-line-clamp: 2; }

.design_post_list_widget .rank_post .rank {
  color: #000;
  position: absolute;
  top: 15px;
  left: 15px;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  font-size: 12px;
  background: #fff;
  z-index: 100; }

.design_post_list_widget .rank_post a:hover {
  color: rgba(0, 0, 0, 0.5); }

.design_post_list_widget .rank_post .like_count {
  color: #000;
  padding: 0 0 0 20px;
  height: 20px;
  line-height: 20px;
  font-size: 12px;
  position: relative;
  margin-top: 4px; }

.design_post_list_widget .rank_post .like_count:before {
  content: "\e91b";
  font-family: "design_plus";
  display: block;
  font-size: 16px;
  position: absolute;
  top: 0;
  left: 0; }

/* デモサイト用 */
.demo_side_banner {
  display: block; }

.demo_side_banner img {
  margin: 0 0 20px 0;
  display: block; }

.demo_side_banner:last-of-type img {
  margin: 0; }

/* 検索 */
.widget_search label {
  display: none; }

#searchform {
  background: #f3f3f3;
  height: 50px;
  border: none;
  border-radius: 50px; }

#searchform #s {
  border: none;
  background: none;
  padding: 0 5px 0 25px;
  margin: 0;
  width: calc(100% - 50px);
  height: 50px; }

#searchform #searchsubmit {
  border: none;
  background: none;
  width: 50px;
  height: 50px;
  z-index: 200;
  position: relative;
  cursor: pointer;
  display: block;
  text-indent: -300px;
  overflow: hidden; }

#searchform .submit_button {
  position: relative;
  width: 50px;
  height: 50px;
  float: right;
  top: 1px; }

#searchform .submit_button:before {
  text-indent: 0;
  display: block;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  cursor: pointer;
  z-index: 1;
  position: absolute;
  font-family: "design_plus";
  color: #333;
  font-size: 14px;
  content: "\e94c";
  right: 2px;
  top: 1px;
  font-weight: 500;
  transition: color 0.2s ease; }

#searchform .submit_button:hover:before {
  color: rgba(0, 0, 0, 0.5) !important; }

/* タグ一覧 */
.tcdw_tag_list_widget ol {
  margin: 0 0 -6px 0;
  padding: 0;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap; }

.tcdw_tag_list_widget ol li {
  margin: 0 6px 6px 0;
  padding: 0;
  font-size: 14px; }

.tcdw_tag_list_widget ol a {
  display: block;
  background: #fff;
  border: 1px solid #ddd;
  padding: 4px 20px;
  border-radius: 5px; }

.tcdw_tag_list_widget ol a:hover {
  background: #000;
  color: #fff; }

/* デフォルトのタグ一覧 */
.widget_tag_cloud .tagcloud {
  margin: 0 0 -6px 0;
  padding: 0;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap; }

.widget_tag_cloud .tagcloud a {
  margin: 0 6px 6px 0;
  font-size: 12px !important;
  display: block;
  background: #f6f6f6;
  padding: 0px 20px;
  border-radius: 4px;
  height: 36px;
  line-height: 36px; }

.widget_tag_cloud .tagcloud a:hover {
  background: #000;
  color: #fff; }

/* デフォルトの最近の記事 */
.widget_recent_entries li {
  border-bottom: 1px solid #ddd;
  padding: 0 0 15px 0;
  margin-bottom: 15px;
  line-height: 1.7;
  font-size: 14px; }

.widget_recent_entries li:last-child {
  border: none;
  padding: 0;
  margin: 0; }

.widget_recent_entries li a {
  display: block; }

.widget_recent_entries .post-date {
  position: relative;
  color: #999;
  font-size: 14px;
  display: block;
  margin-top: 10px;
  padding-left: 20px; }

.widget_recent_entries .post-date:before {
  font-family: "footer_bar";
  content: "\e912";
  font-size: 13px;
  display: inline-block;
  position: absolute;
  left: 0;
  top: 45%;
  transform: translateY(-50%);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* デフォルトのカテゴリー */
.widget_categories li {
  margin: 0;
  padding: 0;
  position: relative;
  font-size: 14px; }

.widget_categories li a {
  display: block;
  color: #000;
  padding: 15px 0;
  overflow: hidden;
  position: relative;
  width: 100%;
  line-height: 1.7;
  transition: all 0.25s ease; }

.widget_categories li a:hover {
  padding-left: 1em; }

.widget_categories li li a {
  padding-left: 1em; }

.widget_categories li li a:hover {
  padding-left: 2em; }

.widget_categories li li li a {
  padding-left: 2em; }

.widget_categories li li li a:hover {
  padding-left: 3em; }

.widget_categories li .title {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  visibility: visible; }

.widget_categories li .post-count {
  font-size: 12px;
  position: absolute;
  right: 0px;
  top: 21px;
  color: #999; }

/* デフォルトのアーカイブ */
.widget_archive li {
  margin: 0;
  padding: 0;
  position: relative;
  font-size: 14px; }

.widget_archive li a {
  display: block;
  color: #000;
  padding: 15px 0;
  overflow: hidden;
  position: relative;
  width: 100%;
  line-height: 1.7;
  transition: all 0.25s ease; }

.widget_archive li a:hover {
  padding-left: 1em; }

.widget_archive li li a {
  padding-left: 1em; }

.widget_archive li li a:hover {
  padding-left: 2em; }

.widget_archive li li li a {
  padding-left: 2em; }

.widget_archive li li li a:hover {
  padding-left: 3em; }

.widget_archive li .post-count {
  font-size: 12px;
  position: absolute;
  right: 0px;
  top: 21px;
  color: #999; }

/* デフォルトの固定ページ */
.widget_pages li {
  margin: 0;
  padding: 0;
  position: relative;
  font-size: 14px; }

.widget_pages li a {
  display: block;
  color: #000;
  padding: 15px 0;
  overflow: hidden;
  position: relative;
  width: 100%;
  line-height: 1.7;
  transition: all 0.25s ease; }

.widget_pages li a:hover {
  padding-left: 1em; }

.widget_pages li li a {
  padding-left: 1em; }

.widget_pages li li a:hover {
  padding-left: 2em; }

.widget_pages li li li a {
  padding-left: 2em; }

.widget_pages li li li a:hover {
  padding-left: 3em; }

/* デフォルトのナビ　*/
.widget_nav_menu li {
  margin: 0;
  padding: 0;
  position: relative;
  font-size: 14px; }

.widget_nav_menu li a {
  display: block;
  color: #000;
  padding: 15px 0;
  overflow: hidden;
  position: relative;
  width: 100%;
  line-height: 1.7;
  transition: all 0.25s ease; }

.widget_nav_menu li a:hover {
  padding-left: 1em; }

.widget_nav_menu li li a {
  padding-left: 1em; }

.widget_nav_menu li li a:hover {
  padding-left: 2em; }

.widget_nav_menu li li li a {
  padding-left: 2em; }

.widget_nav_menu li li li a:hover {
  padding-left: 3em; }

/* デフォルトのコメントウィジェット */
.widget_recent_comments li {
  color: #999;
  line-height: 1.7;
  font-size: 14px;
  border-bottom: 1px solid #ddd;
  padding: 0 0 15px 0;
  margin-bottom: 15px; }

.widget_recent_comments li:last-of-type {
  border: none;
  padding: 0;
  margin: 0; }

/* デフォルトのブロック */
.widget_block {
  font-size: 14px;
  line-height: 1.7; }

/* デフォルトのテキストウィジェット */
.widget_text .textwidget {
  font-size: 14px;
  line-height: 1.7; }

.widget_text .textwidget ol {
  list-style: decimal outside none;
  margin-left: 1.5em; }

.widget_text .textwidget ul {
  list-style: circle outside none;
  margin-left: 1.3em; }

.widget_text .textwidget li > ul,
.widget_text .textwidget li > ol {
  margin-bottom: 0; }

/* デフォルトのメタウィジェット */
.widget_meta {
  line-height: 1.7;
  font-size: 14px; }

.widget_meta ul {
  margin-bottom: -8px; }

/*  デフォルトのRSS */
.widget_rss li {
  border-bottom: 1px solid #ddd;
  padding: 0 0 15px 0;
  margin-bottom: 15px;
  line-height: 1.7;
  font-size: 14px; }

.widget_rss li:last-child {
  border: none;
  padding: 0;
  margin: 0; }

.widget_rss li a {
  display: block; }

.widget_rss .rss-date {
  position: relative;
  color: #999;
  font-size: 14px;
  display: block;
  margin: 10px 0;
  padding-left: 20px; }

.widget_rss .rss-date:before {
  font-family: "footer_bar";
  content: "\e912";
  font-size: 13px;
  display: inline-block;
  position: absolute;
  left: 0;
  top: 45%;
  transform: translateY(-50%);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* デフォルトのアーカイブとカテゴリー　ドロップダウンメニュー */
.widget_archive form,
.widget_categories form {
  position: relative; }

.widget_archive select,
.widget_categories select {
  border: 1px solid #ddd;
  background: #fff;
  width: 100%;
  height: 60px;
  padding: 0 20px;
  font-size: 14px;
  cursor: pointer;
  position: relative;
  -webkit-appearance: none;
  appearance: none; }

.widget_archive .screen-reader-text,
.widget_categories .screen-reader-text {
  display: block;
  clip: auto;
  clip-path: none;
  pointer-events: none;
  z-index: 10;
  height: 60px;
  width: 50px;
  margin: 0;
  right: 40px;
  text-indent: -100vw; }

.widget_categories .screen-reader-text {
  right: 0; }

.widget_archive .screen-reader-text:before,
.widget_categories .screen-reader-text:before {
  font-family: "design_plus";
  content: "\e90e";
  text-align: center;
  text-indent: 0;
  display: block;
  font-size: 14px;
  width: 14px;
  height: 14px;
  line-height: 14px;
  position: absolute;
  right: 20px;
  top: 27px; }

/* カレンダー */
#calendar_wrap {
  padding: 0;
  margin: -6px 0 -20px; }

#wp-calendar {
  margin: 0 auto;
  width: 100%;
  font-size: 11px;
  border-collapse: collapse;
  table-layout: fixed; }

#wp-calendar caption {
  padding: 7px 0;
  font-size: 14px;
  font-weight: 600; }

#wp-calendar thead th,
#wp-calendar tfoot td {
  padding: 12px 10px;
  line-height: 2; }

#wp-calendar thead th {
  font-weight: 500; }

#wp-calendar tbody th,
#wp-calendar tbody td {
  padding: 0;
  margin: 0;
  line-height: 1;
  text-align: center; }

#wp-calendar tbody span {
  display: block;
  padding: 15px 10px; }

#wp-calendar tbody a {
  display: block;
  width: 30px;
  height: 30px;
  line-height: 30px;
  border-radius: 30px;
  margin: 0 auto;
  text-decoration: none;
  background-color: #000;
  color: #fff; }

#wp-calendar td a:hover {
  text-decoration: none;
  color: #fff;
  background: #aaa; }

#wp-calendar #today {
  font-weight: 600; }

.wp-calendar-nav {
  font-size: 14px;
  padding: 20px 0;
  width: 100%;
  font-size: 12px; }

.wp-calendar-nav .wp-calendar-nav-prev {
  width: 40%;
  float: left; }

.wp-calendar-nav .wp-calendar-nav-next {
  width: 40%;
  float: right;
  text-align: right; }

/* テキストウィジェット */
.textwidget .post_content {
  font-size: 14px; }

.textwidget .post_content p {
  line-height: 2;
  margin-bottom: 1.5em; }

/* デフォルトのギャラリー */
.widget_media_gallery .gallery-item {
  margin-top: 0 !important; }

/* ----------------------------------------------------------------------
 404ページ
---------------------------------------------------------------------- */
body.error404 #footer,
body.search-no-results #footer {
  display: none; }

body.error404 #footer,
body.search-no-results #footer {
  border: none; }

body.error404 #container {
  min-height: inherit; }

#page_404_header {
  width: 100%;
  height: calc(100vh - 60px);
  height: calc(100dvh - 60px);
  position: relative; }

#page_404_header .content {
  position: absolute;
  z-index: 3;
  text-align: center;
  width: 100%;
  padding: 0 50px;
  color: #fff;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

#page_404_header .catch {
  line-height: 1.4; }

#page_404_header .desc {
  line-height: 2;
  margin: 15px 0 0 0; }

#page_404_header .overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 2; }

#page_404_header .bg_image {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1; }

#page_404_header .catch,
#page_404_header .desc {
  opacity: 0; }

#page_404_header.animate .catch {
  animation: opacityAnimation 1.4s ease forwards 0.5s; }

#page_404_header.animate .desc {
  animation: opacityAnimation 1.4s ease forwards 0.5s; }

@keyframes slideUpDown {
  0% {
    bottom: 10px; }
  50% {
    bottom: 0px; }
  100% {
    bottom: 10px; } }
/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
/* 基本設定 */
#comments {
  margin: 100px 0 0 0; }

#comments .headline {
  font-size: 26px !important;
  margin: 0 0 55px 0 !important;
  text-align: center; }

/* コメント・トラックバックのタブ */
#comment_header {
  position: relative;
  margin: 0 0 20px; }

#comment_tab {
  margin: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex; }

#comment_tab li {
  text-align: center;
  margin: 0;
  -webkit-flex: 1 1 0%;
  flex: 1 1 0%; }

#comment_tab li a,
#comment_tab li p {
  font-size: 14px;
  padding: 20px 15px;
  line-height: 1.6;
  display: block;
  text-decoration: none;
  background: #fff;
  color: #000; }

#comment_tab li a:hover {
  color: #fff;
  background: #999; }

#comment_tab li.active a {
  background: #000; }

#comment_tab li.active a,
#comment_header #comment_closed p {
  color: #fff;
  position: relative; }

#comment_tab li.active a {
  pointer-events: none; }

/*  コメントの基本部分 */
.commentlist {
  list-style-type: none;
  margin: 0;
  padding: 0; }

.comment {
  margin: 0 0 15px;
  padding: 15px 20px 0;
  background: #fff;
  border: 1px solid #ddd; }

#comments .post_content {
  margin: 0;
  padding: 0;
  background: none;
  font-size: 14px; }

/* コメントの情報部分 */
.comment-meta {
  position: relative;
  margin: 0 0 10px 0; }

.comment-meta-left {
  float: left;
  width: 100%; }

#comments .avatar {
  float: left;
  margin: 0 10px 0 0;
  width: 40px;
  height: 40px;
  border-radius: 100%; }

.comment-name-date {
  padding: 3px 0 0 0;
  height: 37px; }

a.admin-url {
  text-decoration: underline; }

a.guest-url {
  text-decoration: underline; }

.comment-name-date {
  margin: 0;
  font-size: 12px; }

.comment-date {
  color: #888;
  margin: 10px 0 0 0; }

.comment-act {
  font-size: 12px;
  position: absolute;
  right: 0px;
  padding: 0;
  margin: 5px 0 0 0; }

.comment-act li {
  display: inline;
  margin: 0; }

.comment-reply a,
.comment-reply a:visited {
  border-right: 1px solid #aaa;
  padding: 0 10px 0 0;
  margin: 0 6px 0 0; }

.comment-edit a,
.comment-edit a:visited {
  border-left: 1px solid #aaa;
  padding: 0 0 0 10px;
  margin: 0 0 0 6px; }

/* コメント本文 */
#comments .post_content p {
  margin: 0 0 15px 0; }

#comments .post_content blockquote span {
  margin: 0 0 -1em 0;
  display: block; }

/* メッセージ、警告文 */
.comment-note {
  display: block;
  font-size: 11px;
  margin: 0 0 1em 0;
  color: #33a8e5;
  border: 1px solid #94ddd4;
  padding: 10px 15px;
  background: #d6f4f0; }

.comment_closed {
  border: 1px solid #ccc;
  text-align: center;
  margin: 0 35px 15px 0;
  padding: 15px;
  background: #fefefe; }

.no_comment {
  padding-bottom: 15px; }

.comment_message {
  margin: 0 0 25px 0; }

/* トラックバック */
.commentlist .ping-link {
  margin: 0 0 25px 0; }

.commentlist .ping-meta {
  margin: 0 0 15px 0; }

#trackback_url_area {
  margin: 0 0 25px 0; }

#trackback_url_area label {
  font-size: 11px;
  display: block;
  margin: 0 0 5px 0; }

#trackback_url_area input {
  border: 1px solid #ddd;
  padding: 5px 10px;
  width: 100%; }

/* ページナビ */
#comment_pager {
  margin: 0 0 10px;
  height: 24px; }

#comment_pager a,
#comment_pager span {
  display: inline;
  float: left;
  margin: 0 10px 0 0; }

#comment_pager .current {
  text-decoration: underline; }

/* コメントフォーム */
.comment_form_wrapper {
  margin: 0 0 0px;
  padding: 15px;
  background: #fff;
  border: 1px solid #ddd; }

.comment .comment_form_wrapper {
  margin: 0 0 20px; }

#cancel_comment_reply a {
  background: #eee;
  margin: 0 0 1em 0;
  padding: 10px;
  text-align: center;
  display: block; }

#cancel_comment_reply a:hover {
  background: #222;
  color: #fff; }

#comment_user_login p {
  padding: 5px 0;
  margin: 0;
  line-height: 1;
  font-size: 14px; }

#comment_user_login span {
  margin: 0 0 0 40px; }

#comment_login {
  margin: 0;
  padding: 3px 30px 10px 30px; }

#comment_login p {
  margin: 0;
  padding: 12px 0 11px 36px;
  line-height: 1; }

#comment_login a {
  margin: 0 0 0 20px;
  padding: 0; }

#guest_info {
  padding: 0;
  width: 100%; }

#guest_info div {
  margin: 0 0 12px 0;
  text-align: left; }

#guest_info input {
  margin: 0;
  padding: 5px 10px;
  border: 1px solid #ccc;
  width: 100%;
  background: #fff;
  box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.1) inset; }

#guest_info input:focus {
  border: 1px solid #999; }

#guest_info label {
  display: block;
  margin: 0 0 10px 0;
  padding: 0;
  font-size: 12px; }

#guest_info span {
  margin: 0 10px 0 0; }

#comment_textarea textarea {
  margin: 15px 0 0;
  width: 100%;
  height: 150px;
  font-size: 12px;
  overflow: auto;
  padding: 10px;
  background: #fff;
  color: #000;
  border: 1px solid #ccc;
  box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.1) inset; }

#comment_textarea textarea:focus {
  border: 1px solid #999; }

#submit_comment_wrapper {
  text-align: center; }

#submit_comment {
  color: #000;
  background: #eee;
  border: none;
  cursor: pointer;
  font-size: 14px;
  width: 200px;
  height: 50px;
  margin: 15px auto 0;
  display: block;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease; }

#submit_comment:hover {
  background: #222;
  color: #fff; }

#input_hidden_field {
  display: none; }

/* ----------------------------------------------------------------------
　アニメーションの設定
---------------------------------------------------------------------- */
/* 下から上へスライド */
@-webkit-keyframes slideUp {
  0% {
    bottom: -30px; }
  100% {
    opacity: 1;
    bottom: 0; } }
@keyframes slideUp {
  0% {
    bottom: -30px; }
  100% {
    opacity: 1;
    bottom: 0; } }
/* ズームアウト */
@-webkit-keyframes zoomOut {
  0% {
    transform: scale(1); }
  100% {
    transform: scale(1.3); } }
@keyframes zoomOut {
  0% {
    transform: scale(1); }
  100% {
    transform: scale(1.3); } }
/* ズームイン */
@-webkit-keyframes zoomIn {
  0% {
    transform: scale(1.3); }
  100% {
    transform: scale(1); } }
@keyframes zoomIn {
  0% {
    transform: scale(1.3); }
  100% {
    transform: scale(1); } }
/* フェードイン */
@-webkit-keyframes opacityAnimation {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes opacityAnimation {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/* フェードアウト */
@-webkit-keyframes opacityAnimation2 {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }
@keyframes opacityAnimation2 {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }
/* 右に移動 */
@-webkit-keyframes moveRight {
  0% {
    opacity: 0;
    right: 30px; }
  100% {
    opacity: 1;
    right: 0; } }
@keyframes moveRight {
  0% {
    opacity: 0;
    right: 30px; }
  100% {
    opacity: 1;
    right: 0; } }
/* 左に移動 */
@-webkit-keyframes moveLeft {
  0% {
    opacity: 0;
    left: 30px; }
  100% {
    opacity: 1;
    left: 0; } }
@keyframes moveLeft {
  0% {
    opacity: 0;
    left: 30px; }
  100% {
    opacity: 1;
    left: 0; } }
/* 下に移動 */
@-webkit-keyframes moveDown {
  0% {
    opacity: 0;
    top: -30px; }
  100% {
    opacity: 1;
    top: 0; } }
@keyframes moveDown {
  0% {
    opacity: 0;
    top: -30px; }
  100% {
    opacity: 1;
    top: 0; } }
/* 上に移動 */
@keyframes -webkit-moveUp {
  0% {
    opacity: 0;
    bottom: -30px; }
  100% {
    opacity: 1;
    bottom: 0; } }
@keyframes moveUp {
  0% {
    opacity: 0;
    bottom: -30px; }
  100% {
    opacity: 1;
    bottom: 0; } }
/* ポップアップ */
@keyframes -webkit-popUp {
  0% {
    transform: scale(0.1);
    opacity: 0; }
  100% {
    transform: none;
    opacity: 1; } }
@keyframes popUp {
  0% {
    transform: scale(0.1);
    opacity: 0; }
  100% {
    transform: none;
    opacity: 1; } }
/* ----------------------------------------------------------------------
 WordPress プリセットスタイル
---------------------------------------------------------------------- */
.post_content *:first-child {
  margin-top: 0; }

.post_content *:last-child {
  margin-bottom: 0; }

.post_content .a_break {
  display: inline-block; }

@media (max-width: 767px) {
  .post_content .is-pc {
    display: none !important; } }
@media not all and (max-width: 767px) {
  .post_content .is-sp {
    display: none !important; } }
/* alignment */
.post_content .alignright {
  float: right; }

.post_content .alignleft {
  float: left; }

.post_content .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 7px; }

.post_content blockquote.alignleft,
.post_content img.alignleft {
  margin: 7px 24px 7px 0; }

.post_content .wp-caption.alignleft {
  margin: 7px 14px 7px 0; }

.post_content blockquote.alignright,
.post_content img.alignright {
  margin: 7px 0 7px 24px; }

.post_content .wp-caption.alignright {
  margin: 7px 0 7px 14px; }

.post_content blockquote.aligncenter,
.post_content img.aligncenter,
.post_content .wp-caption.aligncenter {
  margin-top: 7px;
  margin-bottom: 7px; }

/* text and headline */
.post_content p {
  line-height: 2.4;
  margin: 0 0 2em 0; }

body.page .post_content > p:first-child {
  margin-top: -10px; }

body.home.page .post_content > p:first-child {
  margin-top: 0px; }

.post_content h1,
.post_content h2,
.post_content h3,
.post_content h4,
.post_content h5,
.post_content h6 {
  clear: both;
  line-height: 1.4;
  padding: 0;
  font-weight: 600; }

.post_content h1 {
  font-size: 150%;
  margin: 0 0 35px 0;
  text-align: center; }

.post_content h2 {
  font-size: 140%;
  margin: 0 0 35px 0;
  text-align: center; }

.post_content h3 {
  font-size: 130%;
  margin: 0 0 35px 0; }

.post_content h4 {
  font-size: 120%;
  margin: 0 0 30px 0; }

.post_content h5 {
  font-size: 110%;
  margin: 0 0 30px 0; }

.post_content h6 {
  font-size: 100%;
  margin: 0 0 30px 0; }

/* image */
.post_content img[class*="align"],
.post_content img[class*="wp-image-"],
.post_content img[class*="attachment-"],
.post_content img.size-full,
.post_content img.size-large,
.post_content .wp-post-image,
.post_content img {
  height: auto;
  max-width: 100%;
  display: block;
  margin-top: 50px;
  margin-bottom: 50px; }

.post_content p:first-child img {
  margin-top: 0; }

.post_content p:last-child img {
  margin-bottom: 0; }

/* list */
.post_content li,
.post_content dt,
.post_content dd {
  line-height: 2.2; }

.post_content ul,
.post_content ol,
.post_content dl {
  margin-bottom: 2em; }

.post_content ol {
  list-style: decimal outside none;
  margin-left: 1.5em; }

.post_content ul {
  list-style: circle outside none;
  margin-left: 1.3em; }

.post_content li > ul,
.post_content li > ol {
  margin-bottom: 0; }

.post_content dt {
  font-weight: bold; }

.post_content dd {
  margin-bottom: 1em; }

/* table */
.post_content table {
  margin: 0 0 2em 0;
  width: 100% !important; }

.post_content td,
.post_content th {
  border: 1px solid #ddd;
  padding: 15px 30px 13px;
  line-height: 2.2;
  background: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.post_content th {
  background: #f7f7f7;
  font-weight: normal; }

/* table style */
.post_content table.table_no_border th,
.post_content table.table_no_border td {
  border: none;
  padding-left: 0; }

.post_content table.table_border_shipstal th,
.post_content table.table_border_shipstal td {
  border-left: none;
  border-right: none;
  padding-left: 0; }

/* blockquote */
.post_content blockquote {
  position: relative;
  color: #000;
  margin-bottom: 2em;
  padding: 2em 2.4em;
  box-shadow: none;
  background: #fff;
  border: none;
  border-left: 3px solid #000; }

.post_content blockquote:before {
  line-height: 40px;
  top: 5px;
  left: 10px; }

.post_content blockquote:after {
  text-align: left;
  line-height: 60px;
  bottom: 10px;
  right: -2px; }

.post_content blockquote:before,
.post_content blockquote:after {
  content: '"';
  font-style: italic;
  font-size: 30px;
  font-weight: normal;
  color: #000;
  width: 30px;
  height: 30px;
  position: absolute; }

.post_content blockquote p {
  line-height: 2.4; }

.post_content blockquote cite {
  border-top: 1px dotted #000;
  width: 100%;
  display: block;
  text-align: right;
  padding: 30px 0 0 0; }

/* captions */
.post_content .wp-caption {
  margin-bottom: 2em;
  background: #fff;
  border: 1px solid #ddd;
  padding: 10px;
  max-width: 100%; }

.post_content .wp-caption-text {
  text-align: center;
  line-height: 1.5;
  margin: 0 auto;
  padding: 10px 0 0;
  font-size: 14px; }

.post_content .wp-caption img[class*="wp-image-"] {
  display: block;
  margin: 0 auto 0; }

/* gallery */
.gallery {
  margin-bottom: 2em; }

.gallery img {
  border: 0 !important;
  display: block;
  margin: 0; }

.gallery-item {
  float: left;
  margin: 0 4px 4px 0;
  overflow: hidden;
  position: relative; }

.gallery-columns-1,
.gallery-columns-2,
.gallery-columns-3,
.gallery-columns-4,
.gallery-columns-5,
.gallery-columns-6,
.gallery-columns-7,
.gallery-columns-8,
.gallery-columns-9,
.gallery-columns-10 {
  margin: 0 -4px -4px 0 !important; }

.gallery-columns-1 .gallery-item {
  max-width: 100%; }

.gallery-columns-2 .gallery-item {
  max-width: calc(50% - 4px); }

.gallery-columns-3 .gallery-item {
  max-width: calc(100% / 3 - 4px); }

.gallery-columns-4 .gallery-item {
  max-width: calc(25% - 4px); }

.gallery-columns-5 .gallery-item {
  max-width: calc(20% - 4px); }

.gallery-columns-6 .gallery-item {
  max-width: calc(100% / 6 - 4px); }

.gallery-columns-7 .gallery-item {
  max-width: calc(100% / 7 - 4px); }

.gallery-columns-8 .gallery-item {
  max-width: calc(100% / 8 - 4px); }

.gallery-columns-9 .gallery-item {
  max-width: calc(100% / 9 - 4px); }

.gallery-columns-10 .gallery-item {
  max-width: calc(10% - 4px); }

.gallery-caption {
  background-color: rgba(0, 0, 0, 0.7);
  color: #fff;
  font-size: 12px;
  line-height: 1.5;
  margin: 0;
  pointer-events: none;
  padding: 6px 8px;
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: left;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  transform: translate3d(0, 100%, 0);
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0s; }

.gallery-item:hover .gallery-caption {
  transform: translate3d(0, 0, 0); }

.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption,
.gallery-columns-10 .gallery-caption {
  display: none; }

@media screen and (max-width: 750px) {
  .gallery-caption {
    display: none; } }
/* etc */
.post_content .wp-smiley {
  border: 0;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0; }

.post_content address {
  margin: 0 0 24px 0;
  line-height: 2.2; }

.post_content pre {
  border-left: 3px solid #ccc;
  background: #fff;
  font-size: 12px;
  margin: 0 0 27px 0;
  line-height: 1.7;
  padding: 20px;
  overflow: auto; }

.post_content .mejs-container {
  margin: 12px 0 25px; }

/* パスワード保護 */
.c-pw {
  margin-top: 50px; }

.c-pw__box {
  font-size: 16px;
  padding: 40px;
  border: 1px solid #ddd;
  background: #fff; }

.c-pw__box-inner {
  width: 100%;
  height: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.c-pw__box-desc {
  line-height: 1.8 !important;
  margin: -0.4em 0 2em !important; }

.c-pw__box-input {
  display: block;
  flex: 1;
  border: none;
  background: #eee;
  height: 100%;
  padding: 0 20px; }

.c-pw__btn--submit {
  display: block;
  min-width: 150px;
  height: 100%;
  padding: 0 1em;
  background: #111;
  color: #fff !important;
  border: 0;
  cursor: pointer; }

.c-pw__btn--submit:hover {
  background: #333; }

@media (max-width: 767px) {
  .c-pw {
    margin-top: 40px; }

  .c-pw__box {
    font-size: 14px;
    padding: 20px; }

  .c-pw__box-inner {
    height: 40px; }

  .c-pw__box-desc {
    margin-bottom: 1em !important; }

  .c-pw__box-input {
    width: calc(100% - 100px);
    padding: 0 10px; }

  .c-pw__btn--submit {
    min-width: auto;
    width: 100px; } }
/* Cardlink style - カードリンクのスタイル */
.cardlink {
  word-wrap: break-word;
  max-width: 100%;
  margin: 45px 0 !important;
  padding: 12px;
  border: 1px solid #ddd;
  background: #fafafa; }

.cardlink_thumbnail {
  margin-right: 20px;
  float: left; }

.cardlink_content {
  line-height: 1.6; }

.cardlink_timestamp {
  display: inline;
  margin: 0;
  padding: 0;
  color: #222;
  font-size: 12px;
  line-height: 1.6;
  vertical-align: top; }

.cardlink_title {
  margin: 0 0 5px;
  font-size: 14px; }

.cardlink_title a {
  color: #000;
  font-weight: bold;
  text-decoration: none; }

.cardlink_title a:hover {
  text-decoration: underline; }

.cardlink_excerpt {
  overflow: hidden;
  color: #333;
  font-size: 12px;
  line-height: 1.8; }

.cardlink_footer {
  clear: both; }

.clear {
  clear: both; }

@media screen and (max-width: 767px) {
  .cardlink_thumbnail {
    float: none; }

  .cardlink_timestamp {
    line-height: 2.4;
    vertical-align: middle; }

  .cardlink_excerpt {
    float: none; } }
/* Google Mapの設定 */
.p-btn {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  min-width: 180px;
  height: 50px;
  padding: 0 15px;
  border-radius: 0;
  color: #fff;
  font-size: 14px;
  line-height: 50px;
  text-align: center; }

@media screen and (max-width: 767px) {
  .p-btn {
    height: 45px;
    font-size: 12px;
    line-height: 45px; } }
/* ブロックエディタ */
.wp-block-social-links a {
  color: #fff !important; }

.has-small-font-size {
  font-size: 0.8125em !important; }

.has-normal-font-size,
.has-regular-font-size {
  font-size: 1em !important; }

.has-medium-font-size {
  font-size: 1.25em !important; }

.has-large-font-size {
  font-size: 2.25em !important; }

.has-huge-font-size,
.has-larger-font-size {
  font-size: 2.625em !important; }

/* ----------------------------------------------------------------------
 ブロックエディターのYotutubeのレスポンシブ対応
---------------------------------------------------------------------- */
.wp-block-embed {
  margin: 0 0 2em 0; }

/* QUADRAから追加分 */
.post_content .underline,
.post_content .underline:hover {
  text-decoration: underline; }

.post_content .e_link {
  display: inline-block;
  position: relative;
  padding-right: 1em; }

.post_content .e_link:after {
  font-family: "design_plus";
  content: "\e92a";
  font-size: 100%;
  display: block;
  position: absolute;
  transition: none;
  margin-top: -0.1em;
  right: 0;
  top: 50%;
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%); }

.post_content img.frame {
  border: 1px solid #d2d2d2;
  -webkit-box-shadow: 0 6px 6px -6px #cccccc;
  -moz-box-shadow: 0 6px 6px -6px #cccccc;
  box-shadow: 0 6px 6px -6px #cccccc; }

.post_content .s_table {
  overflow: auto;
  white-space: nowrap;
  margin-bottom: 2em; }

.post_content .s_table table {
  margin-bottom: 0; }

/* レスポンシブ説明文 */
.responsive_desc {
  margin-bottom: 2em; }

.responsive_desc .mobile {
  display: none; }

@media (max-width: 800px) {
  .responsive_desc .pc {
    display: none; }

  .responsive_desc .mobile {
    display: block; } }
/* バナー画像 */
.banner_hover_type1 {
  background: #000;
  display: block;
  width: fit-content; }

.banner_hover_type1 img {
  transition: opacity 0.5s ease; }

.banner_hover_type1:hover img {
  opacity: 0.8; }

/* ----------------------------------------------------------------------
 Contact form 7
---------------------------------------------------------------------- */
.wpcf7 .wpcf7-submit,
.wpcf7 .wpcf7-previous {
  -webkit-transition: all 0.3s;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  position: relative;
  width: 225px;
  height: 48px;
  margin: 30px auto 0;
  border: none !important;
  outline: none;
  background-color: #333333;
  color: #fff;
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s; }

.wpcf7 .wpcf7-previous + br {
  display: none; }

.wpcf7 .wpcf7-submit:hover,
.wpcf7 .wpcf7-previous:hover {
  background-color: #666666; }

.wpcf7 form .wpcf7-response-output {
  margin: 2em 0.5em 2em;
  padding: 0;
  border: none;
  text-align: center; }

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  color: #dc3232;
  font-size: 1em; }

/* ----------------------------------------------------------------------
 チャート
---------------------------------------------------------------------- */
#chart_check {
  padding: 100px 0 100px; }

.tcd_chart {
  margin: 55px 0; }

.tcd_chart .chart_area {
  margin: 0 auto;
  position: relative; }

.tcd_chart .chart.doughnut .chart_area {
  width: 290px !important;
  height: 290px !important;
  max-width: 100%; }

.tcd_chart .chart.pie .chart_area {
  width: 290px !important;
  height: 290px !important;
  max-width: 100%; }

.tcd_chart .chart.bar .chart_area {
  width: 100%;
  height: 300px !important;
  left: -4px;
  margin-bottom: -7px;
  max-width: 360px; }

.tcd_chart .chart.horizontalBar .chart_area {
  width: 100% !important;
  height: 255px !important;
  max-width: 500px; }

.tcd_chart .chart.line .chart_area {
  width: 100% !important;
  height: 330px !important;
  max-width: 480px; }

.tcd_chart .chart_headline {
  text-align: center;
  width: 100%;
  font-size: 16px;
  position: relative;
  margin: -2px 0 35px 0;
  line-height: 1.4; }

.tcd_chart .chart.doughnut .chart_area .chart_headline {
  margin: 0;
  font-size: 14px;
  position: absolute !important;
  top: 50% !important;
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%); }

.tcd_chart .chart.horizontalBar .chart_headline {
  margin-bottom: 17px; }

.tcd_chart .chart_labels {
  text-align: center;
  margin: 35px 0 0; }

.tcd_chart .chart_labels .item {
  display: inline-block;
  font-size: 14px;
  line-height: 14px;
  margin: 5px 6px; }

.tcd_chart .chart_labels .item .color {
  width: 14px;
  height: 14px;
  display: block;
  float: left;
  margin: 0 4px 0 0; }

.tcd_chart .data_table {
  max-width: 500px;
  width: 100%;
  margin: 35px auto 0;
  overflow: auto;
  padding: 0 0 10px 0; }

.tcd_chart .data_table table {
  font-size: 11px;
  min-width: 500px; }

.tcd_chart .data_table th {
  font-weight: 600;
  white-space: nowrap;
  padding: 10px;
  line-height: 1.6;
  text-align: center;
  vertical-align: middle;
  border: 1px solid #ddd;
  background: #f2f2f2; }

.tcd_chart .data_table td {
  padding: 10px;
  line-height: 1.6;
  text-align: center;
  vertical-align: middle;
  border: 1px solid #ddd;
  border-top: none; }

@media only screen and (max-width: 600px) {
  .tcd_chart {
    margin: 35px 0; }

  .tcd_chart .chart.doughnut .chart_area {
    width: 210px !important;
    height: 210px !important; }

  .tcd_chart .chart.pie .chart_area {
    width: 210px !important;
    height: 210px !important; }

  .tcd_chart .chart.bar .chart_area {
    width: 90% !important;
    height: 300px !important; }

  .tcd_chart .chart.horizontalBar .chart_area {
    width: 90% !important;
    height: 300px !important; }

  .tcd_chart .chart.line .chart_area {
    width: 90% !important;
    height: 300px !important; }

  .tcd_chart .chart_labels {
    margin: 25px 0 0; } }
/* ----------------------------------------------------------------------
 アカウントページ
---------------------------------------------------------------------- */
#account_content_wrap {
  background: #fff;
  margin: 100px 0 150px; }

#account_content_wrap .account_content {
  display: none;
  padding: 50px 30px; }

#account_content_wrap .account_content.active {
  display: block; }

#account_content_wrap .account_headline {
  font-size: 22px;
  text-align: center;
  line-height: 1;
  margin: 0 0 50px 0; }

#account_content_wrap .no_post {
  line-height: 2.4;
  font-size: 14px;
  margin: -10px 0;
  text-align: center; }

/* タブ */
#account_content_tab {
  display: flex;
  flex-wrap: wrap; }

#account_content_tab li {
  flex: 1 1 0%;
  margin: 0 -1px 0 0; }

#account_content_tab a {
  display: block;
  height: 70px;
  line-height: 1.4;
  padding: 2px 20px 0;
  text-align: center;
  background: #eee;
  position: relative;
  z-index: 1;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center; }

#account_content_tab li:first-of-type a {
  border-left: none; }

#account_content_tab li:last-of-type a {
  border-right: none; }

#account_content_tab li:last-of-type {
  margin-right: 0; }

#account_content_tab li.active a {
  background: #fff;
  z-index: 2;
  border-color: #fff;
  pointer-events: none; }

#account_content_tab a:hover {
  color: rgba(0, 0, 0, 0.5); }

#account_content_tab li.icon_type_icon {
  flex: 0 0 70px; }

#account_content_tab.all_icon li {
  flex: 1 1 0% !important; }

#account_content_tab li.icon_type_icon a {
  padding: 0 !important; }

#account_content_tab li.icon_type_icon span {
  display: none; }

#account_content_tab li.icon_type_icon a:before {
  content: "\e93f";
  font-family: "footer_bar";
  font-size: 16px;
  top: 2px;
  position: relative; }

#account_content_tab li.icon_type_text a:before {
  display: none; }

#account_content_tab li.icon_twitter a:before {
  font-family: "tiktok_x_icon";
  content: "\e901"; }

#account_content_tab li.icon_facebook a:before {
  content: "\e944";
  font-family: "design_plus";
  font-size: 18px; }

#account_content_tab li.icon_instagram a:before {
  content: "\ea92"; }

#account_content_tab li.icon_youtube a:before {
  content: "\ea9d"; }

#account_content_tab li.icon_line a:before {
  content: "\e90f";
  font-size: 20px; }

#account_content_tab li.icon_spotify a:before {
  content: "\ea94"; }

#account_content_tab li.icon_heart a:before {
  content: "\e9da"; }

#account_content_tab li.icon_star1 a:before {
  content: "\e9d9"; }

#account_content_tab li.icon_star2 a:before {
  content: "\e9d7"; }

#account_content_tab li.icon_list1 a:before {
  content: "\e9bb"; }

#account_content_tab li.icon_list2 a:before {
  content: "\e907";
  font-size: 14px; }

#account_content_tab li.icon_fire a:before {
  content: "\e9a9"; }

#account_content_tab li.icon_bubble a:before {
  content: "\e96c"; }

#account_content_tab li.icon_cart a:before {
  content: "\e93a"; }

#account_content_tab li.icon_bell a:before {
  content: "\e951"; }

#account_content_tab li.icon_profile a:before {
  content: "\e923"; }

#account_content_tab li.icon_user a:before {
  content: "\e90a"; }

#account_content_tab li.icon_map a:before {
  content: "\e909"; }

#account_content_tab li.icon_film a:before {
  content: "\e913"; }

#account_content_tab li.icon_camera a:before {
  content: "\e905";
  font-size: 14px; }

#account_content_tab li.icon_news a:before {
  content: "\e904"; }

#account_content_tab li.icon_office a:before {
  content: "\e903"; }

#account_content_tab li.icon_home a:before {
  content: "\e900"; }

#account_content_tab li.icon_help a:before {
  content: "\e901";
  font-size: 20px; }

#account_content_tab li.icon_light a:before {
  content: "\e902";
  font-size: 20px; }

#account_content_tab li.icon_menu a:before {
  content: "\e90e";
  font-size: 12px; }

#account_content_tab li.icon_grid a:before {
  content: "\e90d";
  font-size: 12px; }

#account_content_tab li.icon_search a:before {
  content: "\e90c"; }

#account_content_tab li.icon_tel a:before {
  content: "\e90b"; }

#account_content_tab li.icon_calendar a:before {
  content: "\e908"; }

#account_content_tab li.icon_mail a:before {
  content: "\e906";
  font-size: 12px;
  top: 1px; }

#account_content_tab li.icon_pdf a:before {
  content: "\e910"; }

#account_content_tab li.icon_pencil a:before {
  content: "\e911"; }

#account_content_tab li.icon_clock a:before {
  content: "\e912"; }

#account_content_tab li.icon_tiktok a:before {
  content: "\e94d";
  font-family: "design_plus"; }

#account_content_tab li.icon_crown a:before {
  content: "\e940";
  font-family: "design_plus"; }

#account_content_tab li.icon_share a:before {
  content: "\e917";
  font-family: "design_plus"; }

#account_content_tab li.icon_user2 a:before {
  content: "\e921";
  font-family: "design_plus";
  font-size: 17px; }

#account_content_tab li.icon_heart2 a:before {
  content: "\e93f";
  font-family: "design_plus";
  font-size: 20px; }

#account_content_tab li.icon_login a:before {
  content: "\e924";
  font-family: "design_plus";
  font-size: 17px; }

#account_content_tab li.icon_logout a:before {
  content: "\e922";
  font-family: "design_plus";
  font-size: 17px; }

/* お知らせ */
#account_news .item {
  background: #f8f8f8;
  padding: 30px 30px 20px;
  margin: 0 0 20px 0;
  border-radius: 10px; }

#account_news .item:last-of-type {
  margin: 0; }

#account_news .item > .date {
  display: block;
  font-size: 14px;
  position: relative;
  padding: 0 0 0 18px;
  margin: 0 0 20px 0;
  color: #999; }

#account_news .item > .date:before {
  font-family: "design_plus";
  content: "\e91d";
  font-size: 14px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

#account_news .post_content {
  font-size: 14px; }

/* 会員コンテンツ */
#account_content_wrap #account_member_only {
  padding: 50px 30px; }

#account_member_only .blog_list .content a {
  height: 170px;
  padding: 22px 30px; }

#account_member_only .blog_list .title {
  line-height: 1.7;
  height: 5.1em; }

#account_member_only .blog_list .title span {
  -webkit-line-clamp: 3; }

#account_member_only .blog_list .date {
  bottom: 30px;
  font-size: 14px; }

#account_member_only .blog_list .date:before {
  font-size: 15px; }

/* お気に入り */
#like_list .item {
  margin: 0 0 20px 0;
  position: relative; }

#like_list .item:last-of-type {
  margin: 0; }

#like_list .delete {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 100;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  background: #fff;
  display: block;
  cursor: pointer;
  transition: all 0.25s ease; }

#like_list .delete span {
  display: none; }

#like_list .delete:before {
  font-family: "design_plus";
  content: "\e91a";
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

#like_list .delete:hover {
  background: #000;
  color: #fff; }

#like_list .animate_background {
  display: flex;
  flex-wrap: wrap;
  position: relative; }

#like_list .image_wrap {
  width: 315px !important;
  height: 180px !important;
  position: relative;
  z-index: 1;
  overflow: hidden;
  aspect-ratio: 350/200; }

#like_list .image {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover; }

#like_list .content {
  width: calc(100% - 315px);
  border: 1px solid #ddd;
  border-left: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 0 30px; }

#like_list .title {
  font-size: 18px;
  line-height: 1.8;
  display: block;
  max-height: 5.4em;
  overflow: hidden;
  visibility: visible;
  font-weight: 600; }

#like_list .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; }

/* アカウント */
#account_edit dl {
  display: flex;
  flex-wrap: wrap;
  font-size: 14px; }

#account_edit dt {
  width: 160px;
  text-align: right;
  padding-right: 20px;
  margin-bottom: 40px;
  height: 50px;
  line-height: 1.4;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end; }

#account_edit dd {
  width: calc(100% - 160px);
  margin-bottom: 40px; }

#account_edit dd .input_field {
  border: 1px solid #ddd;
  background: #f4f4f4;
  height: 50px;
  width: 100%;
  padding: 0 20px; }

#account_edit dd .input_field:focus {
  border-color: #aaa; }

#account_edit .change_password input {
  margin: 0 0 20px 0; }

#account_edit .change_password input:last-of-type {
  margin-bottom: 0; }

#account_edit .receive_email {
  margin-top: 35px;
  margin-bottom: -5px;
  line-height: 2; }

#account_edit .submit {
  text-align: center; }

#account_edit .submit button {
  width: 250px;
  height: 60px;
  line-height: 60px;
  font-size: 16px;
  cursor: pointer; }

#delete_account_wrap {
  border-top: 1px solid #ddd;
  margin: 50px -30px 0;
  padding: 50px 30px 0; }

#account_edit .desc {
  font-size: 14px;
  line-height: 2.4;
  border-bottom: 1px solid #ddd;
  margin: -10px -30px 50px;
  padding: 0 30px 40px; }

#account_edit #delete_account_wrap .desc {
  border: none;
  margin: -10px 0 40px 0;
  padding: 0; }

#delete_account {
  background: #9e0000; }

#delete_account:hover {
  background: #bb0101; }

/* 会員登録 */
#main_col #registration-form {
  background: #fff;
  margin: 100px 0 150px;
  border: 1px solid #ddd; }

#main_col #registration-form .headline {
  background: none;
  color: #000;
  margin: 0;
  text-align: center;
  font-size: 24px;
  height: 70px;
  line-height: 70px; }

#main_col #registration-form .headline.no_header_image {
  color: #fff; }

#main_col #registration-form .register_form_header {
  height: 200px;
  margin: 0 -1px; }

#main_col #registration-form .desc {
  text-align: left;
  line-height: 2.4;
  margin: 0 0 40px 0; }

#main_col #registration-form .register_form_area {
  padding: 40px 50px 50px;
  text-align: center; }

#main_col #registration-form .input_field {
  margin: 0 0 40px 0;
  border: 1px solid #ddd;
  background: #f4f4f4;
  height: 50px;
  width: 400px;
  max-width: 100%;
  padding: 0 20px; }

#main_col #registration-form .input_field:focus {
  border-color: #aaa; }

#main_col #registration-form .receive_email {
  margin: 0 auto 30px;
  text-align: left;
  width: 400px;
  font-size: 14px;
  text-align: center; }

#main_col #registration-form .privacy_policy {
  margin: 0 auto 35px;
  text-align: left;
  width: 400px;
  line-height: 2;
  font-size: 14px;
  text-align: center; }

#main_col #registration-form .submit button {
  margin: 0px 0 0 0;
  width: 300px;
  height: 70px;
  line-height: 70px;
  font-size: 16px;
  cursor: pointer; }

body.membership-registration .open_register_modal {
  display: none !important; }

/* 会員登録（ショートコード用） */
#sc_register_form {
  margin: 90px 0; }

.post_content #sc_register_form:last-child {
  margin-bottom: 0 !important; }

#sc_register_form #registration-form {
  background: #fff;
  border: 1px solid #ddd;
  padding: 100px; }

#sc_register_form #registration-form .headline {
  margin: 0 0 40px 0;
  text-align: center;
  font-size: 26px; }

#sc_register_form #registration-form .register_form_header {
  display: none; }

#sc_register_form #registration-form .desc {
  display: none; }

#sc_register_form #registration-form .register_form_area {
  text-align: center; }

#sc_register_form #registration-form .input_field {
  margin: 0 0 40px 0;
  border: 1px solid #ddd;
  background: #f4f4f4;
  height: 50px;
  width: 450px;
  padding: 0 20px; }

#sc_register_form #registration-form .input_field:focus {
  border-color: #aaa; }

#sc_register_form #registration-form .receive_email {
  margin: 0 auto 30px;
  text-align: left;
  width: 450px;
  font-size: 14px;
  line-height: 2; }

#sc_register_form #registration-form .privacy_policy {
  margin: 0 auto 45px;
  text-align: left;
  width: 450px;
  line-height: 2;
  font-size: 14px;
  position: relative; }

#sc_register_form #registration-form .submit button {
  width: 300px;
  height: 70px;
  line-height: 70px;
  font-size: 16px;
  cursor: pointer;
  border-radius: 0;
  background: #000; }

body.page-template-page-tcd-lp #sc_register_form #registration-form {
  background: #f3f3f3;
  border: none; }

body.page-template-page-tcd-lp #sc_register_form #registration-form .input_field {
  background: #fff;
  border: 1px solid #fff; }

body.page-template-page-tcd-lp #sc_register_form #registration-form .input_field:focus {
  border-color: #aaa; }

/* デザインチェックボックス */
label.design_checkbox input {
  position: absolute;
  top: 7px;
  appearance: none; }

label.design_checkbox {
  cursor: pointer;
  display: flex;
  position: relative;
  line-height: 2;
  text-align: left; }

label.design_checkbox input:checked + .check::before {
  content: "";
  display: block;
  position: absolute;
  transform: rotateZ(-135deg);
  transform-origin: 2px 2px;
  background: #000;
  top: 11px;
  left: 7px;
  width: 6px;
  height: 2px; }

label.design_checkbox input:checked + .check::after {
  content: "";
  display: block;
  position: absolute;
  transform: rotateZ(-45deg);
  transform-origin: 2px 2px;
  background: #000;
  top: 12px;
  left: 9px;
  width: 10px;
  height: 2px; }

label.design_checkbox .check {
  position: relative;
  margin-right: 8px;
  top: 2px;
  left: 0px;
  transition: border-color 0.25s ease;
  display: block;
  width: 22px;
  height: 22px;
  border: 1px solid #ccc;
  background: #fff; }

label.design_checkbox input:hover + .check {
  border-color: #999; }

/* ----------------------------------------------------------------------
 ログイン・会員登録関連
---------------------------------------------------------------------- */
#modal_overlay {
  padding: 100px 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  opacity: 0;
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 9999999;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  transition: opacity 0.25s ease;
  pointer-events: none;
  overflow: auto; }

#modal_overlay.open {
  opacity: 1;
  pointer-events: auto; }

.modal_wrap {
  width: 500px;
  font-size: 14px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
  overflow: hidden; }

.modal_wrap .close_modal_button {
  position: absolute;
  top: 0px;
  right: 0px;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  overflow: hidden;
  display: none;
  text-indent: -200px; }

.modal_wrap .close_modal_button:before {
  font-family: "design_plus";
  content: "\e91a";
  color: #000;
  display: block;
  position: absolute;
  left: 10px;
  top: 13px;
  font-size: 20px;
  height: 16px;
  line-height: 16px;
  text-indent: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

#modal_overlay .form_wrap .headline {
  text-align: center;
  color: #fff;
  background: #000;
  font-size: 20px;
  height: 70px;
  line-height: 70px;
  margin: -50px -50px 50px; }

#modal_overlay .form_wrap .input_field {
  background: #f4f4f4;
  border: 1px solid #ddd;
  width: 100%;
  height: 50px;
  padding: 0 20px;
  margin: 0 0 40px 0; }

#modal_overlay .form_wrap .input_field:focus {
  border-color: #aaa; }

#modal_overlay .form_wrap .submit button {
  width: 300px;
  height: 70px;
  line-height: 70px;
  font-size: 16px;
  margin: 10px 0 30px 0;
  cursor: pointer; }

body.membership-login #back_top_login {
  display: none; }

body.membership-login #modal_overlay .form_wrap .submit button {
  margin-bottom: 0; }

body.membership-login .open_login_modal {
  display: none !important; }

/* ログインフォーム */
#login_modal_wrap {
  display: none; }

#login_modal_wrap.show {
  display: block; }

.login_form_wrap .login_form_area {
  padding: 50px;
  text-align: center;
  opacity: 1; }

.login_form_wrap .remember {
  margin: 0px 0 30px 0;
  text-align: center; }

.login_form_wrap .register_button_area {
  border-top: 1px solid #ddd;
  padding: 50px 70px;
  text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.login_form_wrap .register_button_area p {
  margin: 0 0 30px 0; }

.login_form_wrap #create_account {
  width: 260px;
  height: 60px;
  line-height: 60px;
  display: inline-block;
  background: #ff8000;
  color: #fff;
  font-size: 16px; }

/* ログインページ用　ログインフォーム */
body.membership-login #account_content_wrap .login_form_wrap .headline {
  margin: -50px -50px 50px;
  height: 70px;
  line-height: 70px;
  font-size: 22px;
  background: #000;
  color: #fff; }

body.membership-login #account_content_wrap .form_wrap .input_field {
  background: #f4f4f4;
  border: 1px solid #ddd;
  width: 100%;
  height: 50px;
  padding: 0 20px;
  margin: 0 0 40px 0; }

body.membership-login #account_content_wrap .form_wrap .input_field:focus {
  border-color: #aaa; }

body.membership-login #account_content_wrap .form_wrap .submit button {
  width: 300px;
  height: 70px;
  line-height: 70px;
  font-size: 16px;
  margin: 10px 0 30px 0;
  cursor: pointer; }

/* パスワードフォーム */
#password_modal_wrap {
  display: none; }

#password_modal_wrap.show {
  display: block; }

.password_form_wrap .password_form_area {
  padding: 50px 50px;
  text-align: center; }

.password_form_wrap p {
  line-height: 2.2;
  margin: 0 0 30px 0; }

/* ログインページ用　パスワードフォーム */
body.membership-reset_password #account_content_wrap .password_form_wrap .headline {
  margin: -50px -50px 50px;
  height: 70px;
  line-height: 70px;
  font-size: 22px;
  background: #000;
  color: #fff; }

body.membership-reset_password #account_content_wrap .form_wrap .input_field {
  background: #f4f4f4;
  border: 1px solid #ddd;
  width: 100%;
  height: 50px;
  padding: 0 20px;
  margin: 0 0 40px 0; }

body.membership-reset_password #account_content_wrap .form_wrap .input_field:focus {
  border-color: #aaa; }

body.membership-reset_password #account_content_wrap .form_wrap .submit button {
  width: 300px;
  height: 70px;
  line-height: 70px;
  font-size: 16px;
  margin: 10px 0 30px 0;
  cursor: pointer; }

body.logged-in.membership-reset_password #account_content_wrap .form_wrap .submit button {
  margin-bottom: 0; }

body.logged-in #back_top_login {
  display: none; }

/* 会員登録 */
#register_modal_wrap {
  display: none;
  width: 700px; }

#register_modal_wrap.show {
  display: block; }

#register_modal_wrap .close_modal_button:before {
  color: #fff; }

#modal_overlay #register_modal_wrap .headline {
  background: none;
  color: #000;
  margin: 0; }

#modal_overlay #register_modal_wrap .headline.no_header_image {
  color: #fff; }

#modal_overlay #register_modal_wrap .register_form_header {
  height: 250px; }

#modal_overlay #register_modal_wrap .desc {
  text-align: left;
  line-height: 2.4;
  margin: -5px 0 30px 0;
  font-size: 16px; }

#modal_overlay #register_modal_wrap .desc a {
  text-decoration: underline; }

#modal_overlay #register_modal_wrap .register_form_area {
  padding: 40px 50px 50px;
  text-align: center; }

#modal_overlay #register_modal_wrap .input_field {
  margin: 0 0 20px 0;
  width: 400px; }

#modal_overlay #register_modal_wrap .receive_email {
  margin: -2px auto 15px;
  line-height: 2;
  width: 400px;
  text-align: left; }

#modal_overlay #register_modal_wrap .privacy_policy {
  line-height: 2;
  width: 400px;
  margin: 0 auto;
  text-align: left; }

#modal_overlay #register_modal_wrap .privacy_policy a {
  text-decoration: underline; }

#modal_overlay #register_modal_wrap .submit button {
  margin: 35px 0 0 0;
  cursor: pointer; }

/* モーダルアラート */
#message_modal_wrap {
  display: none;
  opacity: 0; }

#message_modal_wrap.show {
  display: block;
  animation: opacityAnimation 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards; }

.modal_wrap .modal_contents {
  line-height: 2.2;
  padding: 40px; }

#message_modal_wrap .modal_contents {
  text-align: center; }

#message_modal_wrap .close_modal_button {
  display: block; }

/* フォームエラー */
.form-message {
  background-color: #d9edf7;
  border: 1px solid #bce8f1;
  color: #31708f;
  padding: 9px 15px;
  text-align: left; }

.form-error {
  background-color: #f2dede;
  border: 1px solid #eed3d7;
  border-radius: 5px;
  color: #b94a48;
  padding: 9px 15px;
  text-align: left; }

div.form-message,
div.form-error {
  line-height: 2;
  margin-bottom: 50px; }

.form-message p,
.form-error p {
  margin-bottom: 1em !important; }

div.form-message > :last-child,
div.form-error > :last-child {
  margin-bottom: 0 !important; }

.modal_wrap div.form-message,
.modal_wrap div.form-error {
  margin-bottom: 30px; }

/** ブロックエディターのテーブルブロックの調整 **/
.wp-block-table.is-style-stripes td,
.wp-block-table .has-background td {
  background-color: transparent; }

.page {
  max-width: 750px;
  margin: 0 auto;
  font-family: "Noto Sans JP", serif;
  overflow-x: hidden; }
  .page .section {
    position: relative; }
  .page .page-title h1 {
    font-size: 3rem;
    text-align: center; }

.c-container {
  max-width: 650px;
  margin: 0 auto; }
  @media (max-width: 576px) {
    .c-container {
      padding: 0 2rem; } }

.s-title {
  font-weight: 700;
  font-size: 4rem;
  line-height: 1.4;
  text-align: center; }
  .s-title .pink {
    font-size: 5.2rem; }
  .s-title .large {
    font-size: 5.2rem; }
  @media (max-width: 576px) {
    .s-title .pink {
      font-size: 4.8rem; } }

.c-margin {
  margin-top: 4rem; }

.wraps {
  padding: 6rem 0; }

.hidden {
  display: none; }

.w-full {
  width: 100%; }

.flex {
  display: flex;
  align-items: center;
  justify-content: center; }

.flex-col {
  flex-direction: column; }

.checkbox-text {
  position: relative;
  padding-left: 6.5rem; }
  .checkbox-text::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 4.5rem;
    height: 4.5rem; }
  .checkbox-text.blue-icon::before {
    background-image: url(../image/icon/blue-checkbox.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center; }
  .checkbox-text.pink-icon::before {
    background-image: url(../image/icon/pink-checkbox.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center; }

.c-btn {
  position: relative;
  width: fit-content;
  height: 14rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 2rem 3rem;
  font-size: 5.6rem;
  font-weight: 700;
  color: #fff;
  box-shadow: 0 6px 4px #0000001a;
  margin: auto;
  line-height: 1;
  cursor: pointer;
  border: unset;
  outline: unset;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease; }
  .c-btn .small {
    font-size: 2.4rem; }
  .c-btn.pink {
    background-color: #EB878B; }
  .c-btn.w-full {
    width: 100%; }
  .c-btn.rounded {
    border-radius: 2rem;
    -webkit-border-radius: 2rem;
    -moz-border-radius: 2rem;
    -ms-border-radius: 2rem;
    -o-border-radius: 2rem; }
  .c-btn.arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 4rem;
    transform: translateY(-50%);
    display: block;
    width: 5rem;
    height: 5rem;
    background-image: url(../image/icon/arrow-right.png);
    background-size: contain;
    background-repeat: no-repeat; }
  .c-btn:not(:disabled):active {
    box-shadow: unset;
    transform: translateY(6px);
    -webkit-transform: translateY(6px);
    -moz-transform: translateY(6px);
    -ms-transform: translateY(6px);
    -o-transform: translateY(6px); }
  .c-btn:disabled {
    opacity: 0.5; }

.purple-btn {
  position: relative;
  min-width: 21rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #B89BD1;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 500;
  text-align: center;
  padding: 1.8rem 1.2rem;
  border-radius: 1rem;
  z-index: 1;
  -webkit-border-radius: 1rem;
  -moz-border-radius: 1rem;
  -ms-border-radius: 1rem;
  -o-border-radius: 1rem; }
  .purple-btn.large {
    font-size: 3rem; }
  .purple-btn.triangle::before {
    content: "";
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    width: 34px;
    height: 25px;
    background-color: #B89BD1;
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%); }

.stepbar {
  width: 100%;
  background-image: url(../image/background/back4.png);
  background-size: contain;
  background-position: center;
  background-repeat: repeat; }
  .stepbar .text-dec img {
    display: block;
    width: 41rem;
    margin: auto; }
  .stepbar .title h2 {
    display: block;
    font-size: 3.7rem;
    color: #676767;
    font-weight: 700;
    text-align: center;
    margin-top: -2rem; }
    .stepbar .title h2 span.large {
      font-size: 6.5rem; }
    .stepbar .title h2 span.small {
      font-size: 5.5rem; }
    .stepbar .title h2 span.pink {
      color: #EB878B; }
  .stepbar .stepper {
    margin-top: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.1rem; }
    .stepbar .stepper .step-item {
      text-align: center; }
      .stepbar .stepper .step-item .step-icon {
        width: 6rem;
        height: 5.1rem;
        background-image: url(../image/decoration/step2.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center; }
        .stepbar .stepper .step-item .step-icon.fill {
          background-image: url(../image/decoration/step1.png); }
      .stepbar .stepper .step-item .txt {
        margin-top: 1.4rem;
        text-align: center;
        font-family: "Montserrat";
        font-weight: 600;
        letter-spacing: 1px;
        color: #444444; }
    .stepbar .stepper .wave img {
      margin-bottom: 1.5rem; }

.catch-title {
  display: block;
  width: fit-content;
  margin: auto;
  padding: 1.2rem 4.4rem;
  font-size: 3rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  border-radius: 1rem;
  -webkit-border-radius: 1rem;
  -moz-border-radius: 1rem;
  -ms-border-radius: 1rem;
  -o-border-radius: 1rem; }

.triangle {
  position: relative;
  z-index: 0; }
  .triangle::before {
    content: "";
    position: absolute;
    bottom: -14px;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    width: 33px;
    height: 25px;
    z-index: -1;
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%); }
  .triangle.purple-back {
    background-color: #B89BD1; }
    .triangle.purple-back::before {
      background-color: #B89BD1; }
  .triangle.pink-back {
    background-color: #EB878B; }
    .triangle.pink-back::before {
      background-color: #EB878B; }
  .triangle.blue-back {
    background-color: #2E91DB; }
    .triangle.blue-back::before {
      background-color: #2E91DB; }

.circle-pattern-back {
  position: relative;
  z-index: 0; }
  .circle-pattern-back::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(circle, rgba(235, 135, 139, 0.5) 0, transparent 15%), radial-gradient(circle, rgba(235, 135, 139, 0.5) 0, transparent 15%);
    background-size: 6rem 6rem;
    background-position: 0 0, 3rem 3rem;
    background-repeat: repeat;
    z-index: -1; }

.paint-pattern-back {
  position: relative;
  z-index: 0; }
  .paint-pattern-back::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../image/background/back1.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.8;
    z-index: -1; }

.contact-link-wrap {
  position: relative;
  z-index: 0; }
  .contact-link-wrap.link2 .wraps .catch-txt {
    margin-top: 0; }
  .contact-link-wrap .wraps .catch-title {
    font-size: 4rem;
    padding: 1.5rem 2.5rem; }
  .contact-link-wrap .wraps .catch-txt {
    font-size: 4rem;
    margin-top: 3.2rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.4; }
  .contact-link-wrap .wraps .text-group {
    font-size: 4rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.6;
    margin-top: 2.4rem; }
    .contact-link-wrap .wraps .text-group span.montserrat {
      font-size: 6.4rem;
      font-family: "Montserrat"; }
    .contact-link-wrap .wraps .text-group span.large {
      font-size: 5.6rem; }
    .contact-link-wrap .wraps .text-group span.white-back {
      background-color: #fff;
      padding-right: 2rem; }
  .contact-link-wrap .wraps .fav-book {
    margin-top: 3.2rem; }
    .contact-link-wrap .wraps .fav-book .img-field {
      position: relative;
      max-width: 42rem;
      margin: auto; }
      .contact-link-wrap .wraps .fav-book .img-field img {
        width: 100%;
        display: block;
        margin: auto; }
      .contact-link-wrap .wraps .fav-book .img-field::before {
        content: "";
        position: absolute;
        top: 8.8rem;
        right: -3rem;
        width: 9.5rem;
        height: 9.4rem;
        background-image: url(../image/decoration/skew-heart.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        z-index: 1; }
  .contact-link-wrap .wraps .book {
    position: relative;
    background-color: #fff;
    padding: 2.8rem 1.8rem;
    margin-top: -13.9rem;
    border: 3px solid #EB878B;
    border-radius: 1.5rem;
    -webkit-border-radius: 1.5rem;
    -moz-border-radius: 1.5rem;
    -ms-border-radius: 1.5rem;
    -o-border-radius: 1.5rem; }
    .contact-link-wrap .wraps .book .title-field {
      font-weight: bold; }
      .contact-link-wrap .wraps .book .title-field .title {
        font-size: 3.2rem;
        font-weight: 500;
        display: flex; }
        .contact-link-wrap .wraps .book .title-field .title .circle-mark {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 4.7rem;
          height: 4.7rem;
          margin-right: 2px;
          background-color: #EB878B;
          font-weight: 700;
          font-size: 3rem;
          color: #fff;
          border-radius: 50%;
          -webkit-border-radius: 50%;
          -moz-border-radius: 50%;
          -ms-border-radius: 50%;
          -o-border-radius: 50%; }
        .contact-link-wrap .wraps .book .title-field .title .text {
          margin-left: 0.8rem; }
      .contact-link-wrap .wraps .book .title-field .subtitle {
        margin-top: 0.8rem;
        font-size: 3rem;
        text-indent: -1.5rem; }
    .contact-link-wrap .wraps .book .book-cover {
      position: absolute;
      top: 1.7rem;
      right: -2rem; }
      .contact-link-wrap .wraps .book .book-cover img {
        width: 19.4rem;
        height: auto;
        display: block;
        margin: auto; }
  .contact-link-wrap .wraps .contact-link {
    margin-top: 5.1rem; }
    .contact-link-wrap .wraps .contact-link a {
      display: block;
      width: 100%;
      background-color: #00D05C;
      padding: 2rem 0;
      box-shadow: 0 6px 4px #0000001a;
      text-align: center;
      border-radius: 1.5rem;
      -webkit-border-radius: 1.5rem;
      -moz-border-radius: 1.5rem;
      -ms-border-radius: 1.5rem;
      -o-border-radius: 1.5rem; }
      .contact-link-wrap .wraps .contact-link a .small {
        font-size: 2.4rem;
        line-height-step: 1.2;
        color: #fff;
        font-weight: 500; }
      .contact-link-wrap .wraps .contact-link a .large {
        font-size: 4rem;
        line-height: 1.2;
        color: #feffc2;
        font-weight: 700; }
    .contact-link-wrap .wraps .contact-link small {
      display: block;
      text-align: center;
      margin: 10px auto; }

footer .ext-link {
  width: 100%;
  height: 9.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.4rem;
  background-color: #EB878B;
  color: #fff; }
  footer .ext-link a, footer .ext-link span {
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
    color: #fff; }

.front-page .top-fv img {
  width: 100%; }
.front-page .shindan-start {
  background-color: #FFF2F3; }
  @media (max-width: 576px) {
    .front-page .shindan-start .wraps {
      padding-top: 4rem; }
      .front-page .shindan-start .wraps .start-btn {
        margin-top: 3rem; }
      .front-page .shindan-start .wraps .content .checkbox-text {
        font-size: 2.8rem; }
        .front-page .shindan-start .wraps .content .checkbox-text:before {
          width: 4rem; } }
  .front-page .shindan-start .purple-btn {
    margin-bottom: 4rem; }
  .front-page .shindan-start .content .checkbox-text {
    font-size: 3.2rem;
    font-weight: 500;
    margin-top: 1.5rem; }
  .front-page .shindan-start .start-btn {
    margin-top: 4rem; }
.front-page .refer {
  display: block;
  width: fit-content;
  margin-right: 0;
  margin-left: auto;
  font-size: 1.6rem; }

.page-start {
  display: none; }
  .page-start .question-content {
    background-color: #FFF2F3; }
    .page-start .question-content .swiper-wrapper {
      padding-bottom: 4rem; }
    .page-start .question-content .group-page .question-item {
      margin-bottom: 4.8rem; }
      .page-start .question-content .group-page .question-item .question-title {
        position: relative;
        display: flex;
        gap: 2rem;
        font-size: 3.2rem;
        line-height: 1.2;
        font-weight: 500; }
        .page-start .question-content .group-page .question-item .question-title::before {
          content: "Q";
          top: 0;
          left: 0;
          font-family: "Montserrat";
          font-size: 4rem;
          font-weight: 700;
          color: #EB878B; }
      .page-start .question-content .group-page .question-item .options {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
        margin-top: 2.4rem; }
        .page-start .question-content .group-page .question-item .options .option {
          width: 100%;
          display: flex;
          justify-content: center; }
          .page-start .question-content .group-page .question-item .options .option .option-label {
            display: block;
            width: 100%;
            background-color: #B89BD1;
            font-size: 2.4rem;
            font-weight: 500;
            padding: 1.8rem 1.2rem;
            border-radius: 1rem;
            padding: 1.8rem 0;
            text-align: center;
            color: #fff;
            z-index: 1;
            -webkit-border-radius: 1rem;
            -moz-border-radius: 1rem;
            -ms-border-radius: 1rem;
            -o-border-radius: 1rem; }
            .page-start .question-content .group-page .question-item .options .option .option-label input {
              display: none; }
            .page-start .question-content .group-page .question-item .options .option .option-label span {
              position: relative;
              display: block;
              width: 100%; }
            .page-start .question-content .group-page .question-item .options .option .option-label.active {
              background-color: #EB878B;
              transition: background-color 0.3s ease; }
  .page-start .inprogress-section {
    display: none;
    background-color: #FFF9FA;
    min-height: 100vh; }
    .page-start .inprogress-section .wraps {
      height: 100vh; }
      .page-start .inprogress-section .wraps .loader {
        position: relative;
        display: block;
        top: 50%;
        margin: auto;
        transform: translateY(-70%);
        -webkit-transform: translateY(-70%);
        -moz-transform: translateY(-70%);
        -ms-transform: translateY(-70%);
        -o-transform: translateY(-70%); }
        .page-start .inprogress-section .wraps .loader .title {
          font-size: 5.6rem;
          font-weight: 700;
          text-align: center; }
        .page-start .inprogress-section .wraps .loader .loading-img {
          margin: 4rem auto 0;
          position: relative;
          display: block; }
          .page-start .inprogress-section .wraps .loader .loading-img svg {
            margin: auto; }

.result-page {
  display: none; }
  .result-page .result-content img {
    width: 100%;
    display: none; }
    .result-page .result-content img.active {
      display: block; }
  .result-page .section1 {
    background-color: #fdfff6;
    z-index: 1; }
    .result-page .section1 .wraps {
      padding: 4rem 0 0;
      text-align: center;
      font-weight: 700; }
      .result-page .section1 .wraps .catch-title {
        padding: 1.2rem 4.4rem; }
      .result-page .section1 .wraps .catch-txt {
        font-size: 3.2rem;
        margin-top: 3.2rem; }
      .result-page .section1 .wraps .title {
        font-size: 3.2rem;
        line-height: 4.4rem; }
        .result-page .section1 .wraps .title h2 {
          font-size: 8.9rem;
          line-height: 1;
          margin-top: 1.9rem;
          margin-bottom: 1.9rem; }
      .result-page .section1 .wraps .desc {
        margin-top: 2.4rem;
        font-size: 3.2rem;
        line-height: 4.4rem; }
      .result-page .section1 .wraps .img-field img {
        max-width: 44rem;
        width: 100%;
        display: block;
        margin: auto; }
    .result-page .section1 .bottom-tail {
      position: absolute;
      bottom: -11.9rem;
      width: 100%;
      height: 12rem;
      display: flex;
      align-items: center;
      justify-content: center;
      background-color: #fdfff6;
      clip-path: polygon(0 0, 100% 0, 50% 100%); }
      .result-page .section1 .bottom-tail .txt {
        text-align: center;
        font-weight: bold;
        font-size: 4rem;
        line-height: 1.4; }
    .result-page .section1 .circle-blur-dec {
      position: absolute;
      aspect-ratio: 1/1;
      background-color: #fff4c280;
      border-radius: 50%;
      filter: blur(50px);
      -webkit-filter: blur(50px);
      z-index: -1; }
      .result-page .section1 .circle-blur-dec.dec1 {
        width: 20rem;
        top: 11rem;
        left: 4.8rem; }
      .result-page .section1 .circle-blur-dec.dec2 {
        width: 26.5rem;
        top: -2.7rem;
        right: -8.3rem; }
      .result-page .section1 .circle-blur-dec.dec3 {
        width: 26.5rem;
        top: 56rem;
        left: -6.5rem; }
      .result-page .section1 .circle-blur-dec.dec4 {
        width: 20rem;
        top: 46.5rem;
        right: 3.1rem; }
  .result-page .section2 {
    background-color: #e6e6e6;
    padding: 14rem 0 7rem;
    z-index: 0; }
    .result-page .section2::before {
      content: "";
      position: absolute;
      bottom: 0;
      right: 0;
      width: 18.2rem;
      aspect-ratio: 1/1;
      background-image: url(../image/photo/girl-alone.png);
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center; }
    .result-page .section2 .catch-title {
      padding: 1.8rem 7rem; }
    .result-page .section2 .content .checkbox-text {
      font-size: 3.2rem;
      font-weight: 500;
      margin-top: 1.5rem; }
  .result-page .section4 {
    background-color: #E5F4FF; }
    .result-page .section4 .wraps {
      padding: 6rem 0 0; }
    .result-page .section4 .title {
      font-size: 4rem;
      line-height: 1.4;
      font-weight: 700;
      text-align: center; }
      .result-page .section4 .title span {
        font-size: 6.4rem;
        color: #2E91DB; }
    .result-page .section4 .content {
      position: relative;
      margin-top: 3.8rem;
      z-index: 0; }
      .result-page .section4 .content::before, .result-page .section4 .content::after {
        content: "";
        position: absolute;
        bottom: 18rem;
        width: 16rem;
        height: 22rem;
        background-image: url(../image/decoration/tear3.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        z-index: -1; }
      .result-page .section4 .content::before {
        left: 0; }
      .result-page .section4 .content::after {
        right: 0; }
      .result-page .section4 .content .cloud-group .group-inner {
        position: relative;
        width: 100%;
        height: 46rem;
        margin: auto; }
        .result-page .section4 .content .cloud-group .group-inner .cloud-item {
          position: absolute;
          width: 33.3rem;
          height: 24.5rem;
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center; }
          .result-page .section4 .content .cloud-group .group-inner .cloud-item .inner {
            position: relative;
            top: 50%;
            text-align: center;
            font-size: 3rem;
            font-weight: 500;
            line-height: 1.4;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%);
            -moz-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
            -o-transform: translateY(-50%); }
            .result-page .section4 .content .cloud-group .group-inner .cloud-item .inner span {
              font-weight: 700; }
              .result-page .section4 .content .cloud-group .group-inner .cloud-item .inner span.blue {
                color: #2E91DB; }
          .result-page .section4 .content .cloud-group .group-inner .cloud-item.top {
            top: 0;
            left: 50%;
            background-image: url(../image/decoration/cloud1.png);
            transform: translateX(-54%);
            -webkit-transform: translateX(-54%);
            -moz-transform: translateX(-54%);
            -ms-transform: translateX(-54%);
            -o-transform: translateX(-54%); }
          .result-page .section4 .content .cloud-group .group-inner .cloud-item.left {
            bottom: 0;
            left: 50%;
            background-image: url(../image/decoration/cloud2.png);
            transform: translateX(-101%);
            -webkit-transform: translateX(-101%);
            -moz-transform: translateX(-101%);
            -ms-transform: translateX(-101%);
            -o-transform: translateX(-101%); }
            .result-page .section4 .content .cloud-group .group-inner .cloud-item.left .inner {
              transform: translateY(-75%);
              -webkit-transform: translateY(-75%);
              -moz-transform: translateY(-75%);
              -ms-transform: translateY(-75%);
              -o-transform: translateY(-75%); }
          .result-page .section4 .content .cloud-group .group-inner .cloud-item.right {
            left: 50%;
            bottom: 3rem;
            background-image: url(../image/decoration/cloud3.png); }
            .result-page .section4 .content .cloud-group .group-inner .cloud-item.right .inner {
              transform: translateY(-70%);
              -webkit-transform: translateY(-70%);
              -moz-transform: translateY(-70%);
              -ms-transform: translateY(-70%);
              -o-transform: translateY(-70%); }
      .result-page .section4 .content .img-field {
        display: block;
        width: 100%;
        height: 45rem;
        max-width: 39rem;
        margin: -7rem auto 0;
        overflow: hidden; }
        .result-page .section4 .content .img-field img {
          width: 100%; }
  .result-page .section5::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../image/background/back2.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    z-index: -1;
    opacity: 0.5; }
  .result-page .section5 .wraps {
    padding: 6rem 0 0; }
    .result-page .section5 .wraps .title {
      display: block;
      margin: 0 auto;
      font-size: 4rem;
      line-height: 1.4;
      font-weight: 700;
      text-align: center; }
      .result-page .section5 .wraps .title span.large {
        font-size: 5.6rem; }
      .result-page .section5 .wraps .title span.blue {
        color: #2E91DB; }
    .result-page .section5 .wraps .img-field {
      position: relative;
      width: 41.6rem;
      height: 42.6rem;
      margin: 3.7rem auto 0; }
      .result-page .section5 .wraps .img-field .img-inner {
        position: relative;
        width: 100%;
        height: 100%;
        overflow: hidden; }
        .result-page .section5 .wraps .img-field .img-inner img {
          width: 100%;
          display: block;
          margin: 0 auto; }
      .result-page .section5 .wraps .img-field::before {
        content: "";
        position: absolute;
        top: 3.7rem;
        left: -1.3rem;
        width: 7rem;
        height: 8rem;
        background-image: url(../image/decoration/spline.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center; }
      .result-page .section5 .wraps .img-field::after {
        content: "";
        position: absolute;
        top: 47%;
        right: 0;
        width: 7rem;
        height: 8rem;
        transform: scaleX(-1);
        background-image: url(../image/decoration/spline.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        -webkit-transform: scaleX(-1);
        -moz-transform: scaleX(-1);
        -ms-transform: scaleX(-1);
        -o-transform: scaleX(-1); }
  .result-page .section6 {
    padding-bottom: 12rem;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12rem), 50% 100%, 0 calc(100% - 12rem));
    z-index: 1; }
    .result-page .section6 .wraps {
      padding: 6rem 0 0; }
      .result-page .section6 .wraps .catch-title {
        padding: 1.8rem 7rem; }
      .result-page .section6 .wraps .desc {
        margin-top: 2.4rem;
        text-align: center;
        font-size: 4rem;
        font-weight: 700;
        line-height: 1.4; }
        .result-page .section6 .wraps .desc span.large {
          font-size: 6.4rem; }
        .result-page .section6 .wraps .desc small {
          font-size: 4.8rem; }
        .result-page .section6 .wraps .desc span.blue {
          color: #2E91DB; }
      .result-page .section6 .wraps .img-field {
        position: relative;
        margin: 20px auto 0;
        width: 38rem;
        height: 43rem; }
        .result-page .section6 .wraps .img-field .img-inner {
          width: 100%;
          height: 100%; }
          .result-page .section6 .wraps .img-field .img-inner img {
            width: 100%; }
          .result-page .section6 .wraps .img-field .img-inner::before {
            content: "";
            position: absolute;
            top: -1rem;
            right: -4rem;
            background-image: url(../image/decoration/break-heart.png);
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center;
            width: 13rem;
            height: 12.5rem; }
    .result-page .section6 .bottom-tail {
      position: absolute;
      bottom: -11.9rem;
      width: 100%;
      height: 12rem;
      display: flex;
      align-items: center;
      justify-content: center;
      background-color: #fdfff6;
      clip-path: polygon(0 0, 100% 0, 50% 100%);
      z-index: 0; }
      .result-page .section6 .bottom-tail::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url(../image/background/back1.png);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        opacity: 0.8;
        z-index: -1; }
  .result-page .section7 {
    background: linear-gradient(180deg, #e5f4ff 0%, #a5cfef 100%);
    clip-path: polygon(0 0, 50% 12rem, 100% 0, 100% 100%, 0 100%); }
    .result-page .section7 .wraps {
      margin-top: -12rem;
      padding: 18rem 0 0; }
      .result-page .section7 .wraps .title {
        font-weight: 700;
        font-size: 5.6rem;
        line-height: 1.4;
        text-align: center; }
      .result-page .section7 .wraps .content {
        background-color: #fff;
        padding: 4rem 4.6rem;
        border: 3px solid #2E91DB;
        border-radius: 1.5rem;
        -webkit-border-radius: 1.5rem;
        -moz-border-radius: 1.5rem;
        -ms-border-radius: 1.5rem;
        -o-border-radius: 1.5rem; }
        .result-page .section7 .wraps .content .checkbox-text {
          font-size: 4rem;
          font-weight: 500; }
          .result-page .section7 .wraps .content .checkbox-text:not(:last-child) {
            margin-bottom: 2.8rem; }
          .result-page .section7 .wraps .content .checkbox-text.blue {
            font-weight: 700; }
          .result-page .section7 .wraps .content .checkbox-text::before {
            margin-top: 1rem; }
      .result-page .section7 .wraps .subtitle {
        margin-top: 3.2rem;
        text-align: center;
        font-family: Noto Sans JP;
        font-weight: 700;
        font-size: 4rem;
        line-height: 1.6; }
        .result-page .section7 .wraps .subtitle span.large {
          font-size: 6.4rem;
          line-height: 1.4; }
        .result-page .section7 .wraps .subtitle span.mid {
          font-size: 4.8rem; }
      .result-page .section7 .wraps .cloud-field {
        position: relative;
        margin-top: 3.4rem; }
        .result-page .section7 .wraps .cloud-field .cloud-group {
          display: flex;
          justify-content: center;
          gap: 6.5rem;
          display: flex; }
          .result-page .section7 .wraps .cloud-field .cloud-group .cloud-item {
            text-align: center; }
            .result-page .section7 .wraps .cloud-field .cloud-group .cloud-item span {
              display: block;
              position: relative;
              text-align: center;
              font-size: 3.2rem;
              font-weight: 700;
              line-height: 1.4;
              top: 50%;
              transform: translateY(-70%);
              -webkit-transform: translateY(-70%);
              -moz-transform: translateY(-70%);
              -ms-transform: translateY(-70%);
              -o-transform: translateY(-70%); }
            .result-page .section7 .wraps .cloud-field .cloud-group .cloud-item.left {
              margin-top: 3.2rem;
              background-image: url("../image/decoration/cloud2.png");
              background-size: contain;
              background-repeat: no-repeat;
              background-position: center;
              width: 25rem;
              height: 20rem; }
            .result-page .section7 .wraps .cloud-field .cloud-group .cloud-item.right {
              background-image: url("../image/decoration/cloud3.png");
              background-size: contain;
              background-repeat: no-repeat;
              background-position: center;
              width: 29rem;
              height: 23rem; }
      .result-page .section7 .wraps .img-field {
        margin-top: -2.4rem;
        width: 100%; }
        .result-page .section7 .wraps .img-field .img-inner {
          max-width: 39.5rem;
          width: 100%;
          height: 40rem;
          margin: 0 auto;
          overflow: hidden; }
          .result-page .section7 .wraps .img-field .img-inner img {
            width: 100%;
            height: auto;
            display: block;
            margin: 0 auto; }
  .result-page .section8 .wraps .catch {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    font-size: 4rem;
    white-space: nowrap; }
    .result-page .section8 .wraps .catch span {
      font-weight: 700; }
    .result-page .section8 .wraps .catch::before {
      content: "";
      width: 26rem;
      height: 12rem;
      background-image: url(../image/decoration/speaker.png);
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center;
      z-index: -1;
      margin-left: -6rem;
      transform: translateX(7rem);
      -webkit-transform: translateX(7rem);
      -moz-transform: translateX(7rem);
      -ms-transform: translateX(7rem);
      -o-transform: translateX(7rem); }
  .result-page .section8 .wraps .title {
    font-size: 4rem;
    line-height: 1.4;
    font-weight: 700;
    text-align: center; }
  .result-page .section8 .wraps .desc {
    text-align: center;
    font-size: 3.2rem;
    line-height: 1.4;
    font-weight: 500;
    padding: 2rem 0;
    width: 100%;
    background-color: #FFF2F3;
    border-radius: 1.5rem;
    -webkit-border-radius: 1.5rem;
    -moz-border-radius: 1.5rem;
    -ms-border-radius: 1.5rem;
    -o-border-radius: 1.5rem; }
  .result-page .section8 .wraps .img-field {
    position: relative;
    width: 30rem;
    height: 30rem;
    margin: 4rem auto 0; }
    .result-page .section8 .wraps .img-field .img-inner {
      width: 100%;
      height: 100%;
      border-radius: 50%;
      display: block;
      overflow: hidden; }
      .result-page .section8 .wraps .img-field .img-inner img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
    .result-page .section8 .wraps .img-field .star-dec {
      position: absolute;
      width: 2.9rem;
      height: 4rem;
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center; }
      .result-page .section8 .wraps .img-field .star-dec.dec1 {
        background-image: url(../image/decoration/star-outline.png);
        top: 4.7rem;
        right: -2.8rem;
        z-index: 1; }
      .result-page .section8 .wraps .img-field .star-dec.dec2 {
        background-image: url(../image/decoration/star-fill.png);
        top: calc(50% + 2.3rem);
        right: -6rem; }
      .result-page .section8 .wraps .img-field .star-dec.dec3 {
        background-image: url(../image/decoration/star-fill.png);
        bottom: -4rem;
        left: -2rem; }
  .result-page .section9 {
    background-color: #FFF9FA;
    overflow: hidden; }
    .result-page .section9 .wraps {
      text-align: center; }
      .result-page .section9 .wraps .catch-title {
        padding: 1.5rem 2.7rem;
        line-height: 1; }
      .result-page .section9 .wraps .catch-txt {
        font-size: 4rem;
        font-weight: 700;
        line-height: 1.4; }
        .result-page .section9 .wraps .catch-txt .mid {
          font-size: 4.6rem; }
        .result-page .section9 .wraps .catch-txt .large {
          font-size: 6.4rem;
          font-weight: 600;
          font-family: "Montserrat"; }
        .result-page .section9 .wraps .catch-txt .mmid {
          font-size: 5.6rem; }
        .result-page .section9 .wraps .catch-txt .pink-back {
          position: relative;
          display: inline-block;
          color: #fff;
          padding: 1.5rem 2rem;
          margin: 0 0.5rem; }
          .result-page .section9 .wraps .catch-txt .pink-back::before {
            content: "";
            position: absolute;
            background-color: #EB878B;
            top: 10%;
            left: 0;
            width: 100%;
            height: 80%;
            z-index: -1; }
        .result-page .section9 .wraps .catch-txt .purple-back {
          position: relative;
          display: inline-block;
          color: #fff;
          padding: 1.5rem 2rem;
          margin: 0 0.5rem; }
          .result-page .section9 .wraps .catch-txt .purple-back::before {
            content: "";
            position: absolute;
            background-color: #B89BD1;
            top: 10%;
            left: 0;
            width: 100%;
            height: 80%;
            z-index: -1; }
    .result-page .section9 .content {
      position: relative;
      width: 100%;
      padding-bottom: 6rem;
      z-index: 0; }
      @media (max-width: 576px) {
        .result-page .section9 .content {
          padding-bottom: 10rem; } }
      .result-page .section9 .content::before {
        content: "";
        position: absolute;
        top: -2.7rem;
        right: -7.6rem;
        width: 31rem;
        height: 58rem;
        background-image: url(../image/photo/girl-40.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        z-index: -1; }
      .result-page .section9 .content::after {
        content: "";
        position: absolute;
        bottom: -17rem;
        left: -5rem;
        width: 36rem;
        height: 48rem;
        background-image: url(../image/photo/contact.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        z-index: -1; }
      .result-page .section9 .content .item {
        margin: 0 auto;
        width: 46.3rem;
        flex-shrink: 0;
        aspect-ratio: 1/1;
        text-align: center;
        border: 0.5rem solid #EB878B;
        border-radius: 50%;
        -webkit-border-radius: 50%;
        -moz-border-radius: 50%;
        -ms-border-radius: 50%;
        -o-border-radius: 50%; }
        @media (max-width: 576px) {
          .result-page .section9 .content .item {
            width: 42rem; } }
        .result-page .section9 .content .item:not(:first-child) {
          margin-top: -21rem; }
          @media (max-width: 576px) {
            .result-page .section9 .content .item:not(:first-child) {
              margin-top: -20rem; } }
        .result-page .section9 .content .item.back-white {
          background-color: #fff;
          transform: translateX(calc(-50% + 6rem));
          -webkit-transform: translateX(calc(-50% + 6rem));
          -moz-transform: translateX(calc(-50% + 6rem));
          -ms-transform: translateX(calc(-50% + 6rem));
          -o-transform: translateX(calc(-50% + 6rem)); }
        .result-page .section9 .content .item.back-yellow {
          background-color: #feffdc;
          transform: translateX(calc(50% - 6rem));
          -webkit-transform: translateX(calc(50% - 6rem));
          -moz-transform: translateX(calc(50% - 6rem));
          -ms-transform: translateX(calc(50% - 6rem));
          -o-transform: translateX(calc(50% - 6rem)); }
        .result-page .section9 .content .item .text {
          position: absolute;
          width: 100%;
          top: 50%;
          left: 0;
          text-align: center;
          display: block;
          font-size: 4rem;
          font-weight: 500;
          line-height: 1.4;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%);
          -moz-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          -o-transform: translateY(-50%); }
          @media (max-width: 576px) {
            .result-page .section9 .content .item .text {
              font-size: 3.5rem; } }
  .result-page .section10 .wraps .content .content-inner {
    position: relative;
    padding: 0 2rem; }
    .result-page .section10 .wraps .content .content-inner .swiper .swiper-wrapper {
      max-width: 60rem;
      margin: 0 auto; }
      @media (max-width: 576px) {
        .result-page .section10 .wraps .content .content-inner .swiper .swiper-wrapper {
          max-width: 56rem; } }
      .result-page .section10 .wraps .content .content-inner .swiper .swiper-wrapper .item {
        background-color: #FFF9FA;
        border-radius: 1.5rem;
        border: 0.3rem solid #EB878B;
        padding: 5.6rem 6rem;
        text-align: center;
        min-height: 78rem; }
        .result-page .section10 .wraps .content .content-inner .swiper .swiper-wrapper .item .img-field {
          width: 20rem;
          aspect-ratio: 1/1;
          margin: 0 auto;
          overflow: hidden;
          border-radius: 50%;
          -webkit-border-radius: 50%;
          -moz-border-radius: 50%;
          -ms-border-radius: 50%;
          -o-border-radius: 50%; }
          .result-page .section10 .wraps .content .content-inner .swiper .swiper-wrapper .item .img-field img {
            width: 100%;
            height: 100%;
            object-fit: cover; }
        .result-page .section10 .wraps .content .content-inner .swiper .swiper-wrapper .item .age {
          font-weight: 700;
          font-size: 3rem;
          line-height: 1;
          letter-spacing: 0%;
          text-align: center; }
        .result-page .section10 .wraps .content .content-inner .swiper .swiper-wrapper .item .title {
          margin-top: 2.4rem;
          font-weight: 500;
          font-size: 3.2rem;
          line-height: 1.4; }
        .result-page .section10 .wraps .content .content-inner .swiper .swiper-wrapper .item .desc {
          margin-top: 3.2rem;
          font-size: 2rem;
          line-height: 1.2;
          font-weight: 500;
          text-align: justify; }
    .result-page .section10 .wraps .content .content-inner .button-next,
    .result-page .section10 .wraps .content .content-inner .button-prev {
      position: absolute;
      top: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 8rem;
      height: 8rem;
      background-color: #EB878B;
      border-radius: 50%;
      z-index: 1;
      transform: translateY(-50%);
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%); }
      .result-page .section10 .wraps .content .content-inner .button-next .icon,
      .result-page .section10 .wraps .content .content-inner .button-prev .icon {
        width: 2.6rem;
        height: calc(2 * 2.6rem / tan(60deg));
        background-color: #fff; }
        .result-page .section10 .wraps .content .content-inner .button-next .icon.prev,
        .result-page .section10 .wraps .content .content-inner .button-prev .icon.prev {
          clip-path: polygon(0 50%, 100% 0, 100% 100%);
          margin-right: 0.5rem; }
        .result-page .section10 .wraps .content .content-inner .button-next .icon.next,
        .result-page .section10 .wraps .content .content-inner .button-prev .icon.next {
          clip-path: polygon(0 0, 100% 50%, 0 100%);
          margin-left: 0.5rem; }
    .result-page .section10 .wraps .content .content-inner .button-prev {
      left: 0; }
    .result-page .section10 .wraps .content .content-inner .button-next {
      right: 0; }
    .result-page .section10 .wraps .content .content-inner .swiper-pagination-bullet-active {
      background-color: #EB878B; }
  .result-page .section11 {
    background-color: #FFF9FA; }
    .result-page .section11 .wraps {
      padding: 6rem 0 0; }
      .result-page .section11 .wraps .red-box-content .item {
        position: relative;
        width: 100%;
        background-color: #fff;
        text-align: center;
        border: 0.3rem solid #EB878B;
        border-radius: 1.5rem;
        padding: 4rem 0 0;
        overflow: hidden;
        margin-bottom: 4rem;
        z-index: 0; }
        .result-page .section11 .wraps .red-box-content .item .title {
          font-weight: 700;
          line-height: 1.4;
          text-align: center;
          font-size: 4rem; }
          .result-page .section11 .wraps .red-box-content .item .title .large {
            font-size: 5.2rem; }
            @media (max-width: 576px) {
              .result-page .section11 .wraps .red-box-content .item .title .large {
                font-size: 4.8rem; } }
        .result-page .section11 .wraps .red-box-content .item .catch {
          position: relative;
          display: block;
          width: fit-content;
          margin: 2.4rem auto 0;
          background-color: #EB878B;
          color: #fff;
          padding: 0.5rem 2rem;
          border-radius: 1.5rem;
          font-weight: 700;
          font-size: 4rem;
          line-height: 1.4;
          text-align: center;
          -webkit-border-radius: 1.5rem;
          -moz-border-radius: 1.5rem;
          -ms-border-radius: 1.5rem;
          -o-border-radius: 1.5rem; }
          .result-page .section11 .wraps .red-box-content .item .catch sup {
            position: relative;
            top: -1rem;
            left: unset;
            right: unset;
            font-size: 10px; }
            @media (max-width: 576px) {
              .result-page .section11 .wraps .red-box-content .item .catch sup {
                top: -0.5rem; } }
        .result-page .section11 .wraps .red-box-content .item .img-field {
          width: 30rem;
          margin: 2rem auto 0;
          transform: translateX(-3rem);
          -webkit-transform: translateX(-3rem);
          -moz-transform: translateX(-3rem);
          -ms-transform: translateX(-3rem);
          -o-transform: translateX(-3rem); }
          .result-page .section11 .wraps .red-box-content .item .img-field img {
            width: 100%;
            height: auto; }
          .result-page .section11 .wraps .red-box-content .item .img-field.center {
            transform: translateX(0);
            -webkit-transform: translateX(0);
            -moz-transform: translateX(0);
            -ms-transform: translateX(0);
            -o-transform: translateX(0); }
      .result-page .section11 .wraps .desc {
        display: block;
        width: fit-content;
        margin-left: auto;
        font-weight: 500;
        font-size: 1.6rem;
        line-height: 1.4; }
  .result-page .section12 {
    background-color: #FFF9FA; }
    .result-page .section12 .wraps {
      padding: 6rem 0 2rem; }
  .result-page .section13 .content .item {
    margin: 6.4rem auto 0; }
    .result-page .section13 .content .item .catch-title {
      max-width: 35rem;
      font-size: 4rem; }
    .result-page .section13 .content .item .subtitle {
      margin-top: 3rem;
      font-weight: 700;
      font-size: 4rem;
      line-height: 1.4;
      text-align: center; }
    .result-page .section13 .content .item .img-field {
      max-width: 30rem;
      margin: 3.2rem auto 0; }
      .result-page .section13 .content .item .img-field img {
        width: 100%; }

.commercial-info {
  padding: 40px 0;
  font-size: 16px; }
  .commercial-info h2 {
    text-align: center;
    margin-bottom: 40px;
    font-size: 18px; }
  .commercial-info .info-item {
    display: flex;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eee; }
  .commercial-info .info-item:last-child {
    border-bottom: none; }
  .commercial-info .info-item .label {
    width: 200px;
    font-weight: bold;
    padding-right: 20px; }
  .commercial-info .info-item .desc {
    flex: 1; }
  @media screen and (max-width: 767px) {
    .commercial-info .info-item {
      flex-direction: column; }
    .commercial-info .info-item .label {
      width: 100%;
      margin-bottom: 10px;
      padding-right: 0; }
    .commercial-info .info-item .desc {
      width: 100%; } }

.privacy-content {
  font-size: 16px; }
  .privacy-content .intro {
    margin-bottom: 4rem;
    line-height: 1.8; }
  .privacy-content .privacy-section {
    margin-bottom: 4rem; }
  .privacy-content .privacy-section h2 {
    font-size: 17px;
    margin-bottom: 20px;
    font-weight: bold;
    text-align: left; }
  .privacy-content .privacy-section p {
    margin-bottom: 20px;
    line-height: 1.8; }
  .privacy-content .privacy-section ol {
    list-style-position: inside;
    margin-bottom: 20px; }
  .privacy-content .privacy-section ol li {
    margin-bottom: 15px;
    line-height: 1.8; }
  .privacy-content .privacy-section ul {
    list-style-type: disc;
    margin-left: 20px;
    margin-top: 10px; }
  .privacy-content .privacy-section ul li {
    margin-bottom: 5px; }
  .privacy-content .privacy-section .note {
    font-weight: bold;
    display: block;
    margin-top: 15px; }

/*# sourceMappingURL=main.css.map */
