@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

h6,
.h6,
h5,
.h5,
h4,
.h4,
h3,
.h3,
h2,
.h2,
h1,
.h1 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 400;
  line-height: 1.2;
}

h1,
.h1 {
  font-size: calc(1.375rem + 0.9vw);
}

.font-main-color {
  color: #00a0e9;
}

.info-list-item-content {
  text-decoration: none !important;
  font-weight: bold;
}

.info-list-item-categorys {
  height: auto;
}

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

h2,
.h2 {
  /*font-size: calc(1.325rem + 0.8vw);*/
  font-size: 2.8rem;
}

.article h2 {
  font-size: 2.8rem;
}

h3,
.h3 {
  /*font-size: calc(1.3rem + 0.5vw);*/
  font-size: 2.2rem;
}

.line-height {
  line-height: 1.8;
}

h4,
.h4 {
  /*font-size: calc(1.275rem + 0.3vw);*/
  font-size: 2.0rem;
}

h5,
.h5 {
  font-size: 1.8rem;
}

h6,
.h6 {
  font-size: 1.6rem;
}

.midashi-title-h2 {
  font-size: 2.8rem;
  font-weight: 700;
}

.midashi-title-h3 {
  font-size: 2.2rem;
  font-weight: 500;
}

.midashi-spec-title-h3 {
  font-size: 2.2rem;
  font-weight: 700;
}

.midashi-top-h3 {
  font-size: 2.2rem;
  font-weight: 700;
}

.midashi-spec-h3 {
  font-size: 2.2rem;
  font-weight: 700;
}

.midashi-original {
  border-left: 5px solid #00a0e9;
  font-size: 20px;
  padding-left: 15px;
}

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

.font-weight-500 {
  font-weight: 500;
}

.font-weight-600 {
  font-weight: 600;
}

.font-weight-700 {
  font-weight: 700;
}

h2.webinar-block-heading {
  color: #00a0e9;
  font-size: 2rem;
  display: block;
  border: 2px dashed #00a0e9;
  position: relative;
  padding: 1em !important;
  border-radius: 30px !important;
  display: block;
}

h2.webinar-block-heading:before {
  content: "";
  position: absolute;
  bottom: -7px;
  left: 20%;
  transform: translateX(-50%) rotate(-45deg);
  width: 10px;
  height: 10px;
  border: 2px dashed #00a0e9;
  border-top: none;
  border-right: none;
  background-color: #daf1fb;
}

h2.webinar-block-heading:after {
  content: "";
  background: #daf1fb;
  left: 4px;
  top: 10px;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
  border-radius: 30px;
}

h2.suppot-block-heading:after {
  border-bottom: solid 3px #cce4ff;
  position: relative;
}

h2.suppot-block-heading:after:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #5472cd;
  bottom: -3px;
  width: 20%;
}

.flex-dir-aitem-center {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.case-img-flex {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  flex-direction: row;
  justify-content: center;
  gap: 1rem;
}

.case-img-flex-ex {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  flex-direction: row;
  gap: 1rem;
}

.case-img-icon {
  width: 32px;
  height: 32px;
  content: url(/images/icon/case.svg);
}

.midashi-references {
  position: relative;
  background: #daf1fb !important;
  box-shadow: 0px 0px 0px 5px #BBE5F9;
  border: dashed 2px white;
  padding: 0.5em 0.5em !important;
  color: #00a0e9;
}

.midashi-references:after {
  position: absolute;
  content: '';
  left: -7px;
  top: -7px;
  border-width: 0 0 15px 15px;
  border-style: solid;
  border-color: #fff #fff #00a0e9;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
}

.c-btn {
  cursor: pointer;
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
}

.c-btn {
  background: #e87e00;
  border: 2px solid #e87e00;
  color: #fff;
  display: block;
  font-weight: bold;
  max-width: 600px;
  padding: 16px 68px;
  text-align: center;
}

.c-btn:hover {
  background: #fff;
  color: #e87e00;
}

/************************************
** YouTubeボタン                
/************************************/

.movie-title {
  padding-top: 1rem;
}

.kasaneru6 img.imageback {
  width: 369px;
  height: 218px;
}

.movie-contents iframe {
  width: 100%;
  height: 218px;
}

.kasaneru6 {
  position: relative;
  text-align: center;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: flex-start;
  margin-bottom: 4rem;
}

.kasaneru6 img.spot5-imagup {
  top: 40%;
  position: absolute;
  width: 9%;
}

.kasaneru6 img.imagup {
  position: absolute;
  top: 41%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
}

/************************************
  ** clolumn img
  ************************************/
.col-img-c {
  padding: 2rem 4rem 2rem 4rem;
}

.col-lead {
  padding: 2rem 4rem 2rem 4rem;
}

.col-lead2 {
  padding: 0 4rem;
}

.col-spec-lead {
  padding: 0 4rem;
}

.col-midashi {
  position: relative;
  padding: .6em 0 .6em 1.2em !important;
  border-bottom: 3px solid #00a0e9;
  color: #333333;
  text-align: left !important;
}

.col-midashi::before {
  position: absolute;
  top: 0;
  left: .3em;
  transform: rotate(55deg);
  height: 11px;
  width: 12px;
  background: #00a0e9;
  content: '';
}

.col-midashi::after {
  position: absolute;
  transform: rotate(15deg);
  top: .6em;
  left: 0;
  height: 8px;
  width: 8px;
  background: #00a0e9;
  content: '';
}

.col-midashi-dotted {
  padding: 0 .4em .4em !important;
  border-bottom: 3px dotted #00a0e9 !important;
  background-color: #ffffff;
  color: #333333;
  margin-bottom: 0.5rem !important;
}

/************************************
  ** border
  ************************************/
.suppot-border {
  padding-bottom: 2rem;
  border-bottom: 0.5px solid #00a0e9;
}

.entry-categories-tags {
  margin-bottom: 0px;
  display: flex;
  flex-wrap: wrap;
}

/************************************
  ** photo-rotate
************************************/
.photo-rotate-01 {
  transform: rotate(-4deg);
}

.photo-rotate-02 {
  transform: rotate(-2deg);
}

.photo-rotate-03 {
  transform: rotate(2deg);
}

.photo-rotate-04 {
  transform: rotate(4deg);
}

/************************************
  ** box-shadow
  ************************************/
.box-shadow-01 {
  box-shadow: 10px 6px 29px #bebebe;
}

/************************************
  ** font-size
  ************************************/
.font-size-ss {
  font-size: 16px;
}

.font-size-s {
  font-size: 18px;
}

.font-size-mm {
  font-size: 20px;
}

.font-size-m {
  font-size: 24px;
}

.font-size-l {
  font-size: 32px;
}

.font-size-exl {
  font-size: 96px;
}

.fa-clock:before {
  content: url(/images/icon/schedule-16.svg);
}

.fa-plan:before {
  content: url(/images/icon/plan-w.svg);
}

.fa-help:before {
  content: url(/images/icon/help-w.svg);
}

.fa-home:before {
  content: url(/images/icon/home-16.svg);
}

.fa-home-w:before {
  content: url(/images/icon/home-16-w.svg);
}

.fa-folder:before {
  content: url(/images/icon/folder-16.svg);
}

.fa-search-w:before {
  content: url(/images/icon/search-16-w.svg);
}

.fa-search:before {
  content: url(/images/icon/search-16.svg);
}

.fa-tag:before {
  content: url(/images/icon/tag-16.svg);
}

.fa-history:before {
  content: url(/images/icon/history-16.svg);
}

.fa-bell:before {
  content: url(/images/icon/bell-16-w.svg);
}

.fa-bell:before {
  content: url(/images/icon/bell-16-w.svg);
}

.fa-case:before {
  content: url(/images/icon/case-w.svg);
}

.fa-spec:before {
  content: url(/images/icon/spec-w.svg);
}

.fa-event:before {
  content: url(/images/icon/event-w.svg);
}

.fa-column:before {
  content: url(/images/icon/column-w.svg);
}

.fa-file-alt:before {
  content: url(/images/icon/file-16-w.svg);
}

.fa-file-import:before {
  content: url(/images/icon/new-folder-16-w.svg);
}

.fa-bone:before {
  content: url(/images/icon/bone-16-w.svg);
}

.fa-mail:before {
  content: url(/images/icon/mail-w.svg);
}

.fa-flow:before {
  content: url(/images/icon/flow-w.svg);
}

.fa-interview:before {
  content: url(/images/icon/interview-w.svg);
}

.fa-video:before {
  content: url(/images/icon/youtube-activity-16-w.svg);
}

.fa-call:before {
  content: url(/images/icon/call-w.svg);
}

.fa-building:before {
  content: url(/images/icon/company-16-w.svg);
}

.fa-bookmark:before {
  content: url(/images/icon/bookmark-16-w.svg);
}

.fa-person-circle-question:before {
  content: url(/images/icon/faq-16-w.svg);
}


.fa-care:before {
  content: url(/images/icon/care-16-w.svg);
}

.post-date,
.post-update,
.post-author,
.amp-back {
  margin-right: 8px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.breadcrumb {
  margin: 1em 0.4em;
  color: var(--cocoon-x-pallid-text-color);
  font-size: 13px;
  display: flex;
}

.breadcrumb div {
  display: flex;
}

.date-tags {
  line-height: 0.8;
  text-align: right;
  margin-bottom: 1em;
  display: flex;
  justify-content: flex-end;
}

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  vertical-align: middle;
  display: flex;
}

/************************************
** body                    
/************************************/

body {
  background-color: #fff;
}

.main-color {
  color: #00a0e9;
}

.width-100 {
  width: 100%;
}

.width-95 {
  width: 95%;
}

.width-80 {
  width: 80%;
}

.table-width-80 {
  width: 80%;
}

.width-75 {
  width: 75%;
}

.width-65 {
  width: 65%;
}

.width-40 {
  width: 40%;
}

.width-35 {
  width: 35%;
}

.width-50 {
  width: 50%;
}

.width-48 {
  width: 48%;
}

.width-49 {
  width: 49%;
}

.width-20 {
  width: 20%;
}

.width-10 {
  width: 10%;
}

.table-center {
  text-align: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
}

.table-layout-f {
  table-layout: fixed;
}

.table-layout-a {
  table-layout: auto;
}

.function-width {
  width: 49%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.function-lead-li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding-left: 2rem;
}

.sec3-img {
  width: 100%;
  height: auto;
}

.p-ul-line {
  list-style: none;
}

.position-abs {
  position: absolute;
}

.position-rel {
  position: relative;
}

.display-flex-center {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: center;
}

.display-flex-end {
  display: flex;
  justify-content: flex-end;
}

.display-flex-start-2rem {
  display: flex;
  justify-content: flex-start;
  gap: 2rem;
  flex-direction: row;
  align-items: center;
}

.display-flex-row-center {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.display-flex-wrap-j-center {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.date-icon {
  width: 3rem;
  height: auto;
  padding-right: 0.8rem;
  content: url(/images/icon/schedule-16.svg);
}

.date-icon:hover {
  content: url(/images/icon/schedule-16-h.svg);
}

.position-rel-center {
  position: relative;
  margin: 0;
  padding: 0;
  text-align: center;
}

a {
  color: #333;
}

a:hover {
  color: #00a0e9;
}

a img:hover {
  opacity: 0.5;
  transition: 0.3s;
}

.over-f a {
  color: #fff;
}

.over-f a:hover {
  color: #00a0e9;
}

.border-1 {
  border-bottom: solid #cccccc 1px;
}

.slider-frame {
  width: 1000px;
  margin: 0 auto;
}

.thumb-center {
  margin: 0 auto;
}

.header-container-in.hlt-top-menu .tagline {
  display: flex;
}

/************************************
** flow
************************************/
.flow-midashi {
  position: relative;
  margin: 2rem 0;
  padding: 0.5em 1em;
  border: solid 3px #95ccff;
  border-radius: 8px;
}

.flow-midashi .box-title {
  position: absolute;
  display: inline-block;
  top: -13px;
  left: 10px;
  padding: 0 9px;
  line-height: 1;
  font-size: 19px;
  background: #FFF;
  color: #95ccff;
  font-weight: bold;
}

.flow-midashi-03 .box-title {
  position: absolute;
  display: inline-block;
  top: -13px;
  left: 10px;
  padding: 0 9px;
  line-height: 1;
  font-size: 19px;
  background: #FFF;
  color: #95ccff;
  font-weight: bold;
}


.flow-midashi p {
  margin: 0;
  padding: 0;
}

.flow-midashi-03 p {
  margin: 0;
  padding: 0;
}

/************************************
** flow　02
************************************/
.flow-width-left {
  width: 40%;
}

.flow-width-right {
  display: flex;
  align-items: center;
  width: 60%;
}

.flow-font-h3 {
  font-size: 2.4rem !important;
}

.flow-midashi-02 {
  position: relative;
  background: #BBE5F9;
  padding: 1rem 1rem 1rem 8.4rem;
  font-size: 2.4rem;
  color: #474747;
  border-radius: 0 10px 10px 0;
}


.flow-midashi-02 :before {
  content: url(/images/icon/case.svg);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: nowrap;
  line-height: 40px;
  position: absolute;
  padding: 0em;
  color: white;
  background: #00a0e9;
  font-weight: 900;
  width: 8rem;
  /* text-align: center; */
  height: 8rem;
  line-height: 40px;
  left: -1rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: solid 3px white;
  border-radius: 50%;
}

.flow-flex-frame {
  display: flex;
  flex-direction: column;
}

.flow-flex-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.flow-flex-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
}

.flow-icon {
  width: 120px;
  height: auto;
}

.flow-comment {
  margin-left: 2rem;
  font-size: 2rem;
  font-weight: 700;
}

.flow-flex-contact-link {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
}

.flow-midashi-03 {
  position: relative;
  margin: 4rem 0;
  padding: 0.5em 1em;
  border: solid 3px #95ccff;
  border-radius: 8px;
}

/************************************
** 矢印
************************************/

.dli-arrow-up {
  display: inline-block;
  vertical-align: middle;
  color: #333;
  line-height: 1;
  position: relative;
  width: 0.1em;
  height: 1em;
  background: currentColor;
}

.dli-arrow-up::before {
  content: '';
  width: 0.65em;
  height: 0.65em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  transform: rotate(-45deg);
  transform-origin: top right;
  position: absolute;
  top: -0.05em;
  right: 50%;
  box-sizing: border-box;
}

.dli-arrow-down {
  display: inline-block;
  vertical-align: middle;
  color: #333;
  line-height: 1;
  position: relative;
  width: 0.1em;
  height: 1em;
  background: currentColor;
}

.dli-arrow-down::before {
  content: '';
  width: 0.65em;
  height: 0.65em;
  border: 0.1em solid currentColor;
  border-top: 0;
  border-right: 0;
  transform: rotate(-45deg);
  transform-origin: bottom left;
  position: absolute;
  left: 50%;
  bottom: -0.05em;
  box-sizing: border-box;
}

/************************************
** rxconso
************************************/
.rxconso-h2-f {
  font-size: 4rem;
}

.rxconso-flex {
  display: flex;
  flex-direction: row;
  gap: 2rem;
}

.rxconso-flex-text {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}

.rxconso-width {
  width: 49%;
}

.rxconso-width-right {
  display: flex;
  justify-content: center;
}

.rxconso-img-pc {
  /*padding-left: 8rem;*/
  display: flex;
  justify-content: center;
}

.flex-rxconso-link {
  width: 100%;
  height: auto;
}

.flex-rxconso-link a {
  width: 40%;
  height: 48px;
  margin-top: 4rem;
  display: flex;
  align-items: center;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  background: #e87e00;
  border-radius: 8px;
  justify-content: center;
}

.flex-rxconso-link a:hover {
  background: #00a0e9;
}

.flex-rxconso-bottom {
  margin: 4rem 0;
  border-bottom: 3px dotted #00a0e9;
  padding-bottom: 2rem;
}


.flex-rxconso-bottom:last-child {
  border-bottom: 0px dotted #00a0e9;
}

.flex-rxconso-movie {
  font-size: 3rem;
  font-weight: 700;
}

/************************************
** spec
************************************/
.spec-flex {
  display: flex;
  flex-direction: row;
  width: 50%;
}

/************************************
** 点滅
************************************/
/* 点滅 */
@keyframes blinking {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.blink {
  animation: blinking 1s ease-in-out infinite alternate;
}

/************************************
** side-menu
************************************/
.wrap-side {
  display: grid;
  grid-template-columns: 0.8fr 3fr;
}

.main_content {
  background: #fff;
}

.side {
  background: #fff;
}

.side_content {
  position: sticky;
  top: 50px;
  background: #fff;
}

/************************************
** swiper-top
************************************/
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }

  100% {
    transform: scale(1);
  }
}

.swiper-slide-active .swiper-img,
.swiper-slide-duplicate-active .swiper-img,
.swiper-slide-prev .swiper-img {
  animation: zoomUp 12s linear 0s normal both;
}

.swiper-slide img {
  height: 100vh;
}

.height-100vh {
  height: 100vh;
}

.swiper-slide-1 {
  background-image: url(/images/others/newyear-01.webp);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-size: cover;
}

.swiper-slide-2 {
  background-image: url(/images/others/newyear-02.webp);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-size: cover;
}

.swiper-slide-3 {
  background-image: url(/images/others/newyear-03.webp);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-size: cover;
}

.swiper-slide-4 {
  background-image: url(/images/others/newyear-04.webp);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-size: cover;
}

/************************************
** swiper
************************************/

.swiper-pagination-fraction {
  color: #fff !important;
  font-size: larger !important;
  font-weight: 600 !important;
  display: flex;
  justify-content: flex-end;
  padding-right: 2rem;
}

.swiper-button-next {
  color: #fff !important;
}

.swiper-button-prev {
  color: #fff !important;
}

.swiper-frame {
  box-sizing: border-box;
  margin: 0;
  height: auto;
  margin-bottom: 2rem;
}

.swiper {
  width: 1000px;
  max-width: 100%;
  height: auto;
}

.swiper-slide img {
  max-width: 100%;
  width: 100%;
  height: auto;
  margin: 0 auto;
}

.sub-swiper .swiper-slide img {
  width: 30%;
  padding-top: 3rem;
}

.sub-swiper .swiper-slide img:hover {
  cursor: pointer;
}

.swiper-title-sub {
  margin-top: 1rem;
  font-size: 18px;
}

.swiper-lead-sub {
  margin-top: 1rem;
  font-size: 16px;
}

/************************************
** slider
************************************/

.slider-css {
  width: 100%;
  padding-top: 25em;
  position: relative;
  margin: 2em auto;
  text-align: center;
  display: flex;
  justify-content: space-between;
}

.slider-css>img {
  position: absolute;
  left: 15%;

  top: 0;
  width: 75%;
  transition: all 0.5s;
  border-radius: 3px;
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.3);
}

.slider-css>iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 530px;
  height: 285px;
  border: #ff0000 15px solid;

  z-index: 2;
  pointer-events: auto;
}

.slider-css input[name="cp_switch"] {
  display: none;
}

.slider-css input[name="cp_switch-1"] {
  display: none;
}

.slider-css label {
  margin: 15px 5px 0 5px;
  border: 2px solid #ffffff;
  display: inline-block;
  cursor: pointer;
  transition: all 0.5s ease;
  opacity: 0.6;
  border-radius: 3px;
}

.slider-css label:hover {
  opacity: 0.9;
}

.slider-css label img {
  display: block;
  border-radius: 2px;
  margin: 0 auto;
  width: 100px;
  padding-bottom: 1rem;
  padding-top: 1rem;
}

.slider-css label iframe {
  display: block;
  border-radius: 2px;
  margin: 0 auto;
  width: 100px;
  padding-bottom: 1rem;
  padding-top: 1rem;
}

.slider-css input[name="cp_switch"]:checked+label {
  border: 2px solid #00a0e9;
  opacity: 1;
}

.slider-css input[name="cp_switch"]~img {
  opacity: 0;
}

.slider-css input[name="cp_switch"]~iframe {
  opacity: 0;
}

.slider-css input[name="cp_switch"]:checked+label+img {
  opacity: 1;
}

.slider-css input[name="cp_switch"]:checked+label+iframe {
  opacity: 1;
}

.slider-css input[name="cp_switch-1"]:checked+label {
  border: 2px solid #00a0e9;
  opacity: 1;
}

.slider-css input[name="cp_switch-1"]~img {
  opacity: 0;
}

.slider-css input[name="cp_switch-1"]~iframe {
  opacity: 0;
}

.slider-css input[name="cp_switch-1"]:checked+label+img {
  opacity: 1;
}

.slider-css input[name="cp_switch-1"]:checked+label+iframe {
  opacity: 1;
}

/************************************
** radius
************************************/

.radius-t-left-10 {
  border-top-left-radius: 10px;
}

.radius-t-right-10 {
  border-top-right-radius: 10px;
}

.radius-b-left-10 {
  border-bottom-left-radius: 10px;
}

.radius-b-right-10 {
  border-bottom-right-radius: 10px;
}

.radius-10 {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}

/************************************
** プロフィール
************************************/
/* セロテープ風 */
.somic-profile-box {
  position: relative;
  margin: 0 auto 2em;
  background-color: #FDF2FA;
}

.somic-profile-box .pro-box-title {
  background-color: rgb(255 255 255);
  border-left: 2px dotted rgb(0 0 0 / .1);
  border-right: 2px dotted rgb(0 0 0 / .1);
  box-shadow: 0 0 5px rgb(0 0 0 / .12);
  transform: rotate(-2deg);
  color: #666;
  padding: 10px 20px;
  line-height: 1;
  position: absolute;
  top: -1em;
  left: 1em;
  display: inline-block;
  font-size: 2.4rem;
  width: auto;
  max-width: calc(100% - 2em);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.somic-profile-box .pro-box-content {}

.somic-profile-box p {
  margin: 0;
  padding-top: 1em;
}

.somic-profile-fr {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2rem;
  margin-top: 4rem;
}

.somic-profile-img-fr {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 2rem;
}

.somic-profile-img {
  width: 29%;
  height: auto;
  padding: 2.5em 0 2em 2em;
}

.somic-profile-text {
  width: 68%;
  height: auto;
  padding: 2.5em 2em 2em 0;
}

.pro-box-content ul {
  margin-bottom: 0 !important;
}


/************************************
** case
************************************/

.case-image {
  display: flex;
  justify-content: center;
  padding-bottom: 2rem;
  flex-direction: column;
}

.case-name {
  font-weight: bold;
  font-style: italic;
  font-size: 1.8rem;
}

.case-name2 {
  font-weight: bold;
  font-style: italic;
}

/************************************
** spec
************************************/
.fl-row-fixed-width {
  /*max-width: 1280px;*/
}

.fl-row,
.fl-row-content {
  margin-left: auto;
  margin-right: auto;
  min-width: 0;
}

.fl-builder-content *,
.fl-builder-content *:before,
.fl-builder-content *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.fl-row:before,
.fl-row:after,
.fl-row-content:before,
.fl-row-content:after,
.fl-col-group:before,
.fl-col-group:after,
.fl-col:before,
.fl-col:after,
.fl-module:before,
.fl-module:after,
.fl-module-content:before,
.fl-module-content:after {
  display: table;
  content: " ";
}

.width-100 {
  width: 100%;
}

.fl-col {
  float: left;
  min-height: 1px;
}

.fl-col-content {
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
}

.fl-module-content {
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
}

.fl-row:after,
.fl-row-content:after,
.fl-col-group:after,
.fl-col:after,
.fl-module:after,
.fl-module-content:after {
  clear: both;
}

.spec-table-margin {
  margin-top: 4rem;
  margin-bottom: 4rem;
}

.spec-fle {
  display: flex;
  gap: 32px;
}

.spec-single-title.active {
  border-bottom: solid 2px #0f0e17;
  font-weight: bold;
  padding-bottom: 8px;
}

.spec-single-title {
  line-height: 32px;
  font-weight: 400;
  color: #0f0e17;
  cursor: pointer;
}

.spec-single-title {
  line-height: 32px;
  font-weight: 400;
  color: #0f0e17;
  cursor: pointer;
}

.spec-inner-single.active {
  display: flex;
}

.spec-inner-single {
  display: none;
  gap: 48px;
}

.spec-inner-single-column {
  width: 50%;
}

.spec-inner-single-column-main-title {
  line-height: 1.5;
  font-weight: bold;
  color: #0f0e17;
  padding-bottom: 12px;
  border-bottom: 0.5px solid #5f697c;
}

.spec-inner-single-column-description {
  color: #5f697c;
  font-size: 16px;
  line-height: 1.71;
  margin-bottom: 16px;
  /*inline-size: 170px;*/
  overflow-wrap: break-word;
}

/************************************
  ** seminar
  ************************************/
.seminar-flex {
  display: flex;
}

.seminar-img {
  width: 100%;
  height: auto;
}

/************************************
** FaQ
************************************/

.faq-frame{
  margin-top: 2rem;
  margin-bottom: 4rem;
  background-color: #fff;
}

/* Chrome、Safari以外 */
summary {
  display: block;
}

/* Chrome、Safari */
summary::-webkit-details-marker {
  display: none;
}

.qa-1 {
  width: 100%;
  margin-bottom: 7px;
  /*border: 1px solid #d6dde3;*/
  /*border-radius: 5px;*/
}

.qa-1 summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
padding: 1rem 1rem 1rem 5rem;
  color: #333333;
  font-weight: 600;
  cursor: pointer;
}

.qa-1 summary::before,
.qa-1 p::before {
  position: absolute;
  left: 1em;
  font-weight: 600;
  font-size: 1.3em;
}

.qa-1 summary::before {
  color: #00a0e9;
  content: "Q";
}

.qa-1 summary::after {
  transform: translateY(-25%) rotate(45deg);
  width: 8px;
  height: 8px;
  margin-right: 10px;
  margin-left: 10px;
  border-bottom: 3px solid #00a0e9;
  border-right: 3px solid #00a0e9;
  content: "";
  transition: transform 0.5s;
  padding-left: 0.3rem;
  padding-right: 0.1rem;
}

.qa-1[open] summary::after {
  transform: rotate(225deg);
}

.qa-1 p {
  position: relative;
  transform: translateY(-10px);
  opacity: 0;
  margin: 0;
  padding: 0.3em 3em 1.5em;
  color: #333;
  transition: transform 0.5s, opacity 0.5s;
}

.qa-1[open] p {
  transform: none;
  opacity: 1;
}

.qa-1 p::before {
  color: #e87e00;
  line-height: 1.2;
  content: "A";
}



/************************************
** more read
************************************/
.read-more-top a {
  background: #00a0e9;
  border-radius: 3px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  max-width: 220px;
  padding: 10px 25px;
  color: #fff;
  transition: 0.3s ease-in-out;
  font-weight: 500;
  text-decoration: none;
}

.read-more-top a::before {
  content: '';
  position: absolute;
  bottom: -7px;
  right: -7px;
  width: 100%;
  height: 2px;
  background-color: #bbbbbb;
  transition: 0.2s ease 0s;
}

.read-more-top a::after {
  content: '';
  position: absolute;
  top: 7px;
  right: -7px;
  width: 2px;
  height: 100%;
  background-color: #bbbbbb;
  transition: 0.2s ease 0.2s;
}

.read-more-top a:hover::before {
  width: 0%;
}

.read-more-top a:hover::after {
  height: 0%;
}

.read-more-top a:hover {
  text-decoration: none;
  background-color: #E87E00;
  color: #fff;
}

/************************************
** contact button
************************************/
.contact-button a {
  background: #E87E00;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  max-width: 240px;
  padding: 10px:;
  transition: 0.3s ease-in-out;
  font-weight: 500;
  z-index: 0;
  color: #fff;
}

.contact-button a:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 0;
  display: block;
  background: #6bb6ff;
  transition: .3s;
  left: 0;
}

.contact-button a:hover {
  color: #FFF !important;
}

.contact-button a:hover:before {
  width: 100%;
  z-index: -1;
}



/************************************
** img/flex
************************************/


.read-more {
  display: flex;
  flex-direction: row-reverse;
}

.wrap-noflame-vb {
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  background-color: #dbedf3;
  box-sizing: border-box;
  height: auto;
}

.wrap-noflame {
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  background-color: #fff;
  box-sizing: border-box;
  height: auto;
}

.wrap-contents-flame {
  padding: 16px 16px;
}

.midashi-suppot {
  border-bottom: solid 3px #bbe5f9;
  position: relative;
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.midashi-suppot :after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #00a0e9;
  bottom: -3px;
  width: 20%;
}

.article {
  margin-bottom: 4rem !important;
}

.midashi {}

.info-f {
  margin-bottom: 8rem;
}

.midashi h2 {
  margin: 25px 0 25px 0px;
  border-left: 5px solid #00a0e9;
  padding-left: 15px;
  font-weight: 700;
}

.flex-contact-title {
  display: flex;
  justify-content: center;
  margin-top: 4rem;
}

/************************************
** contact
************************************/
.contact-link {
  width: 100%;
  height: auto;
}

.page-name-confirm h1.entry-title {
  display: none;
}


.pre-submit-f {
  position: relative;
  margin-bottom: 8rem;
}

.contact-link a {
  width: 300px;
  height: 48px;
  margin: 10px auto 20px auto;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  background: #e87e00;
  border-radius: 8px;
}

.contact-link a:hover {
  background: #00a0e9;
}

.contact-title {
  font-size: 2.4rem;
  font-weight: 700;
  width: max-content;
  border-bottom: dotted 3px #00a0e9;
}

.contact-lead {
  padding: 2rem 24rem 2rem 24rem;
}

.midashi-contact {
  margin: 25px 0 25px 0px;
  border-left: 5px solid #00a0e9;
  padding-left: 15px;
  font-weight: 700;
}


.footer-meta {
  font-size: 0.8em;
  text-align: right;
  padding-top: 4rem;
}

.sc-table-td1 {
  text-align: left;
  text-indent: -1em;
  padding-left: 2em !important;
}

.scｰtable-fw {
  font-weight: 600;
}

.scｰtable-color {
  color: #000;
}

.scｰtable-color2 {
  background-color: #00a0e9;
  color: #fff;
}

.scｰtable-color3 {
  border-bottom: 5px solid #00a0e9 !important;
  font-weight: 600;
}

.sc-table {
  width: 100%;
  text-align: center;
  border-collapse: collapse;
  border-spacing: 0;
  color: #353535;
}

.sc-table thead {
  background: #999;
  color: #fff;
}

.sc-table th,
.sc-table td {
  border: 1px solid #ccc;
  padding: 10px;
}

.sc-table tr:nth-child(2n) td {
  background-color: #f5f6f7;
}

.sc-table th:nth-child(3),
.sc-table td:nth-child(3) {
  border-left: 5px solid #00a0e9;
  border-right: 5px solid #00a0e9;
}

.sc-table tr:nth-child(3) th:nth-child(3) {
  position: relative;
  border-top: 15px solid #00a0e9;
  background-color: #00a0e9;
}

.sc-table tr:nth-child(3) th:nth-child(3)::before {
  position: absolute;
  top: -0.65rem;
  left: 50%;
  transform: translateX(-50%);
  padding: 0.2rem 1rem;
  border-radius: 0.3rem;
  background-color: #fff;
  color: #00a0e9;
  font-size: 0.8rem;
  content: "人気";
}

/************************************
** column
************************************/
.column-th-width-1 {
  width: 10% !important;
}

.column-th-width-2 {
  width: 30% !important;
}

.column-th-width-3 {
  width: 60% !important;
}

/************************************
** flex
************************************/
.flex-dir-colmn {
  display: flex;
  flex-direction: column;
}

.flex-dir-row {
  display: flex;
  flex-direction: row;
}

.flex-column-t-span {
  display: flex;
  justify-content: center;
}

.flex-arrow {
  display: flex;
  flex-direction: column;
  padding-bottom: 1rem;
}

.flex-dir-row {
  display: flex;
  flex-direction: row;
}

.flex-dir-row-aitem-center {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.flex-dir-column-aitem-center {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.flex-dir-row-aitem-flex-start {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
}

/************************************
** flex2列
************************************/

.flex-b2 {
  display: flex;
  flex-wrap: wrap;
  text-align: center;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
}

.flex-item-2 {
  width: 47%;
  margin: 1rem;
  text-decoration: none;
  text-align: justify;
}

/************************************
** flex3列
************************************/

.flex-b3 {
  display: flex;
  flex-wrap: wrap;
}

.flex-item-3 {
  width: 33%;
  padding: 10px;
}

.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

/************************************
** 2列
************************************/
.wrap-img {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  align-content: center;
  justify-content: space-between;
  align-items: center;
}

.wrap-img-align-items-flex-start {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
}

.payload-wrap-spec-frame {
  width: 55%;
  padding-bottom: 3rem;
}

.wrap-img-half {
  width: 48%;
  padding-bottom: 3rem;
}

.wrap-img-t {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  align-content: flex-start;
  justify-content: space-between;
  align-items: flex-start;
}

.line {
  padding-bottom: 2rem;
  border-bottom: 0.5px solid #5f697c;
}

/************************************
** 記事
************************************/
.text-align-c {
  text-align: center;
}

.list-style {
  list-style: none;
}

.p-display-flex {
  display: flex;
}

.pa-size-10 {
  flex-basis: 10%;
}

.pa-size-90 {
  flex-basis: 90%;
}

.pa-size-33 {
  flex-basis: 33.33%;
}

.pa-size-66 {
  flex-basis: 66.66%;
}

.pa-size-49 {
  flex-basis: 49%;
}

.pa-size-51 {
  flex-basis: 51%;
}

.pa-size-70 {
  flex-basis: 70%;
}

.pa-size-30 {
  flex-basis: 30%;
}

.pa-size-50 {
  flex-basis: 50%;
}

.p-display-flex-dire-c {
  display: flex;
  flex-direction: column;
}

.p-margin-t-2rem {
  margin-top: 2rem;
}

.p-margin-b-2rem {
  margin-bottom: 2rem;
}

.p-margin-2rem {
  margin: 2rem;
}

.article-mb-a {
  margin-bottom: auto;
}

.tag-link,
.comment-reply-link {
  color: var(--cocoon-text-color);
  text-decoration: none;
  margin-right: 5px;
  padding: 1px 5px;
  font-size: 12px;
  border: 1px solid var(--cocoon-x-pallid-text-color);
  border-radius: var(--cocoon-badge-border-radius);
  word-break: break-all;
  display: inline-flex;
  align-items: center;
}

.cat-link {
  color: var(--cocoon-white-color);
  text-decoration: none;
  display: flex;
  margin-right: 5px;
  padding: 2px 6px;
  font-size: 12px;
  background-color: var(--cocoon-text-color);
  border-radius: var(--cocoon-badge-border-radius);
  word-break: break-all;
  align-items: center;
}

.ctdt-one-row>div {
  display: flex;
  flex-wrap: wrap;
}

.info-list-frame {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: flex-start;
  gap: 2%;
}

.info-list-item-frame {
  padding: 14px 0;
  font-size: 16px;
  line-height: 1.6;
  width: 32%;
}

.column-list-item-frame {
  padding: 14px 0;
  font-size: 16px;
  line-height: 1.6;
  width: 23.33333%;
}

.info-list-item-date {
  margin-right: 18px;
  display: flex;
}

/************************************
** ウェビナー 顔画像
************************************/

.webinar table:not(.has-border-color) :where(th, td) {
  border: 1px solid #abb8c3 !important;
  padding: 20px;
}

.webinar table tr:nth-of-type(2n + 1) {
  background-color: #daf1fb !important;
}

.webinar table th {
  background-color: #daf1fb !important;
}

.webinar-title {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  line-height: 2 !important;
}

.object-center {
  -o-object-position: center;
  object-position: center;
}

.object-cover {
  -o-object-fit: cover;
  object-fit: cover;
}

.rounded-full {
  border-radius: 9999px;
}

.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.bg-flag-green {
  --tw-bg-opacity: 1;
  background-color: #00a0e9;
  border-radius: 9999px;
  justify-content: center;
  align-items: center;
  max-width: 50%;
  width: 100%;
  height: 9rem;
  display: inline-flex;
  color: #fff;
  font-size: 3rem;
  text-decoration: none;
}

.bg-flag-green:hover {
  background-color: #abb8c3;
  color: #000;
}

.webinar .margin-cat h2 {
  line-height: 1.25;
  font-weight: bold;
  font-size: x-large;
}

.webinar .mt-8 h3 {
  margin: 25px 0 25px 0px;
  border-left: 5px solid #00a0e9;
  font-size: 20px;
  padding-left: 15px;
}

.article .mt-8 h3 {
  margin: 25px 0 25px 0px;
  border-left: 5px solid #00a0e9;
  font-size: 20px;
  padding-left: 15px;
}

.webinar table ul {
  margin: 0px;
  list-style: none;
}

#speaker ul li {
  margin: 24px;
  list-style: none;
  display: flex;
  gap: 3rem;
}

.speaker-name {
  width: 100%;
}

.webinar .mt-4 {
  margin-top: 4rem;
}

.margin-cat {
  margin: 2rem;
  text-align: center;
}

.margin-midashi {
  margin: 2rem;
}

.margin-lead {
  margin-top: 2rem;
  margin-bottom: 2rem;
  text-align: left;
}

.margin-con {
  margin: 5rem;
  text-align: center;
}

.margin-li {
  margin: 4rem;
}

.rounded-full {
  border-radius: 9999px;
}

.justify-center {
  justify-content: center;
}

.items-center {
  align-items: center;
}

.max-w-xs {
  max-width: 20rem;
}

.w-full {
  width: 100%;
}

.h-12 {
  height: 3rem;
}

.inline-flex {
  display: inline-flex;
}

::marker {
  unicode-bidi: isolate;
  font-variant-numeric: tabular-nums;
  text-transform: none;
  text-indent: 0px !important;
  text-align: start !important;
  text-align-last: start !important;
}

.aspect-square {
  aspect-ratio: 1 / 1;
}

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

.text-center {
  text-align: center;
}

.my-12 {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.mt-8 {
  margin-top: 2rem;
}

.contact-content .hs-fieldtype-checkbox .inputs-list,
.contact-content .hs-fieldtype-radio .inputs-list {
  display: flex;
}

.contact-content .hs-fieldtype-checkbox .inputs-list .hs-form-checkbox {
  min-width: 48%;
}

:where(.meta-content) :is(h2, h3, h4, p, ol, ul):nth-child(n + 2) {
  margin-top: 1em;
}

:where(.meta-content) :is(ol, ul) {
  padding-left: 1.25em;
  list-style-position: outside;
}

:where(.meta-content) :is(ol) {
  list-style: is_numeric;
}

:where(.meta-content) :is(ul) {
  list-style: disc;
}

.img-patron {
  max-width: 15rem;
  width: 33.333333%;
  flex-shrink: 0;
  display: flex;
  flex-direction: column-reverse;
  align-items: baseline;
  justify-content: flex-end;
}

.max-w-\[10rem\] {
  max-width: 10rem;
}

.w-1\/3 {
  width: 33.333333%;
}

table:not(.has-border-color) :where(th, td) {
  border: 1px solid #BBE5F9;
  padding: 5px;
  border-left-width: thin;
  width: 0px;
}

/************************************
** ページネーション
************************************/
.Pagination {
  display: flex;
  flex-direction: row;
  align-content: space-between;
  justify-content: center;
  align-items: center;
  list-style: none;
}

.Pagination>*+* {
  margin-left: 12px;
}

.Pagination-Item-Link {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 35px;
  height: 35px;
  background: #fff;
  font-size: 20px;
  font-weight: bold;
  transition: all 0.15s linear;
}

.Pagination-Item-Link-Icon {
  width: 20px;
}

.Pagination-Item-Link.isActive {
  pointer-events: none;
  background: #111;
  color: #fff;
}

.Pagination-Item-Link:not(.isActive):hover {
  background: #111;
  color: #fff;
}

/************************************
** table width
************************************/
.table-width-10 {
  width: 10% !important;
}

.table-width-20 {
  width: 20% !important;
}

.table-width-25 {
  width: 25% !important;
}

.table-width-30 {
  width: 30% !important;
}

.table-width-35 {
  width: 35% !important;
}

.table-width-40 {
  width: 40% !important;
}

.table-width-45 {
  width: 45% !important;
}

.table-width-50 {
  width: 50% !important;
}

.table-width-55 {
  width: 55% !important;
}

.table-width-60 {
  width: 60% !important;
}

.table-width-65 {
  width: 65% !important;
}

.table-width-70 {
  width: 70% !important;
}

/************************************
** 改行
************************************/
br.br-pc {
  display: block !important;
}

br.br-pc2 {
  display: none !important;
}

/************************************
** top
************************************/
span.pc {
  display: block !important;
}

span.pc2 {
  display: none !important;
}

.sec1-top {
  position: relative;
  margin-bottom: 3rem;
  padding: 0rem 0 6rem 0;
}

.sec1-1 {
  position: relative;
  display: flex;
  top: -45px;
  justify-content: center;
}

.sec1-1 h2 {
  color: #000;
  background-color: #fff;
  font-size: 4rem;
  padding: 20px 30px;
  display: block;
  border: 1px solid #000;
  position: relative;
  text-align: center;
  display: flex;
  justify-content: center;
}

.sec1-1 h2:before,
.sec1-1 h2:after {
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  border: 1px solid #000;
  background: #00a0e9;
}

.sec1-1 h2:before {
  left: -10px;
  top: -10px;
}

.sec1-1 h2:after {
  right: -10px;
  bottom: -10px;
}

.sec1-3 {
  position: relative;
  flex-direction: column;
  width: 100%;
  left: -5rem;
  top: 5rem;
  justify-content: flex-end;
}

.sec1-2 {
  position: relative;
  display: flex;
  flex-direction: row;
  max-width: 100%;
}

.sec1-2 .video {
  position: relative;
  padding-bottom: 57%;
  margin: 0 auto;
}

.video-fr {
  width: 100%;
}

.sec1-2 p {
  width: 110%;
  display: flex;
  flex-direction: column;
  background-color: #daf1fb;
  padding: 2.4rem;
  font-size: 3rem;
  font-weight: 600;
  border-radius: 0 0 3rem 0px;
}

.sec1-2 p span {
  font-size: 1.8rem;
  font-weight: normal;
}

/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}

.scroll_up.on {
  transform: translateY(0);
  opacity: 1;
}

/*----------------------------
scroll_left ｜左から出現
----------------------------*/
.scroll_left {
  -webkit-transition: 0.8s ease-in-out;
  -moz-transition: 0.8s ease-in-out;
  -o-transition: 0.8s ease-in-out;
  transition: 0.8s ease-in-out;
  transform: translateX(-30px);
  opacity: 0;
  filter: alpha(opacity=0);
  -moz-opacity: 0;
}

.scroll_left.on {
  opacity: 1;
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  transform: translateX(0);
}

/*----------------------------
scroll_right ｜右から出現
----------------------------*/
.scroll_right {
  -webkit-transition: 0.8s ease-in-out;
  -moz-transition: 0.8s ease-in-out;
  -o-transition: 0.8s ease-in-out;
  transition: 0.8s ease-in-out;
  transform: translateX(30px);
  opacity: 0;
  filter: alpha(opacity=0);
  -moz-opacity: 0;
}

.scroll_right.on {
  opacity: 1;
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  transform: translateX(0);
}

.medal-top {
  max-width: 60%;
}

.logo-top {
  width: 36%;
}

.sec1-2 .img-fr {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  padding: 2rem 2rem 0rem 2rem;
  justify-content: center;
}

.sec1-2 img {
  width: 33.3%;
}

.sec1-2 .medal img {
  width: 100%;
}

.sec2-top {
  width: 100vw;
  background-color: #daf1fb;
  margin-left: calc(-50vw + 50%);
  height: 100%;
  position: relative;
  padding: 6rem 0 6rem 0;
}

.sec3-top {
  position: relative;
  background-color: #fff;
  padding: 6rem 0 6rem 0;
}

.sec3-1 {
  position: relative;
  display: flex;
  flex-direction: row;
  max-width: 100%;
  gap: 2%;
}

.sec3-1 h3 {
  width: 90%;
  color: #000;
  background-color: #fff;
  font-size: 4rem;
  padding: 1rem 2rem;
  display: block;
  border: 1px solid #000;
  position: relative;
  text-align: center;
  display: flex;
  justify-content: center;
}

.sec3-1 h3:before,
.sec3-1 h3:after {
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  border: 1px solid #000;
  background: #00a0e9;
}

.sec3-1 h3:before {
  left: -10px;
  top: -10px;
}

.sec3-1 h3:after {
  right: -10px;
  bottom: -10px;
}

.sec3-2 {
  display: flex;
  flex-direction: column;
}

.sec3-2 p {
  width: 100%;
  display: flex;
  flex-direction: column;
  font-size: 2.4rem !important;
  font-weight: 600;
  border-radius: 0 0 3rem 0px;
}

.sec3-2 li p {
  font-size: 1.8rem !important;
  font-weight: normal;
  padding: 0rem 2.4rem 0 0;
}

.sec4-top {
  width: 100vw;
  background-color: #daf1fb;
  margin-left: calc(-50vw + 50%);
  height: 100%;
  position: relative;
  padding: 6rem 0 6rem 0;
}

.sec5-top {
  background-color: #fff;
  position: relative;
  overflow: hidden;
  padding: 6rem 0 6rem 0;
}

.sec6-top {
  width: 100vw;
  height: auto;
  margin-left: calc(-50vw + 50%);
  position: relative;
  background-color: #fff;
  position: relative;
  overflow: hidden;
  margin-bottom: -1px;
}

.sec7-top {
  width: 100vw;
  height: auto;
  margin-left: calc(-50vw + 50%);
  position: relative;
  background-color: #fff;
  position: relative;
}

.sec8-top {
  width: 100vw;
  height: auto;
  margin-left: calc(-50vw + 50%);

  position: relative;
  pointer-events: none;
  background-color: #fff;
  margin-bottom: 6rem;
}

.sec9 {
  background-color: #fff;
  position: relative;
  overflow: hidden;
  margin-bottom: 6rem;
}

.pa-bottom {
  padding-bottom: 2rem;
}

.title-c {
  display: contents;
}

.entry-card-snippet,
.related-entry-card-snippet {
  font-size: var(--cocoon-text-size-s);
  line-height: 1.3;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  margin-bottom: 1rem;
}

/************************************
** padding 2rem
************************************/
.padding-left-2rem {
  padding-left: 2rem;
}

.padding-right-2rem {
  padding-right: 2rem;
}

.padding-top-2rem {
  padding-top: 2rem;
}

.padding-bottom-2rem {
  padding-bottom: 2rem;
}

.padding-top-4rem {
  padding-top: 4rem;
}

.padding-bottom-4rem {
  padding-bottom: 4rem;
}

/************************************
**New_list
************************************/
.new-entry-card-date {
  display: block;
}

.info-list {
  padding: 0px;
}

.sec3 .lead {
  font-size: 2rem;
}

.sec4 .flex {
  margin-top: 80px;
}

.flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  margin-top: 60px;
}

.flex .flex__box {
  width: 50%;
}

.sec4 .caption {
  max-width: 440px;
  width: 90%;
  margin: auto;
  padding: 6%;
  border-top: 2px solid #00a0e9;
  background-color: #fff;
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 2;
  margin-bottom: 10px;
}

.sec4 .flex__box:last-child {
  padding: 5%;
}

.sec4 .img {
  margin: 0 0 -60px;
}

.article .sec4 .img {
  margin: 0 0 -20px;
}

.sec4 h4 {
  border-bottom: 2px solid #00a0e9;
  font-size: 20px;
  font-weight: normal;
  margin: 0;
}

.sec4 dl {
  border-bottom: 1px solid #acacac;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  margin: 15px 0 0;
}

.article dd {
  margin-left: 1rem;
}

.sec4 .title2 {
  color: #00a0e9;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}

.sec5 .card .caption .title2 {
  border-bottom: 1px solid #fff;
  font-size: 2rem;
  font-weight: bold;
  border-left: 7px solid #fff;
  padding-left: 2rem;
  color: #fff;
  webkit-text-stroke: 1px #fff;
  -webkit-text-stroke: 1px #fff;
}

.sec5 .caption .copy2 {
  padding: 0px;
  padding-top: 10px;
  line-height: 2;
  margin: 0;
  min-height: 120px;
  color: #fff;
  webkit-text-stroke: 1px #fff;
  -webkit-text-stroke: 1px #fff;
  list-style: decimal-leading-zero;
  margin-left: 5rem;
}

.sec6 .img {
  max-width: 330px;
  margin: auto;
}

.sec6 .card .card__box2:before {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  background: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1.4) 100%);
}

.sec6 .card .caption .title2 {
  border-bottom: 1px solid #fff;
  font-size: 2rem;
  font-weight: bold;
  border-left: 7px solid #fff;
  padding-left: 1rem;
  color: #fff;
  webkit-text-stroke: 1px #fff;
  -webkit-text-stroke: 1px #fff;
}

.sec6 .caption .copy2 {
  padding: 30px;
  padding-top: 20px;
  line-height: 2;
  margin: 0;
  min-height: 120px;
  color: #fff;
  webkit-text-stroke: 1px #fff;
  -webkit-text-stroke: 1px #fff;
}

.info-list-item-meta {
  font-size: 16px;
  opacity: 0.6;
  line-height: 20px;
  display: flex;
  align-items: center;
}

/************************************
**新着情報 タイトル
************************************/

.info-list-item-content {
  text-decoration: underline;
  /*font-style: italic;*/
  font-weight: bold;
}

/************************************
**プライバシーポリシー
************************************/
.main-p {
  margin: 0;
  width: 100%;
  height: 100%;
  display: flex;
}

.main-p .privacy h1 {
  text-align: center;
  padding-bottom: 3rem;
}

.main-p .privacy .contact h2 {
  margin: 25px 0 25px 0px;
  border-left: 5px solid #00a0e9;
  padding-left: 15px;
}

.main-p .privacy .enactment {
  text-align: right;
  padding: 3rem 0px 3rem 0px;
}

.main-p .privacy ol,
ul {
  padding-left: 2rem;
  list-style-type: disc;
  box-sizing: border-box;
}

.main-p .privacy-f {
  width: 100%;
}

.main-p .privacy-li-f {
  width: 100%;
}

/************************************
**カテゴリーラベルを非表示
************************************/

.cat-label {
  display: none;
}

/************************************
**お問い合わせフォーム
************************************/
.error:before {
  content: "必須";
  padding: 3px;
  font-weight: bold;
  background: orangered;
  color: #fff;
  border-radius: 2px;
  margin-right: 3px;
  position: relative;
  bottom: 1px;
}

hr {
  border: 0;
}

hr {
  border-top: 3px solid #fff;
}

.button {
  color: #000;
}

.item-box {
  flex: 1;
  margin-right: 10px;
  max-width: 100%;
  width: calc(50% - 20px);
  box-sizing: border-box;
}

.item-box2 {
  flex: 1;
  margin-left: 10px;
  max-width: 100%;
  width: calc(50% - 20px);
  box-sizing: border-box;
}

.item-box:first-child {
  margin-left: 0;
}

ol,
ul {
  padding-left: 0px;
}

/************************************
**確認・送信ボタン
************************************/
.haveto-height-p{
  height: fit-content !important;
}

.haveto {
  font-weight: 700;
  background: #ff4500;
  color: #fff;
  position: relative;
  width: 48px;
  /*height: -webkit-fill-available;*/
  height: 2.4rem;
  display: flex;
  justify-content: center;
  font: font-size;
  font-size: small;
  display: flex;
  align-items: center;
  border-radius: 30px;
}

.pre-submit {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  align-items: center;
  justify-content: center;
}

input[type="button"] {
  -webkit-appearance: none;
  border: 1px solid var(--cocoon-thin-color);
  background-color: #f5f8fa;
  color: #333;
  padding: 1rem 6rem;
  /* width: 200px; */
  margin: 0;
  cursor: pointer;
  font-size: 2rem;
}

input[type=submit] {
  -webkit-appearance: none;
  border: 1px solid #ff4500;
  background-color: #ff4500;
  color: #fff;
  font-size: 2rem;
}

input[type="submit"], #bbp_reply_submit, .bp-login-widget-register-link a {
  padding: 1rem 6rem;
  width: 100%;
  margin: 0;
  cursor: pointer;
}

.wpcf7-spinner {
  visibility: hidden;
  display: inline-block;
  background-color: #23282d;
  opacity: 0.75;
  border: none;
  border-radius: 100%;
  padding: 0;
  margin: 0;
  position: relative;
}

.wpcf7-form-title {
  display: none !important;
}

.contact-01 {
  top: -44px !important;
}

.contact {
  background-color: #000;
  position: relative;
  overflow: hidden;
}

.contact-fr {
  display: flex;
  flex-direction: column;
}

.contact-complete {
  padding: 1rem;
  text-align: center;
}

.contact-complete-p {
  padding: 2rem;
}

.contact-p-flex {
  display: flex;
  gap: 1.4rem;
  flex-direction: column;
  margin: 0 auto;
  width: 100%;
}

.contact-requires-flex {
  display: flex;
  gap: 1.4rem;
  flex-direction: row;
  align-items: center;
}

.text5 {
  font-size: 18px;
}

.from_name {
  display: flex;
  flex-wrap: wrap;
}

/************************************
**TOP リンクボタン
************************************/
.link-btn {
  background-color: #00a0e9;
  border: 10px solid #00a0e9;
  text-decoration: none;
  color: #fff;
}

.link-btn-s {
  padding: 2rem 6rem 2rem 6rem;
}

/************************************
** 固定ページのタイトルを非表示
************************************/
.home.page .entry-title {
  display: none;
}

/************************************
**「固定ページ」と「記事ページ」のタイトルを「中央寄せ」
************************************/
.entry-title {
  text-align: center;
  margin-top: 3rem;
  margin-bottom: 3rem;
}

/************************************
** 見出し投稿
************************************/
.article-padding {
  padding-left: 1rem;
}

/************************************
** 左画像＋テキスト
************************************/
.box-speaker {
  margin: 15px 0 15px 15px;
}

.speaker-photo {
  float: left;
  margin-right: 15px;
}

#main p.speaker-name {
  padding: 0;
  margin: 0 0 0 10px;
}

/************************************
**シェアボタン/フォローボタンカスタマイズ
************************************/
#main .button-caption {
  display: none;
}

.sns-share-message {
  font-weight: bold;
  color: #875d5b;
}

.sns-share-buttons {
  flex-wrap: nowrap;
  justify-content: center;
}

.sns-share-buttons a {
  border-radius: 50%;
  font-size: 20px;
  margin: 0 10px;
}

#main .sns-share a {
  width: 40px;
  height: 40px;
}

.sns-follow-message {
  font-weight: bold;
  color: #875d5b;
  padding-top: 1.2rem;
}

.sns-follow-buttons {
  justify-content: center;
}

.sns-follow-buttons a {
  border-radius: 50%;
  font-size: 20px;
  margin: 0 10px;
}

#main .sns-follow a {
  width: 40px;
  height: 40px;
}

/************************************
** トップページカスマイズ
************************************/
.navi-footer-in>.menu-footer {
  padding: 0 0rem 1rem 0rem;
  margin-bottom: 0.5rem;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  text-align: center;
}

.home .article-header,
.home .article-footer {
  display: none;
}

div.footer-title,
.related-entry-heading,
.comment-title {
  color: var(--main-color);
  margin-bottom: 2rem;
  padding: 0;
  font-weight: normal;
  line-height: 1.3;
  text-align: center;
  letter-spacing: 0.2rem;
}

.toppage {
  padding: 3rem 0;
}

h2.title {
  margin: 2rem 0 4rem 0;
  padding: 0;
  text-align: center;
  letter-spacing: 1px;
  line-height: 1.8;
  font-weight: 700;
}

h2.title:after {
  display: block;
}

h2.spec:after {
  content: "spec";
}

h2.contact:after {
  content: "contact";
}

h2.case:after {
  content: "case-study";
}

h2.column:after {
  content: "column";
}

h2.movie:after {
  content: "movie";
}

h2.news:after {
  content: "Information";
}

h2.developer:after {
  content: "Interview";
}

h2.flow:after {
  content: "Flow";
}

h2.faq:after {
  content: "FAQ";
}

h2.contact:after {
  content: "CONTACT";
}

h2.plan:after {
  content: "PLAN・OPTION";
}

/**************************
 plan
***************************/
.flex-plan-checkbox {
  display: flex;
  flex-direction: row;
  align-items: center;
}

h3.plan-rental-title {
  font-weight: 700;
  margin-bottom: 0 !important;
}

.plan-plus {
  font-size: 4.4rem;
  font-weight: 700;
}

.plan-lead {
  padding: 0 2rem;
}

.flex-plan {
  display: flex;
  flex-direction: row;
  width: 100%;
  gap: 2rem;
  align-items: baseline;
}

/**************************
 ifame
***************************/
.framewrap {
  width: 100%;
  padding-top: 56.25%;
  position: relative;
  overflow: hidden;
  top: 20px;
}

/**************************
 操作
***************************/
h1.title {
  padding: 0;
  letter-spacing: 1px;
  line-height: 1.8;
  color: #fff;
  font-weight: 700;
  display: flex;
  flex-direction: column;
  align-content: center;
  align-items: center;
}

h1.title2 {
  padding: 0;
  text-align: left;
  letter-spacing: 1px;
  line-height: 1.8;
  color: #fff;
  font-weight: 700;
}

h1.title:after {
  display: block;
  line-height: 1em;
}

h1.spec:after {
  content: "spec";
}

h1.contact-h1:after {
  content: "contact";
}

h1.case:after {
  content: "case";
}

h1.column:after {
  content: "column";
}

h1.event:after {
  content: "event";
}

h1.movie:after {
  content: "movie";
}

h1.flow:after {
  content: "flow";
}

h1.news:after {
  content: "Information";
}

h1.faq:after {
  content: "faq";
}

h1.contact:after {
  content: "contact";
}

h1.developer:after {
  content: "interview";
}

h1.plan:after {
  content: "plan・option";
}

h1.rxconso:after {
  content: "about";
}

/**************************
 footer
***************************/
.copyright-f {
  margin-top: 20px;
}

ul {
  padding: 0;
  list-style: none;
  text-align: left;
}

#footer a {
  color: #fff;
  text-decoration: none;
}

#footer a:hover {
  color: #00a0e9;
}

#footer .icons a {
  color: #fff;
  text-decoration: none;
}

#footer .icons a:hover {
  color: #00a0e9;
}

#navi .navi-in a {
  color: #fff;
  text-decoration: none;
}

#navi .navi-in a:hover {
  color: #00a0e9;
}

.padding-right-contact {
  padding-right: 6px;
}

hr {
  height: 1px;
  border: 0;
  border-top: 1px solid #e5e7eb;
}

.footer-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
  margin-right: 2rem;
}

.icons {
  margin-top: 10px;
}

.footer-text-color {
  color: #fff;
}

.footer {
  margin-top: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  align-content: center;
  background-color: #210b00;
}

.footer-bottom {
  margin-top: 0;
  position: relative;
  font-size: 14px;
}

.footer-contact-bottom {
  margin-bottom: 8rem;
  display: flex;
  justify-content: center;
}

.footer-frame-gap {
  display: flex;
  flex-direction: row;
  gap: 7rem;
}

.footer__navi-heading {
  font-weight: 600;
  text-align: left;
  color: #00a0e9;
}

.footer__logo {
  display: inline-block;
}

.logo-address {
  text-align: left;
  margin-left: 2rem;
}

.footer__navi li {
  margin-bottom: 0.75rem;
}

.footer__social a {
  display: inline-block;
  width: 24px;
  opacity: 0.7;
}

.footer__social a:not(:last-child) {
  margin-right: 16px;
}

/**************************
 操作
***************************/
.flex {
  margin: 0;
  justify-content: space-between;
}

.flex__box {
  width: 48%;
}

.flex .flex__box {
  width: 49%;
}

.video {
  position: relative;
  width: 100%;
  max-width: 900px;
  height: 0;
  padding-bottom: 50%;
  margin: 2.4em auto;
}

.video-case {
  position: relative;
  width: 100%;
  max-width: 900px;
  height: 0;
  padding-bottom: 43%;
  margin: 2.4em auto;
}

.video-press {
  position: relative;
  width: 100%;
  max-width: 900px;
  height: 0;
  padding-bottom: 50%;
  margin: 2.4em auto;
}

.movie-contents {
  position: relative;
  margin-bottom: 4rem;
}

.movie-h {
  height: auto;
}

/*************************************/
/* ペイロード　見出し*/
/*************************************/
.button-pay a {
  position: relative;
  padding: 2rem 2rem 2rem 5rem;
  color: #313131;
  transition: 0.3s ease-in-out;
  font-weight: 500;
  text-decoration: none;
  padding-right: 1rem;
}

.button-pay a:before,
.button-pay a:after {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
}

.button-pay a:before {
  width: 1rem;
  height: 1rem;
  left: 1.2rem;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  z-index: 2;
  transform: translateY(-50%) rotate(45deg);
  transition: all 0.3s;
}

.button-pay a:after {
  left: 0;
  background: #00a0e9;
  z-index: 1;
  width: 4rem;
  height: 4rem;
  border-radius: 5rem;
  transform: translateY(-50%);
  transition: all 0.5s;
}

.button-pay a span {
  position: relative;
  transition: all 0.3s;
  z-index: 3;
}

.button-pay a:hover span {
  color: #fff;
}

.button-pay a:hover:before {
  left: 2rem;
}

.button-pay a:hover:after {
  right: 0;
  width: 100%;
}

.midashi_number {
  position: relative;
  padding: 1.5rem 0rem 0rem 0px;
  border-bottom: 3px solid #00a0e9;
  margin-bottom: 2rem;
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: flex-start;
  justify-content: flex-end;
  align-items: center;
}

.midashi_number span {
  position: absolute;
  padding-bottom: 2.8rem;
  left: 0;
  color: #00a0e9;
  font-size: 5rem;
}

/*************************************/
/* もっと見る
/*************************************/
.button-read-flex {
  display: flex;
  justify-content: center;
}

.button-read a {
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  max-width: 225px;
  padding: 2rem 2rem 2rem 2rem;
  color: #313131;
  transition: 0.3s ease-in-out;
  font-weight: 500;
  text-decoration: none;
}

.button-read a:before,
.button-read a:after {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
}

.button-read a:before {
  width: 2rem;
  height: 2rem;
  left: 1.5rem;
  border-top: solid 4px #fff;
  border-right: solid 4px #fff;
  z-index: 2;
  transform: translateY(-50%) rotate(45deg);
  transition: all 0.3s;
}

.button-read a:after {
  left: 0;
  background: #00a0e9;
  z-index: 1;
  width: 6rem;
  height: 6rem;
  transform: translateY(-50%);
  transition: all 0.5s;
}

.button-read a span {
  position: relative;
  transition: all 0.3s;
  z-index: 3;
  margin-left: 5rem;
  margin-right: 2rem;
}

.button-read a:hover span {
  color: #fff;
}

.button-read a:hover:before {
  left: 2rem;
}

.button-read a:hover:after {
  right: 0;
  width: 100%;
}

.img-frame {
  width: 42%;
  height: 800px;
  margin-right: 5rem;
}

.payload-frame-flex {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
}

/*************************************/
/* ペイロード　見出し
/*************************************/
.midashi-payload {
  position: relative;
  padding: 1rem;
  border-bottom: 3px solid #000;
  border-left: 3px solid #000;
  border-radius: 0 0 0 20px;
  margin-bottom: 2rem;
}

.midashi-payload:before {
  position: absolute;
  right: 50px;
  bottom: -21px;
  width: 0;
  height: 0;
  content: "";
  border-width: 21px 21px 0 0;
  border-style: solid;
  border-color: #000 transparent transparent transparent;
}

.midashi-payload:after {
  position: absolute;
  right: 54px;
  bottom: -14px;
  width: 0;
  height: 0;
  content: "";
  border-width: 14px 14px 0 0;
  border-style: solid;
  border-color: #fff transparent transparent transparent;
}

.midashi-payload-sub {
  position: relative;
  padding-left: 5em;
}

.midashi-payload-sub span {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0 1.5rem;
  color: #fff;
  border-radius: 10px;
  background: #0075a9;
}

.midashi-payload-sub span i {
  margin-right: 1rem;
}

.midashi-payload-sub span:after {
  position: absolute;
  top: calc(50% - 7px);
  right: -11px;
  width: 0;
  height: 0;
  content: "";
  border-width: 7px 0 7px 12px;
  border-style: solid;
  border-color: transparent transparent transparent #0075a9;
}

.midashi-payload-sub2 {
  position: relative;
  padding: 1.5rem;
  text-align: center;
  border: 2px solid #000;
  background: #fff;
}

.midashi-payload-sub2:before,
.midashi-payload-sub2:after {
  position: absolute;
  content: "";
}

.midashi-payload-sub2:before {
  top: -40px;
  left: calc(50% - 40px);
  width: 80px;
  height: 80px;
  border: 2px solid #000;
  border-radius: 50%;
  background: #fff;
}

.midashi-payload-sub2:after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
}

.midashi-payload-sub2 i {
  line-height: 60px;
  position: absolute;
  z-index: 1;
  top: -40px;
  left: calc(50% - 40px);
  width: 80px;
  height: 60px;
  text-align: center;
}

.midashi-payload-sub2 span {
  position: relative;
  z-index: 1;
}

.midashi-payload-sub3 {
  position: relative;
  padding: 0 65px;
  text-align: center;
}

.midashi-payload-sub3:before {
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 3px;
  content: "";
  background: #000;
}

.midashi-payload-sub3 span {
  position: relative;
  padding: 0 1em;
  background: #fff;
}

/*************************************/
/* 見出し　ポイント*/
/*************************************/
.midashi-point {
  position: relative;
  padding: 1rem 2rem;
  border: 3px solid #00a0e9;
}

.midashi-point:before {
  position: absolute;
  top: -30px;
  left: -3px;
  height: 28px;
  padding: 0 1em;
  content: "POINT";
  color: #fff;
  background: #00a0e9;
}

/*************************************/
/* スライド
/*************************************/

.bg {
  background: linear-gradient(#4174b4 0%, #00a0e9 100%);
}

.article h2 {
  border-radius: var(--cocoon-badge-border-radius);
  background-color: #fff;
  padding: 25px 0px 0px 0px;
  font-style: normal;
}

.article .article-midashi-b {}

.video-container,
.instagram-container,
.facebook-container {
  max-width: none;
  margin: 30px 0;
}

.search-menu-button.menu-button,
.navi-menu-button.menu-button {
  color: #fff;
}

.search-menu-button.menu-button,
.navi-menu-button.menu-button {
  height: 65px;
  padding-top: 12px;
}

.mobile-menu-buttons {
  background: #00a0e9;
  color: white;
}

.mobile-menu-buttons .menu-button>a {
  color: white;
}

.fixed-header .site-logo-image {
  width: 215px;
  height: auto;
}

/*************************************/
/* アピールエリア
/*************************************/
.appeal-in {
  height: 100vh;
  width: fit-content;
  flex-direction: row-reverse;
  min-width: 65%;
  color: #000;
  text-shadow: 3px 3px 3px #fff, -3px -3px 3px #fff, -3px 3px 3px #fff,
    3px -3px 3px #fff, 3px 0px 3px #fff, -3px 0px 3px #fff, 0px 3px 3px #fff,
    0px -3px 3px #fff;
}

.main {
  padding: 0px;
  border: 1px solid transparent;
  border-radius: var(--cocoon-basic-border-radius);
  position: relative;
  z-index: 0;
}

.appeal-content {
  width: 100%;
  margin: 0px;
  padding: 6em 1em;
  background-color: transparent;
}


.appeal-title {
  padding-bottom: 1em;
  font-weight: normal;
}

.appeal-message {}

.appeal-button {
  background-color: transparent !important;
  font-weight: normal;
  color: #000;
  text-shadow: 3px 3px 3px #fff, -3px -3px 3px #fff, -3px 3px 3px #fff,
    3px -3px 3px #fff, 3px 0px 3px #fff, -3px 0px 3px #fff, 0px 3px 3px #fff,
    0px -3px 3px #fff;
}

.header-container-in.hlt-top-menu .wrap {
  width: 100%;
}

/*************************************/
/*オリジナルアピールエリア
/*************************************/

.appeal-o {
  background-image: url(/images/top/top.webp);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.appeal-in-o {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.appeal-in-r {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}

.appeal-content-o {
  width: 100%;
  margin: 0px;
  background-color: transparent;
  text-align: center;
  line-height: normal;
}

.appeal-title-o {
  padding-bottom: 0.3rem;
  font-weight: normal;
  display: flex;
  justify-content: flex-end;
}

.appeal-message-o {
  font-size: 48px;
}

.appeal-button-o {
  background-color: transparent !important;
  font-weight: normal;
  color: #000;
  text-shadow: 3px 3px 3px #fff, -3px -3px 3px #fff, -3px 3px 3px #fff,
    3px -3px 3px #fff, 3px 0px 3px #fff, -3px 0px 3px #fff, 0px 3px 3px #fff,
    0px -3px 3px #fff;
  text-decoration: none;
  background-color: #00a0e9;
  font-weight: bold;
  text-align: center;
  display: inline-block;
  padding: 9px 42px;
  margin: 0 8px;
  font-size: 32px;
}

.contact-frame {
  background: #e87e00;
  padding-left: 1rem;
  padding-right: 1rem;
  color: #ffffff;
}

.contact-frame:hover {
  background-color: #d9a600;
  color: #000;
}

.wrap2 {
  width: 100vw;
  position: relative;
  box-sizing: border-box;
  left: 50%;
  transform: translateX(-50%);
  margin-top: -20px;
}

.wrap3 {
  width: 100%;
  height: 600px;
  margin: 0 auto;
}

.wrap-top-contents {
  width: 100%;
  margin: 0 auto;
}



html {
  scroll-behavior: smooth;
}

.eye-catch {
  position: relative;
  margin-bottom: 4rem;
  max-width: 100%;
  padding: 0 4rem;
}

.eye-catch-wrap {
  display: flex;
  justify-content: center;
}

.article-share {
  display: flex;
  gap: 1rem;
  text-decoration: none;
  word-break: break-all;
}

/************************************
**特徴
************************************/

.border-none {
  border: none !important;
}

.border-feature-color {
  border-top: 2px solid #00a0e9;
  border-right: 2px solid #00a0e9;
  border-left: 2px solid #00a0e9;
}

.features-img-border {
  border-top: 2px solid #00a0e9;
  border-right: 2px solid #00a0e9;
  border-left: 2px solid #00a0e9;
}

.features-midashi {
  position: relative;
  overflow: hidden;
  padding: 1.5rem 2rem 1.5rem 130px;
  color: #00a0e9;
  border: 2px solid #00a0e9;
  background-color: #fff;
  font-size: 2rem;
  font-weight: 600;
}

.features-midashi:before {
  position: absolute;
  top: -150%;
  left: -100px;
  width: 200px;
  height: 300%;
  content: "";
  -webkit-transform: rotate(25deg);
  transform: rotate(25deg);
  background: #00a0e9;
}

.case-flex-jus-center {
  display: flex;
  justify-content: center;
  /*padding: 16px 16px;*/
  flex-direction: column;
  align-items: center;
}

.flex-contact-oshirase {
  display: flex;
  gap: 2rem;
  padding-bottom: 2rem;
}

.midashi-lead {
  font-size: 2rem;
  font-weight: normal;
  width: 100%;
  line-height: 1.5;
  text-align: center;
}

.features-midashi span {
  font-size: 40px;
  font-size: 4rem;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: block;
  padding-top: 3px;
  padding-left: 16px;
  color: #fff;
}

.features-midashi h3 {
  font-size: 2rem;
  font-weight: 700;
}

/************************************
**swiper
************************************/

.swiper-slide img {
  height: auto;
  width: 100%;
}

/************************************
**フォローをつけたくない お問い合わせフォーム委
************************************/
.post-65.date-tags,
.post-65 .author-info,
.post-65 .eye-catch,
.post-65 .sns-follow,
.post-65 .sns-share {
  display: none;
}

.post-68 .date-tags,
.post-68 .author-info,
.post-68 .eye-catch,
.post-68 .sns-follow,
.post-68 .sns-share {
  display: none;
}

.post-72 .date-tags,
.post-72 .author-info,
.post-72 .eye-catch,
.post-72 .sns-follow,
.post-72 .sns-share {
  display: none;
}

.post-142 .date-tags,
.post-142 .author-info,
.post-142 .eye-catch,
.post-142 .sns-follow,
.post-142 .sns-share {
  display: none;
}

/************************************
**モバイルスライドインメニュー
************************************/
.menu-content {
  overflow: auto;
  position: fixed;
  top: 0;
  z-index: 9999;
  width: 80%;
  max-width: 400px;
  height: 100%;
  background: #00a0e9;
  transition: 0.3s ease-in-out;
  opacity: 1;
  overflow: scroll;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 6rem;
}

.menu-close-button {
  display: block;
  cursor: pointer;
  text-align: right;
}

.menu-drawer li {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0.5rem;
}

.menu-close-button {
  display: block;
  cursor: pointer;
  padding-top: 2rem;
  padding-right: 1rem;
}

.fa-times {
  color: #fff;
  font-size: 0.8em;
  padding: 6px 12px;
  border: 1px solid var(--cocoon-basic-border-color);
  border-radius: var(--cocoon-basic-border-radius);
  font-size: inherit;
}

ul.menu-drawer:before {
  background-color: #000057;
  font-size: 1.2em;
}

ul.menu-drawer:after {
  background-color: #fff;
}

.menu-drawer a {
  color: #fff !important;
  font-size: 1.2em;
  font-weight: 600;
}

.menu-drawer a:hover {
  background-color: #4cbdca;
}

.menu-drawer a .fas,
.menu-drawer a .far,
.menu-drawer a .fa,
.menu-drawer a .fab {
  margin-right: 3px;
}

#navi-menu-close,
#sidebar-menu-close,
#search-menu-close,
#share-menu-close,
#follow-menu-close {
  display: none;
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #00a0e9;
  transition: 0.3s ease-in-out;
}


.sub-menu li {
  font-size: 0.8em;
}

/*************************************/
/* アピールエリア
/*************************************/
.card {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
}

.sec5 .copy {
  font-size: 2rem;
  padding-right: 5%;
}

.sec6 .copy {
  font-size: 2rem;
  padding-right: 5%;
}

.sec5 .card .card__box:before {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  background: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1.4) 100%);
}

*,
::before,
::after {
  box-sizing: border-box;
}

.card .caption {
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 30px;
  color: #fff;
}

.card .caption .title {
  font-size: 16px;
  margin: 0;
}

.card .card__box {
  width: 50%;
  position: relative;
}

.card .card__box2 {
  width: 50%;
  position: relative;
  transform: translate(0px, 0px);
  opacity: 1;
  visibility: inherit;
}

.card .caption ul {
  padding-left: 0;
}

.card .caption li {
  font-size: 2rem;
  margin-left: 20px;
  padding-top: 0px;
}

/**************************
 動画
***************************/
.flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
}

/ *,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;
}

.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

a.btn-border {
  border: 2px solid #00a0e9;
  border-radius: 0;
  background: #fff;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

a.btn-border:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 15px;
  height: 100%;
  content: "";
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: translateX(0) translateY(0);
  transform: translateX(0) translateY(0);
  border-radius: 0 50% 50% 0;
  background: #00a0e9;
}

a.btn-border-shadow {
  padding: calc(1.5rem - 12px) 3rem 1.5rem;

  background: #fff;
}

a.btn-border-shadow:before {
  position: absolute;
  top: -6px;
  left: -6px;
  width: 100%;
  height: 100%;
  content: "";
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border: 3px solid #000;
  border-radius: 0.5rem;
}

.widget-entry-cards.large-thumb {
  display: flex;
  flex-wrap: wrap;
}

.new-entry-cards.large-thumb a {
  width: calc(100% / 2);
}

.cate .new-entry-cards.large-thumb a,
.popular-entry-cards.large-thumb a {
  width: calc(100% / 3);
}

/**************************
事例
***************************/
.parallax-bg-frame {
  box-sizing: border-box;
  color: #fff;
  font-size: 2rem;
  display: flex;
  height: 100%;
  padding: 10%;
  flex-direction: column;
  align-items: center;
}

.parallax-bg {
  background-image: url("/images/top/p3_4_dark.webp");
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.parallax-content {
  position: relative;
  z-index: 1;
  color: white;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.parallax-content-p {
  color: white;
  text-shadow: 2px 2px 4px #000000;
  width: 100%;
  padding-bottom: 4rem;
}

.parallax-content-fr {
  width: 200px;
  background-color: #e87e00;
  text-shadow: #fff;
  color: #fff;
  text-shadow: none;
  display: flex;
  justify-content: center;
  padding: 1rem;
  flex-direction: row;
  text-decoration: none;
}

.scrollbox {
  background-color: #111;
}

.title-midashi-frame {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 4rem;
  padding-bottom: 2rem;
}

.title-font {
  font-size: 32px;
}

.title-font-child {
  font-size: 18px;
}

.flex-jus-center {
  display: flex;
  justify-content: center;
}

.flex-dir-info {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.flex-dir-info-top {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  align-items: center;
}

.flex-parent {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.flex-parent-features {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2rem;
}

.flex-child {
  width: 24%;
  display: flex;
  flex-direction: column;
  border: 1px solid #ccc;
  box-sizing: border-box;
  border-radius: 16px;
}

.features-flex-child {
  width: 32%;
  display: flex;
  flex-direction: column;
  border: 1px solid #ccc;
  box-sizing: border-box;
}

.flex-grandchild-img {
  width: 100%;
  height: auto;
  position: relative;
}

.flex-grandchild-img::after {
  display: block;
  content: "";
  width: 100%;
  height: 0;
  padding-top: 64%;
}

.flex-grandchild-img-features {
  width: 100%;
  height: auto;
  position: relative;
}

.flex-grandchild-img-features::after {
  display: block;
  content: "";
  width: 100%;
  height: 0;
  padding-top: 64%;
}

.flex-grandchild-img img {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 16px 16px 0 0;
}

.flex-grandchild-img-features img {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 0 0;
}

.flex-grandchild-inner {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  width: 100%;
  padding-bottom: 3rem;
  background-color: #fff;
  border-radius: 0px 0px 16px 16px;
}

.flex-grandchild-inner h3 {
  display: flex;
  min-height: 56px;
  color: #00a0e9;
  font-size: 2rem;
  line-height: 1.6;
  box-sizing: border-box;
  border-bottom: 1px solid #ccc;
  justify-content: center;
  align-items: center;
}

.flex-grandchild-inner h3 img {
  display: block;
  width: 12.5%;
  height: auto;
  margin-right: 8px;
  margin-left: 8px;
}

.flex-grandchild-innerText {
  flex-grow: 1;
  box-sizing: border-box;
  padding: 1rem;
}

.flex-grandchild-innerLink {
  width: 100%;
  height: auto;
}

.flex-grandchild-innerLink a {
  width: 80%;
  height: 48px;
  margin: 10px auto 20px auto;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  background: #e87e00;
  border-radius: 8px;
}

.flex-grandchild-innerLink a:hover {
  background: #00a0e9;
}

/**************************
グローバルナビ
***************************/
.header-container,
.main,
.sidebar,
.footer {}

header {
  height: 100%;
}

.header-container-in.hlt-top-menu .logo-header img {
  max-height: 32px;
  height: auto;
  vertical-align: middle;
}

#header-container,
#header-container .navi,
#navi .navi-in>.menu-header .sub-menu {
  background-color: #00a0e9;
  padding-bottom: 0.5rem;
}

#header-container {
  position: sticky !important;
  top: 0;
  z-index: 1;
}

.header-container-in.hlt-top-menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-content: center;
  width: auto;
  margin: 0 2rem;
}

.flex-phone {
  display: flex;
  gap: 1rem;
}

.flex-function {
  display: flex;
  gap: 1rem;
  margin: 2rem 0 2rem 2rem;
}

.flex-navi {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
}

.navi-line-height {
  line-height: 1.5;
}

.logo-image {
  font-size: inherit;
  padding-bottom: 1rem;
}

.navi-in>ul {
  padding: 0.3rem;
  margin: 0;
  list-style: none;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  text-align: center;
  align-content: center;
  align-items: flex-end;
  flex-direction: row;
}

.navi-in>ul li {
  display: block;
  width: auto;
  height: auto;
  line-height: 4rem;
  position: relative;
  padding-left: 2rem;
}

.p-contact {
  list-style: none;
  padding-bottom: 2rem;
}

.header-search {}

.search-box {
  margin: 0;
}

input[type="text"],
input[type="password"],
input[type="date"],
input[type="datetime"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="time"],
input[type="url"],
textarea,
select,
.search-edit {
  padding: 11px;
  border: 1px solid var(--cocoon-basic-border-color);
  border-radius: var(--cocoon-basic-border-radius);
  font-size: inherit;
  width: 100%;
}

.search-submit {
  position: absolute;
  right: 0.5rem;
  top: calc(50% - 12px);
  font-size: 1.6rem;
  cursor: pointer;
  border: none;
  color: var(--cocoon-thin-color);
  padding: 5px 12px;
  background-color: rgba(255, 255, 255, 0);
}

/**************************
活用事例
***************************/

.wp-block-embed figcaption {
  font-size: initial;
}

.article h3 {
  font-size: 2.4rem;
  border-left: none;
  border-right: none;
  border-top: none;
  border-bottom: none;
}

.case-slider__img {
  margin: 0;
  padding-left: 20%;
  padding-bottom: 80px;
}

.copy {
  font-size: 2rem;
}

.number {
  font-size: 120px;
  line-height: 1;
}

.case-slider__item {
  position: relative;
}

.content {
  margin-top: 0px;
}

/**************************
動画
***************************/
.fluid-box {
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  background-color: #dbedf3;
  box-sizing: border-box;
}

.lead {
  text-align: center;
}

.info-list-caption {
  display: none;
}

.fluid-box-inner {
  max-width: 1250px;
  margin: 0 auto;
  padding: 25px;
  box-sizing: border-box;
  margin-top: 4rem;
}

.fluid-box-inner-news {
  max-width: 1250px;
  margin: 0 auto;
  box-sizing: border-box;
}

/**************************
  タブ切り替え
 ***************************/
.tab-wrap {
  display: flex;
  flex-wrap: wrap;
  margin: 5px 0;
}

.tab-label {
  border: 1px solid #ccc;
  text-align: center;
  padding: 0.5em 0.5em;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  flex: 1;
}

.tab-label:not(:last-of-type) {
  margin-right: 5px;
}

.tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}


.tab-switch:checked+.tab-label {
  color: #fff;
  background-color: #b5b5ae;
  border: 1px solid #b5b5ae;
}

.tab-switch:checked+.tab-label:after {
  content: "";
  position: absolute;
  top: 100%;
  left: calc(50% + 5px);
  margin-left: -15px;
  border: 10px solid transparent;
  border-top: 10px solid #b5b5ae;
  width: 0;
  height: 0;
}

.tab-switch:checked+.tab-label+.tab-content {
  height: auto;
  overflow: auto;
  padding: 20px 0 0 0;
  opacity: 1;
  transition: 0.5s opacity;
}

.tab-switch,
.home .article-header,
.home .article-footer {
  display: none;
}

@keyframes move {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(10px);
  }
}

/**************************
共通カテゴリ
***************************/
.mv-img {
  left: 50%;
  transform: translateX(-50%);
  top: -20px;
  position: relative;
  width: 100vw;
  height: 280px;
  background-size: cover;
}

.mv-img-feature {
  left: 50%;
  transform: translateX(-50%);
  top: -20px;
  position: relative;
  width: 100vw;
  height: 280px;
  background-size: cover;
}

.mv-img-case-url {
  background-image: url(/images/case/case-mv2.webp);
}

.mv-img-column-url {
  background-image: url(/images/column/column-mv2.webp);
}

.mv-img-info-url {
  background-image: url(/images/info/information-mv2.webp);
}

.mv-img-event-url {
  background-image: url(/images/event/event-mv2.webp);
}

.mv-img-movie-url {
  background-image: url(/images/movie/movie-mv2.webp);
}

.mv-img-spec-url {
  background-image: url(/images/spec/spec-mv2.webp);
}

.mv-img-contact-url {
  background-image: url(/images/contact/contact-mv2.webp);
}

.mv-img-faq-url {
  background-image: url(/images/faq/faq-mv2.webp);
}

.mv-img-flow-url {
  background-image: url(/images/flow/flow-mv2.webp);
}

.mv-img-plan-url {
  background-image: url(/images/plan/plan-mv2.webp);
}

.mv-img-developer-url {
  background-image: url(/images/interview/interview-mv2.webp);
}

.mv-img-rxconso-url {
  background-image: url(/images/others/rxconso-mv2.webp);
}

.mv-img-c {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 280px;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}

.mv-img-c2 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 280px;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.mv-frame-pr {
  width: 1200px;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
}

/**************************
 information
***************************/
.fig-info-img {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  align-content: center;
  align-items: flex-start;
  flex-direction: row;
  justify-content: flex-start;
}

.fig-info-img-s {
  width: 38%;
}

.info-tag-left {
  margin-left: 3%;
}

.info-a-wrap {
  text-decoration: none;
  display: block;
  color: var(--cocoon-text-color);
  transition: all 0.3s ease-in-out;
}

.w100-display-inline-block {
  width: 100%;
  display: inline-block;
}

.opacity-1-visibility-inherit {
  opacity: 1;
  visibility: inherit;
}

.transform-translate-opacity-1-visibility-inherit {
  transform: translate(0px, 0px);
  opacity: 1;
  visibility: inherit;
}


/**************************
 color
***************************/
.background-color-base {
  background-color: #dbedf3;
}

.base-color {
  color: #00a0e9;
}

.opacity-01 {
  opacity: 1;
}

.color-black {
  color: #000;
}

/**************************
 margin
***************************/
.margin-1rem {
  margin: 1rem;
}

.margin-2rem {
  margin: 2rem;
}

.margin-top-unset {
  margin-top: unset;
}

.margin-bottom-unset {
  margin-bottom: unset;
}

.margin-top-5rem {
  margin-top: 5rem;
}

.margin-left-5rem {
  margin-left: 5rem;
}

.margin-right-5rem {
  margin-right: 5rem;
}

.margin-bottom-5rem {
  margin-bottom: 5rem;
}

.margin-top-3rem {
  margin-top: 3rem;
}

.margin-top-4rem {
  margin-top: 4rem;
}

.margin-left-4rem {
  margin-left: 4rem;
}

.margin-right-4rem {
  margin-right: 4rem;
}

.margin-bottom-4rem {
  margin-bottom: 4rem;
}

.margin-bottom-8rem {
  margin-bottom: 8rem;
}

.margin-left-3rem {
  margin-left: 3rem;
}

.margin-right-3rem {
  margin-right: 3rem;
}

.margin-bottom-3rem {
  margin-bottom: 3rem;
}

.margin-top-2rem {
  margin-top: 2rem;
}

.margin-left-2rem {
  margin-left: 2rem;
}

.margin-right-2rem {
  margin-right: 2rem;
}

.margin-bottom-2rem {
  margin-bottom: 2rem;
}

.margin-top-1rem {
  margin-top: 1rem;
}

.margin-left-1rem {
  margin-left: 1rem;
}

.margin-right-1rem {
  margin-right: 1rem;
}

.margin-bottom-1rem {
  margin-bottom: 1rem;
}

/**************************
 padding
***************************/
.padding-0 {
  padding: 0;
}

.padding-1rem {
  padding: 1rem;
}

.padding-1-05rem {
  padding: 1.5rem;
}

.padding-1-04-2rem {
  padding: 1.4rem 2rem;
}

.padding-2rem {
  padding: 2rem;
}

.padding-top-8rem {
  padding-top: 8rem;
}

.padding-top-7rem {
  padding-top: 7rem;
}

.padding-top-6rem {
  padding-top: 6rem;
}

.padding-top-5rem {
  padding-top: 5rem;
}

.padding-bottom-5rem {
  padding-bottom: 5rem;
}

.padding-left-4rem {
  padding-left: 4rem;
}

.padding-right-4rem {
  padding-right: 4rem;
}

.padding-top-3rem {
  padding-top: 3rem;
}

.padding-bottom-3rem {
  padding-bottom: 3rem;
}

.padding-top-2rem {
  padding-top: 2rem;
}

.padding-left-2rem {
  padding-left: 2rem;
}

.padding-right-2rem {
  padding-right: 2rem;
}

.padding-bottom-2rem {
  padding-bottom: 2rem;
}

.padding-top-1rem {
  padding-top: 1rem;
}

.padding-left-1rem {
  padding-left: 1rem;
}

.padding-right-1rem {
  padding-right: 1rem;
}

.padding-bottom-1rem {
  padding-bottom: 1rem;
}

/**************************
 事例
***************************/
.a-cate-wrap {
  text-decoration: none;
  display: block;
  color: var(--cocoon-text-color);
  padding: 2%;
  margin-bottom: 3%;
  transition: all 0.3s ease-in-out;
  width: calc(100% / 2);
}

.fig-cate-img {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  align-items: center;
  flex-direction: row;
  justify-content: center;
  width: auto;
}

.fig-cate-img-s {
  width: 100%;
  height: 320px;
}

.cate-tag-left {
  margin-bottom: 2rem;
}

/**************************
 eventページ
***************************/
.wp-block-image img {
  display: block;
  width: -webkit-fill-available;
}

/**************************
 footer
***************************/
.md-flex {
  display: flex;
}

.md-justify-between {
  justify-content: space-between;
}

/************************************
** 2560px 以上
************************************/
@media screen and (min-width: 2560px) {

  .appeal-in-o {}

  .appeal-content-o {
    width: 100%;
    margin: 0px;
    background-color: transparent;
    text-align: center;
    max-width: max-content;
  }

  .appeal-title-o {
    font-size: 8rem;
  }

  .appeal-message-o {
    font-size: 4rem;
  }

  .wrap3 {
    width: 100%;
    height: 800px;
    margin: 0 auto;
  }

  .medal-top {
    max-width: 100%;
  }

  .logo-top {
    width: 100%;
  }
}

/*====================================
** 1440px 以下
====================================*/
@media screen and (max-width: 1440px) {

  /*必要ならばここにコードを書く*/
  .fl-visible-large {
    display: block;
  }

  .fl-node-kql9417gbh3w .fl-photo {
    text-align: center;
  }

  .fl-visible-mobile {
    display: none;
  }

  .appeal-in {
    height: 100vh;
    width: auto;
    flex-direction: row-reverse;
    min-width: 100%;
  }

  .appeal-title {
    font-weight: normal;
    font-size: 4em;
  }

  .appeal-message {
    margin-bottom: auto;
  }

  .appeal-button:before {
    font-size: 4em;
  }

  .appeal-in-o {}

  .appeal-message-o {
    font-size: 4rem;
    margin-bottom: 0px;
  }

  .appeal-title-o {
    font-weight: normal;
    font-size: 10rem;
  }

  .appeal-button-o:before {
    font-size: 2rem;
  }
}

/*====================================
** 1280px 以下
====================================*/
@media screen and (max-width: 1280px) {
  .flex-child {
    width: 48%;
    display: flex;
    flex-direction: column;
    border: 1px solid #ccc;
    box-sizing: border-box;
    border-radius: 16px;
  }

  .flex-child:nth-of-type(n + 3) {
    margin-top: 40px;
  }

  .features-flex-child {
    width: 48%;
    display: flex;
    flex-direction: column;
    border: 1px solid #ccc;
    box-sizing: border-box;
  }

  .features-flex-child:nth-of-type(n + 3) {
    margin-top: 40px;
  }
}

/*====================================
** 1200px 以下
====================================*/
@media screen and (max-width: 1200px) {
  .fl-accordion-button-icon {
    text-decoration: none;
    color: #0f0e17;
    font-size: 20px;
    opacity: 1 !important;
  }

  h1,
  .h1 {
    font-size: 2.5rem;
  }

  h2,
  .h2 {
    font-size: 2rem;
  }

  h3,
  .h3 {
    font-size: 1.75rem;
  }

  h4,
  .h4 {
    font-size: 1.5rem;
  }

  .wrap {
    width: 90%;
  }

  .parallax-bg {
    background-image: url(/images/top/p3_4_dark_sp.webp);
    background-attachment: unset;
  }
}

/*====================================
** 1024px 以下
====================================*/
@media screen and (max-width: 1024px) {
  .tagline {
    display: none;
  }

  .kasaneru6 img.imageback {
    height: 176px;
    width: 326px;
  }

  .kasaneru6 img.imagup {
    top: 39%;
    width: 21%;
  }

  .wrap3 {
    height: 490px;
  }

  .appeal-in-o {
    height: 508px;
  }

  .movie-contents iframe {
    height: 176px;
    width: 100%;
  }

  
  .content {
    margin-top: 1rem !important;
  }


  .sec1-2 p {
    font-size: 2rem;
  }

  .navi-in>ul li {
    padding-left: 1.5rem;
  }

  .fluid-box-inner-news {
    max-width: 100%;
  }

  .mobile-menu-buttons>li {
    padding-top: 2rem;
    font-size: 1em;
  }

  .contact-lead {
    padding: 2rem 10rem 2rem 10rem;
  }

  .appeal-message {
    font-weight: normal;
    font-size: 1.8rem;
  }

  .appeal-button:before {
    font-size: 1.8rem;
  }

  .appeal-title-o {
    font-weight: normal;
    font-size: 8rem;
  }

  .mv-frame-pr {
    width: 93%;
  }

  .appeal-message-o {
    font-size: 3rem;
    margin-bottom: 0px;
  }

  .navi-footer-in>.menu-footer {
    padding: 0 10rem 0 10rem;
  }

}

/*====================================
** 1023px 以下
====================================*/
@media screen and (max-width: 1023px) {
  #navi-footer {
    display: none;
  }

  .mobile-header-menu-buttons {
    top: 0;
    bottom: auto;
    justify-content: space-around;
    min-width: 46px;
    box-shadow: 0 0 5px darkgrey;
  }

  .mobile-menu-buttons {
    display: flex;
    align-items: center;
    padding-bottom: 1rem;
  }

  .logo-menu-button img {
    max-height: 30px;
  }

  .footer {
    display: none !important;
  }

  .appeal-message-o {
    padding: 12rem 10rem 0rem 10rem;
  }

}

/*====================================
** 992px 以下
====================================*/
@media screen and (max-width: 992px) {
  .fl-visible-medium {
    display: block;
  }
}

/*====================================
** 896px 以下
====================================*/
@media screen and (max-width: 896px) {
  .flex-child {
    width: 100%;
    display: flex;
    flex-direction: row;
    border: 1px solid #ccc;
    box-sizing: border-box;
    border-radius: 16px;
  }

  .flex-child:nth-of-type(n + 2) {
    margin-top: 40px;
  }

  .features-flex-child {
    width: 100%;
    display: flex;
    flex-direction: column;
    border: 1px solid #ccc;
    box-sizing: border-box;
    border-radius: 0px;
  }

  .features-flex-child:nth-of-type(n + 2) {
    margin-top: 40px;
  }

  .flex-grandchild-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 16px 0 0 16px;
  }

  .flex-grandchild-img-features img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 0px;
  }

  .flex-grandchild-inner h3 {
    padding: 10px 0;
    font-weight: 700;
  }

}

/*====================================
** 834px 以下
====================================*/
@media screen and (max-width: 834px) {

  .article h2 {
    border-radius: var(--cocoon-badge-border-radius);
    background-color: #fff;
    padding: 0px 0px 0px 0px;
    font-style: normal;
    text-align: center;
    font-size: 2.4rem;
  }

  .col-midashi-dotted {
    font-size: 2rem !important;
  }

  main.main,
  div.sidebar {
    padding: 0px;
    margin: 0;
    border-width: 0;
  }

  .main-p .privacy h2 {
    font-size: 20px;
  }

  .main-p .privacy {
    width: 860px;
    border: 1px solid transparent;
    border-radius: var(--cocoon-basic-border-radius);
    position: relative;
    z-index: 0;
  }

  .article ul,
  .article ol {
    padding-left: 0px;
  }

  .webinar .table ul,
  .webinar .table ol {
    padding-left: 0px;
  }

  .new-entry-cards.large-thumb a {
    width: 100%;
  }

  .cate .new-entry-cards.large-thumb a,
  .popular-entry-cards.large-thumb a {
    width: calc(100% / 2);
  }

    *,
  ::before,
  ::after {
    box-sizing: border-box;
  }

  .tagline {
    display: none !important;
  }

  #header-container, #header-container .navi, #navi .navi-in>.menu-header .sub-menu {
    padding-bottom: 0;
  }

  .medal-top {
    max-width: none;
    width: 100%;
  }

  .sec1-2 {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: auto;
    padding: 0;
  }

  .sec1-2 p {
    width: 100%;
    font-size: 2rem;
  }

  .sec1-3 {
      display: contents;
  }

  .sec3-1 {
    position: relative;
    display: flex;
    flex-direction: column;
    max-width: 100%;
    gap: 2rem;
  }
    
  .sec3-1 h3 {
    width: 95%;
    color: #000;
    background-color: #fff;
    font-size: 4rem;
    padding: 20px 30px;
    display: block;
    border: 1px solid #000;
  }

  .function-width {
    width: 100%;
  }

  .entry-title,
  .archive-title {
    font-size: 26px;
    margin: 16px 0;
    line-height: 1.3;
    margin-top: 6rem;
  }

  .menu-content .menu-drawer {
    padding: 0 1em 10rem;
  }

  .wrap3 {
    height: 600px;
  }

  .appeal-message-o {
    padding: 6rem 10rem 0rem 10rem;
  }

}

/*====================================
** 786px 以下
====================================*/
@media screen and (max-width: 786px) {
  .flex-parent {
    width: 100%;
    margin: 0 auto;
  }

  .flex-child {
    flex-direction: column;
  }

  .features-flex-child {
    flex-direction: column;
  }

  .flex-grandchild-img img {
    border-radius: 16px 16px 0 0;
  }

  .flex-grandchild-img-features img {
    border-radius: 0;
  }

    .appeal-message-o {
        padding: 12rem 10rem 0rem 10rem;
    }

  .sec3-2 li p {
    font-size: 1.8rem !important;
    font-weight: normal;
    /* padding: 0rem 2.4rem 0 0; */
  }

  .mv-img {
    height: 200px;
  }

  .eye-catch {
    padding: 0;
  }

  .col-img-c {
    padding: 2rem 0;
  }

  .col-lead {
    padding: 0;
  }

  .col-lead2 {
    padding: 0;
  }

  .col-spec-lead {
    padding: 4rem 0;
  }

  .kasaneru6 img.imagup {
    top: 42%;
    width: 9%;
  }

  .flex-b3 {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
  }

  .kasaneru6 img.imageback {
    width: 716px;
    height: 394px;
  }

  .flex-plan {
    display: flex;
    flex-direction: column !important;
    width: 100%;
    gap: 2rem;
  }

  .tagline {
    display: none !important;
  }

  .plan-plus {
    font-size: 4.4rem !important;
    font-weight: 700;
    margin-top: 0;
    display: flex;
    justify-content: center;
  }

  .flex-item-3 {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }

  .movie-contents iframe {
    height: 402px;
    width: 100%;
  }

  .movie-contents {
    margin-bottom: 0;
  }

  /************************************
** contact
************************************/
  .contact-lead {
    padding: 2rem 2rem 2rem 2rem;
  }

  /************************************
** flow
************************************/
  .flow-width-left {
    width: 100%;
  }

  .flow-width-right {
    width: 100%;
  }

  /************************************
** rxconso
************************************/
  .rxconso-flex {
    display: flex;
    flex-direction: column;
    gap: 4rem;
  }

  .flex-rxconso-link {
    display: flex;
    justify-content: center;
  }

  .rxconso-flex-text {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
  }

  .rxconso-width {
    width: 100%;
    display: flex;
    flex-direction: column;
  }

  .rxconso-img-pc {
    display: flex;
    justify-content: center;
    padding-left: 0;
  }

  .footer-bottom {
    margin-top: 0;
  }

  .spec-table-margin {
    margin-top: 0;
    margin-bottom: 4rem;
  }

  .spec-flex {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 2rem;
  }

  .somic-profile-fr {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
  }

  .somic-profile-img {
    width: 100%;
    padding: 2.5em 2em 0 2em;
  }

  .somic-profile-text {
    width: 100%;
    padding: 0em 2em 2em 2em;
  }

  .info-list-frame {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .info-list-item-frame {
    width: 100%;
  }

  .column-list-item-frame {
    width: 100%;
  }

  .contact-con-frame {
    display: grid;
  }

  .function-lead-li {
    /*padding-left: 0;*/
  }

  .mv-img-feature {
    height: 320px;
  }

  .mv-img-c {
    height: 200px;
  }

  .parallax-bg-frame {
    height: 480px;
    padding: 10% 10% 0 10%;
  }

  /************************************
  ** top
  ************************************/
  .sec1-1 h2 {
    width: 80%;
  }

  .sec1-2 p span {
    font-size: 1.6rem;
  }

  .midashi-lead {
    width: 100%;
  }

  .video-press {
    padding-bottom: 66%;
  }

  .button-read-flex {
    display: flex;
    justify-content: center;
  }

  .slider-frame {
    width: 100%;
    margin: 0 auto;
  }

  .slider-css {
    width: 100%;
    padding-top: 34rem;
    position: relative;
    margin: 2em auto;
    text-align: center;
    display: flex;
    justify-content: space-between;
  }

  .slider-css label img {
    width: 75px;
  }

  .slider-css label iframe {
    width: 75px;
  }

  /************************************
  ** 見出し
  ************************************/
  .midashi-spec-title-h3 {
    font-size: calc(1.3rem + 0.9vw);
    font-weight: 700;
  }

  .midashi-title-h2 {
    font-size: calc(1.8rem + 0.9vw);
    font-weight: 700;
  }

  .midashi-title-h3 {
    font-size: calc(1.6rem + 0.9vw);
    font-weight: 500;
  }

  .midashi-spec-h2 {
    font-size: calc(1.8rem + 0.9vw);
    font-weight: 700;
  }

  .midashi-spec-h3 {
    font-size: calc(1.4rem + 0.9vw);
    font-weight: 700;
  }

  .a-cate-wrap {
    text-decoration: none;
    display: block;
    color: var(--cocoon-text-color);
    padding: 2%;
    margin-bottom: 3%;
    padding-top: 2rem;
    transition: all 0.3s ease-in-out;
    width: 93%;
  }

  .fig-cate-img {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
    flex-direction: row;
    justify-content: center;
  }

  .fig-cate-img-s {
    width: 100%;
    height: 100%;
  }

  .case-cate-left {
    margin-left: 3%;
  }

  .fig-info-img {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    align-content: center;
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-start;
  }

  .fig-info-img-s {
    width: 100%;
  }

  .info-tag-left {
    margin-left: 3%;
  }

  .img-frame {
    width: 100%;
    height: 864px;
  }

  .grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .wrap-img-half {
    width: 100%;
    padding-bottom: 3rem;
  }

  .flex-b2 {
    flex-wrap: wrap;
  }

  .flex-item-2 {
    width: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    align-items: flex-start;
  }

  .flex-b3 {
    flex-wrap: wrap;
  }

  .flex-item-3 {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
  }

  .fl-row[data-node] .fl-row-content-wrap {
    margin: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .fl-col[data-node] .fl-col-content {
    margin: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .fl-node-t7zv1a8luj2y>.fl-module-content {
    margin-top: 0px;
  }

  .fl-visible-mobile {
    display: block;
  }

  .fl-node-nlw9cdpqaz3v .fl-accordion-button,
  .fl-node-nlw9cdpqaz3v .fl-accordion-button-label {
    font-size: 20px;
    letter-spacing: 0px;
  }

  .fl-node-nlw9cdpqaz3v .fl-accordion-item {
    margin-bottom: 0px;
  }

  .fl-node-5x2kgeud9qm3.fl-row>.fl-row-content-wrap {
    margin-right: 20px;
    margin-left: 20px;
  }

  .fl-node-nlw9cdpqaz3v .fl-accordion-button,
  .fl-node-nlw9cdpqaz3v .fl-accordion-button-label {
    font-size: 20px;
    letter-spacing: 0px;
  }

  .spec-inner-single.active {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-content: space-around;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .spec-inner-single-column-description {
    inline-size: 336px;
    writing-mode: horizontal-tb;
  }

  .spec-inner-single-column {
    width: 100%;
  }

  .logo-menu-button img {}

  .article .sec4 .img {
    margin: 0 0 20px;
  }

  /************************************
  ** 記事
  ************************************/
  .pa-size-10 {
    flex-basis: 20%;
  }

  .pa-size-90 {
    flex-basis: 80%;
  }

  /************************************
  ** ウェビナー
  ************************************/
  .md\:flex {
    display: flex;
  }

  .md\:pr-8 {
    padding-right: 2rem;
  }

  .md\:flex-shrink-0 {
    flex-shrink: 0;
  }

  .md\:max-w-\[15rem\] {
    max-width: 15rem;
  }

  .webinar .margin-midashi .margin-li {
    margin: 2rem;
  }

  .margin-con {
    margin: 0;
    text-align: center;
  }

  .bg-flag-green {
    max-width: 80%;
    height: 8rem;
  }

  /************************************
  ** 改行
  ************************************/
  br.br-pc {
    display: none !important;
  }

  br.br-pc2 {
    display: none !important;
  }

  /************************************
  ** 改行
  ************************************/
  span.pc {
    display: none !important;
  }

  span.pc2 {
    display: none !important;
  }

  .mobile-menu-buttons>li {
    padding-top: 1rem;
    padding-bottom: 0.8rem;
    font-size: 2rem;
  }

  .toppage {
    padding: 0;
    padding-bottom: 3rem;
  }

  .sec3 .flex .flex__box {
    width: 100%;
  }

  .sec4 .toppage {
    padding: 0;
  }

  .sec4 .flex .flex__box {
    width: 100%;
  }

  .sec4 .caption {
    max-width: revert;
    width: 100%;
  }

  .sec4 .title {
    line-height: 1.6;
  }

  .sec4 .flex__box:last-child {
    padding: 6%;
    width: 100%;
  }

  .sec4 .flex {
    margin-top: 60px;
    display: block;
  }

  .sec4 .img {
    margin-bottom: 20px;
  }

  .sec4 .title2 {
    color: #00a0e9;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
    width: 100%;
  }

  .sec5 .card .caption .title2 {
    border-bottom: 1px solid #fff;
    font-weight: bold;
    border-left: 7px solid #fff;
  }

  .sec5 .container .flex__box {
    width: 100%;
  }

  .sec5 .card .card__box {
    transform: translate(0px, 0px);
    opacity: 1;
    visibility: inherit;
  }

  .sec5 .flex__box:last-child {
    padding: 30px 0 0;
  }

  .sec6 .container .flex__box {
    width: 100%;
  }

  .sec6 .card .card__box {
    width: 100%;
  }

  .sec6 .flex__box:last-child {
    padding: 30px 0 0;
  }

  .sec6 .card .card__box2:before {
    content: "";
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    background: linear-gradient(rgba(0, 0, 0, 0) -7%, rgba(0, 0, 0, 1.4) 85%);
  }

  .anchor__target {
    padding-top: 80px;
    margin-top: -80px;
  }

  .card {
    display: block;
  }

  .card .card__box {
    width: 100%;
  }

  .card .card__box2 {
    width: 100%;
  }

  .card .caption {
    padding: 10px 20px;
  }

  .card .caption li {
    font-size: 2rem;
  }

  .sec5 .copy {
    font-size: 16px;
  }

  .sec6 .copy {
    font-size: 16px;
  }

  .toppage2 {
    padding-bottom: 5rem;
  }

  .sec6 .caption .copy2 {
    padding: 20px;
    line-height: 1.5;
    margin: 0;
    min-width: 0px;
  }

  .caption {
    position: static;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding: 10px 3%;
  }

  .card .caption {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    color: #fff;
  }

  .card .caption ul {
    padding-left: 0;
  }

  .case-slider__img {
    padding: 0;
  }

  .caption .number {
    width: 75px;
    font-size: 5.6rem;
  }

  .caption .title {
    font-size: 24px;
    line-height: 1.2;
    margin: 0;
    padding: 0px 0px 0px 10px;
    width: calc(100% - 75px);
  }

  .number {
    font-size: 70px;
  }

  .caption .copy {
    width: 100%;
    margin-top: 10px;
    padding: 0;
    min-height: 3em;
  }

  #footer {
    display: none;
  }

  #header-container,
  #header-container .navi,
  #navi .navi-in>.menu-header .sub-menu {
    background-color: #000;
    padding-top: 0px;
    padding-bottom: 0px;
    height: 0px;
  }

  #header-container {
    position: sticky;
    top: 0;
    z-index: 1;
  }

  .header-container-in.hlt-top-menu .logo-header img {
    /*padding-bottom: 1rem;*/
  }

  .wrap2 {
    margin-top: -106px;
  }

  .webinar table:not(.has-border-color) :where(th, td) {
    padding: 10px;
  }


}

/*====================================
** 480px 以下
====================================*/
@media screen and (max-width: 480px) {

  .case-img-icon {
    display: contents;
    width: 32px;
    height: 32px;
    content: url(/images/icon/case.svg);
  }

  .kasaneru6 img.imageback {
    width: 373px;
    height: 170px;
  }

  .kasaneru6 img.imagup {
    top: 46%;
    width: 17%;
  }

  .wrap3 {
    height: inherit;
  }

  .logo-top {
    width: 50%;
  }

  .appeal-message-o {
    padding: 2rem 2rem 0 2rem;
  }

  .swiper-slide-1 {
    background-image: url(/images/others/newyear-sp-01.webp);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-size: cover;
  }

  .swiper-slide-2 {
    background-image: url(/images/others/newyear-sp-02.webp);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-size: cover;
  }

  .swiper-slide-3 {
    background-image: url(/images/others/newyear-sp-03.webp);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-size: cover;
  }

  .swiper-slide-4 {
    background-image: url(/images/others/newyear-sp-04.webp);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-size: cover;
  }

  h1.academia:after {
    width: 100%;
  }

  .wrap-academic {
    padding: 0rem;
    text-align: center;
  }

  .spec .midashi h2 {
    margin: 25px 0 25px 0px;
    border-left: 5px solid #00a0e9;
    padding-left: 15px;
  }

  h1.title2 {
    text-align: center;
  }

  .midashi h2 {
    margin: 25px 0 25px 0px;
    border-left: 5px solid #00a0e9;
    padding-left: 15px;
  }

  .video-case {
    padding-bottom: 50%;
  }

  .case-study .midashi h2 {
    margin: 25px 0 25px 0px;
    border-left: 5px solid #00a0e9;
    padding-left: 15px;
  }

  .event-info .midashi h2 {
    margin: 25px 0 25px 0px;
    border-left: 5px solid #00a0e9;
    padding-left: 15px;
  }

  .caption .title {
    font-size: 18px;
  }

  .img-patron {
    width: 100%;
  }

  .swiper-pagination-fraction {
    display: flex;
    justify-content: center;
  }

  .swiper-title-sub {
    margin-top: 3rem !important;
  }

  .swiper-lead-sub {
    margin-top: 2rem !important;
  }

  .swiper-img-sub {
    display: none;
  }

  .option .midashi h2 {
    margin: 25px 0 25px 0px;
    border-left: 5px solid #00a0e9;
    padding-left: 15px;
  }

  .spec-inner-single {
    display: none;
    gap: 16px;
  }

  .spec-inner-single.active {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  /************************************
  ** top
  ************************************/

  .medal-top {
    /*display: none;*/
    width: 100%;
  }

  .logo-top {}

  .entry-tags {
    display: none;
  }

  .sec1-1 h2 {
    font-size: 2.8rem;
    width: 90%;
    left: 0;
  }

  .sec1-2 p {
    width: 100%;
    font-size: 2rem;
  }

  .sec1-3 {
    width: 100%;
    left: auto;
  }

  .midashi-lead {
    font-size: 1.6rem;
    width: 100%;
  }

  /************************************
  ** seminar
  ************************************/
  .seminar-flex {
    display: flex;
    padding: 2rem;
    justify-content: center;
  }

  .seminar-img {
    width: 50%;
    height: auto;
  }


  .slider-css {
    width: 100%;
    padding-top: 0rem;
    position: relative;
    margin: 2em auto;
    display: flex;
    flex-wrap: wrap;
    text-align: left;
  }

  .slider-css>img {
    display: none;
  }

  .slider-css>iframe {
    display: none;
  }

  .img-frame {
    width: 100%;
    height: 496px;
  }


  .slider-css label {
    margin: 15px 5px 0 5px;
    border: 0px;
    opacity: 1;
  }

  .slider-css input[name="cp_switch"]:checked+label {
    border: 0px;
  }

  .slider-css input[name="cp_switch-1"]:checked+label {
    border: 0px;
  }

  .slider-css label img {
    width: 100%;
  }

  .slider-css label iframe {
    width: 100%;
  }

  .mv-img-c2 {
    padding: 2rem;
  }


  /**************************
  ** Spec
  ***************************/
  .spec-inner-single-column {
    width: 100%;
  }

  .spec-inner-single-column-description {
    inline-size: auto;
    writing-mode: horizontal-tb;
  }

  #header-container,
  #header-container .navi,
  #navi .navi-in>.menu-header .sub-menu {
    background-color: #000;
    padding-top: 0px;
    padding-bottom: 0px;
  }

  .movie-contents {
    height: 210px;
  }

  .tab-label {
    line-height: 16px;
  }

  .entry-title {
    margin-bottom: 3rem;
  }

  .third-features-frame {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 3rem;
    justify-content: flex-start;
    align-items: center;
  }

  /************************************
  ** 2列
  ************************************/
  .wrap-img-half {
    width: 100%;
    padding-bottom: 2rem;
  }

  /**************************
   記事
  ***************************/

  #speaker ul li {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0px;
    gap: 0;
  }

  .speaker-name {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .img-patron {
    padding-bottom: 2rem;
  }

  .bg-flag-green {
    font-size: 1.8rem;
  }

  .p-display-flex {
    display: flex;
    flex-direction: column;
  }

  /************************************
  ** 改行
  ************************************/
  br.br-pc {
    display: none !important;
  }

  br.br-pc2 {
    display: block !important;
  }

  .mobile-menu-buttons>li {
    padding-top: 1.3rem;
  }

  .sec5 .card .caption .title2 {
    border-bottom: 1px solid #fff;
    font-size: 2rem;
    font-weight: bold;
    border-left: 7px solid #fff;
  }

  .sec5 .card .caption li {
    font-size: 16px;
  }

  .wrap2 {
    margin-top: -33px;
  }

  .sec8 .copy {
    font-size: 16px;
  }

  .appeal-title {
    padding-bottom: 1em;
    font-weight: normal;
    font-size: 6em;
  }

  .appeal-message {
    font-size: 2em;
  }

  .appeal-button:before {
    font-size: 2rem;
  }

  .appeal-title-o {
    font-weight: normal;
    font-size: 6rem;
  }


  .appeal-button-o:before {
    font-size: 2rem;
  }

  .body,
  .menu-content {
    font-size: 16px;
  }

  .logo-menu-button img {}

  .appeal-button-o {
    font-size: 2rem;
  }

  .sec4 .title2 {
    font-size: 2.2rem;
    width: 100%;
  }

  .sec5 .caption .copy2 {
    margin-left: 3rem;
  }

  .title-c {
    display: contents;
  }

  .appeal {
    background-image: url(/images/top/main-sp.webp);
  }

  .appeal-o {
    background-image: url(/images/top/main-sp.webp);
  }

  .appeal-in {
    height: 100vh;
    width: auto;
  }

  .appeal-in-o {
    height: 100vh;
    width: auto;
    padding-top: 0px;
  }

  .appeal-title {
    font-size: 3rem;
    padding-bottom: 0.5em;
  }

  .appeal-title-0 {
    font-size: 3rem;
    padding-bottom: 0.5em;
  }

  .appeal-message {
    font-size: 1.6rem;
  }

  .appeal-content-o {
    padding-top: 4rem;
    width: 100%;
    max-width: none;
  }

  .caption .number {
    width: 75px;
    font-size: 5rem;
  }

  .flex-contact-oshirase {
    display: flex;
    padding-bottom: 2rem;
    flex-direction: column;
    gap: 0;
  }

  .copy {
    font-size: 1.6rem;
  }

  /************************************
  ** お問い合わせフォーム お名前
  ************************************/
  .from_name {
    display: block;
    flex-wrap: wrap;
  }

  .item-box {
    flex: 1;
    margin: 0px;
    max-width: 100%;
    width: auto;
    box-sizing: border-box;
  }

  .item-box2 {
    flex: 1;
    margin: 0px;
    max-width: 100%;
    width: auto;
    box-sizing: border-box;
  }
}

/*====================================
** 425px 以下
====================================*/
@media screen and (max-width: 425px) {
  .text-center-sp {
    text-align: center;
  }

  .flow-midashi .box-title {
    font-size: 16px;
  }

  .flow-midashi-03 .box-title {
    font-size: 16px;
  }

  .fluid-box-inner-news {
    max-width: 96%;
  }

}

/*====================================
** 375px 以下
====================================*/
@media screen and (max-width: 375px) {
  .kasaneru6 img.imagup {
    top: 42%;
    width: 19%;
  }

  .kasaneru6 img.imageback {
    width: 322px;
    height: 150px;
  }
}

/*====================================
** 320px 以下
====================================*/
@media screen and (max-width: 320px) {
  .kasaneru6 img.imagup {
    top: 42%;
    width: 23%;
  }

  .kasaneru6 img.imageback {
    width: 268px;
    height: 150px;
  }
}