@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
/************************************
** 全体設定
************************************/
body {
  line-break: strict;
  word-break: break-all;
  overflow-wrap: break-all;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  background-position: 0 0;
}
.zenmaru{
  font-family: "Zen Maru Gothic", serif;
}
/* 約物半角 */
.yakuhan {
font-family: YakuHanJP,"游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
/* 改行制御 */
.nowrap {
  white-space: nowrap;
}
/* 回転 */
.rotate {
  display: inline-block;
  transform: rotate(20deg)
}
.fuchidori {
  text-shadow:2px 2px 0 #FFF, -2px -2px 0 #FFF,
              -2px 2px 0 #FFF, 2px -2px 0 #FFF,
              0px 2px 0 #FFF,  0-2px 0 #FFF,
              -2px 0 0 #FFF, 2px 0 0 #FFF;
}
/* 両端揃え */
.justify {
  text-align: justify;
  text-justify: inter-ideograph;
}
/* 縦書き */
.tate {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
/* 中央揃え */
.tac {
  text-align: center;
}
/* グレースケール */
.gray-scale {
  filter: grayscale(100%);
}

/* テキストリンク用アンダーラインとホバーエフェクト */
.underline {
  color: #1176d4;
  text-decoration: underline;
}
.underline:hover {
  text-decoration: none;
}
.underline-link-o a:hover{
  padding-bottom: 3px;
  border-bottom: solid 1px #fd841f;
}
.underline-link-p a:hover{
    padding-bottom: 3px;
    border-bottom: solid 1px #cd104d;
}

/* テキスト装飾用アンダーライン */
.underline-y{
  padding-bottom: 6px;
  display: inline-block;
  border-bottom: solid 2px #eab063;
}
.underline-o{
  padding-bottom: 6px;
  display: inline-block;
  border-bottom: solid 2px #eae188;
}
/* 波線 */
.wavyline {
  text-decoration: underline 2px wavy #00adcc;
  text-underline-position: under;
}
/* マーカー黄色 */
.marker-yellow {
  background: linear-gradient(transparent 60%, #ff6 60%);
}

/* オーバーフロー */
.hidden {
  overflow: hidden;
}

/*右側へ要素を広げる（2カラム）カラム内要素に対して設定*/
.column-outside-right{
    flex: 1;
    margin-right: calc(50% - 50vw);
    margin-left: 4%;
}
/*左側へ要素を広げる（2カラム）カラム内の要素に対して設定*/
.column-outside-right{
    flex: 1;
    margin-left: calc(50% - 50vw);
    margin-left: 4%;
}


/* スマホ用テキストアライン変更 */
@media screen and (max-width: 767px) {
  .sp-txt-center {
    text-align: center;
  }
  .sp-txt-left {
    text-align: left;
  }
}
@media screen and (min-width: 768px) {
  .pc-txt-left {
    text-align: left;
  }
  .pc-txt-center {
    text-align: center;
  }
}
/* スマホだけ電話番号リンク発信 */
@media (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
/* スマホ時は非表示 */
@media(min-width:768px) {
  .sp-none {
    display: none;
  }
}
/* スマホ時はリッチカラムの順番を逆にする */
@media (max-width: 767px)  {
  .swell-col-reverse .swell-block-columns__inner{
  flex-direction: column-reverse; 
  }
  }

/* フッター上ウィジェットの上下余白を削除 */
#before_footer_widget {
  margin: 0;
}

/************************************
** フォントウェイト
************************************/
.fw300 {
  font-weight: 300!important;
}
.fw400 {
  font-weight: 400!important
}
.fw500 {
  font-weight: 500!important;
}
.fw600 {
  font-weight: 600!important;
}
.fw700 {
  font-weight: 700!important;
}
.fw800 {
  font-weight: 800!important;
}
.fw900 {
  font-weight: 900!important;
}
/************************************
** ボーダー
************************************/
.right-border{
  border-right:1px solid #f2d5d5;
}
.border--light-gray{
    border:1px solid #fefefe;
}
.border--gray{
    border:1px solid #eee;
}
.border--dark-gray{
    border:1px solid #999;
}


/************************************
** ヘッダー
************************************/

/* ヘッダーの表示範囲の調整 */
@media screen and (min-width: 960px) {
  .l-header__inner.l-container,
  .l-fixHeader__inner.l-container {
    max-width: 90%;
  }
}
/* 下層ページのヘッダー幅をトップに合わせる */
.l-header .l-container {
  max-width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.l-fixHeader__inner {
  max-width: 100%;
}
.l-header__bar {
  background: #1c2226;
}
/* キャッチコピー部 */
.l-header__bar .c-catchphrase {
  color: inherit;
  font-size: 15px;
  letter-spacing: var(--swl-letter_spacing, .2px);
  line-height: 14px;
  overflow: hidden;
  padding: 6px 0;
  white-space: nowrap;
}

/************************************
** メインビジュアル　カスタマイズ
************************************/
.main-title-img {
  width: 55%;
}
@media (max-width: 600px) {
  .main-title-img {
    width: 80%;
  }
}
/* 画像上テキストのカスタマイズ  */
@media (min-width: 600px) {
  .p-mainVisual__slideTitle {
    font-size: 3em;
    font-weight: 500;
    letter-spacing: -1px;
  }
}

/************************************
** パンくずリスト　カスタマイズ
************************************/
/* 境界線をなくす */
.-body-solid .p-breadcrumb.-bg-on {
  box-shadow: none;
}
/* 背景色と文字色 */
#breadcrumb,
.p-breadcrumb {
  background: transparent;
  color: #999;
  letter-spacing: -1px;
}
/* サブページ名の透過を解除 */
.p-breadcrumb__item:last-child span {
  opacity: 1;
}
/* ホームの文字のカスタマイズ */
.p-breadcrumb__text .__home {
  display: block;
  font-size: 1em;
}
/* サブページの文字のカスタマイズ */
.p-breadcrumb__text {
  color: #333;
  font-size: 1.2em;
  display: block;
  padding-left: 10px;
}
@media screen and (max-width: 767px) {
  #breadcrumb,
  .p-breadcrumb {
    display: none;
  }
}
/************************************
** ホバーエフェクト
************************************/
/* ホバーで彩度を上げる */
.hover-mono {
  filter: grayscale(100);
  transition: filter 0.2s;
}
.hover-mono:hover {
  filter: grayscale(0);
}
/* ホバーで明るく/暗く（背景色を指定する） */
.hover-light:hover {
  opacity: 0.8;
  transition: 0.3s;
}
.hover-bright:hover {
  border-radius: 3px;
  transition: 0.3s;
  box-shadow: -5px -5px 10px 0px rgba(255, 255, 255, 0.5), 5px 5px 10px 0px rgba(255, 255, 255, 0.5);
}
/************************************
** カーニング
************************************/
.ls-1 {
  letter-spacing: -1px;
}
.ls1 {
  letter-spacing: 2px;
}
.ls2 {
  letter-spacing: 2px;
}
.ls3 {
  letter-spacing: 3px;
}
.ls4 {
  letter-spacing: 4px;
}
/************************************
** 行間
************************************/
.lh-0 {
  line-height: 0;
}
.lh-1 {
  line-height: 1;
}

/************************************
**flex box設定
************************************/
.flex-box {
  display: flex;
}
.flex-center {
  display: flex;
  align-items: center;
}
.flex-center-center {
  display: flex;
  justify-content: center;
  align-items: center;
}
.flex-start-center {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.flex-center-start {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.flex-end-end {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}
.flex-center-end {
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.flex-end-center {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.flex-end-start {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
}
.flex-start-center {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

/************************************
** シャドウ設定
************************************/
.text-shadow-thin {
  text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
  box-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
}
.text-shadow-blue {
  text-shadow: 2px 3px 3px rgba(3, 41, 112, 0.3);
}
.main-text-shadow {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.6;
  color: #ffffff;
  text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
  font-weight: bold;
}
.light-shadow {
  box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.1);
}

/************************************
** 余白設定
************************************/
/* マージン */
.m10 {
  margin: 10px!important;
}
.m20 {
  margin: 20px!important;
}
.m30 {
  margin: 30px!important;
}
.m40 {
  margin: 40px!important;
}
.m50 {
  margin: 50px!important;
}
.m60 {
  margin: 60px!important;
}
.m70 {
  margin: 70px!important;
}
.m80 {
  margin: 80px!important;
}
/* マージントップ */
.mt10 {
  margin-top: 10px!important;
}
.mt20 {
  margin-top: 20px!important;
}
.mt30 {
  margin-top: 30px!important;
}
.mt40 {
  margin-top: 40px!important;
}
.mt50 {
  margin-top: 50px!important;
}
.mt60 {
  margin-top: 60px!important;
}
/* マージンボトム */
.mb0 {
  margin-bottom: 0!important;
}
.mb10 {
  margin-bottom: 10px!important;
}
.mb20 {
  margin-bottom: 20px!important;
}
.mb30 {
  margin-bottom: 30px!important;
}
.mb40 {
  margin-bottom: 40px!important;
}
.mb50 {
  margin-bottom: 50px!important;
}
.mb60 {
  margin-bottom: 60px!important;
}
/* マージンレフト */
.ml10 {
  margin-left: 10px!important;
}
.ml20 {
  margin-left: 20px!important;
}
.ml30 {
  margin-left: 30px!important;
}
.ml40 {
  margin-left: 40px!important;
}
.ml50 {
  margin-left: 50px!important;
}
.ml60 {
  margin-left: 60px!important;
}
/* マージンライト */
.mr10 {
  margin-right: 10px!important;
}
.mr20 {
  margin-right: 20px!important;
}
.mr30 {
  margin-right: 30px!important;
}
.mr40 {
  margin-right: 40px!important;
}
.mr50 {
  margin-right: 50px!important;
}
.mr60 {
  margin-right: 60px!important;
}
/* パディング */
.p10 {
  padding: 10px!important;
}
.p15 {
  padding: 15px!important;
}
.p20 {
  padding: 20px!important;
}
.p25 {
  padding: 25px!important;
}
.p30 {
  padding: 30px!important;
}
.p35 {
  padding: 35px!important;
}
.p40 {
  padding: 40px!important;
}
.p45 {
  padding: 45px!important;
}
.p50 {
  padding: 50px!important;
}
.p55 {
  padding: 55px!important;
}
.p60 {
  padding: 60px!important;
}
.p65 {
  padding: 65px!important;
}
/* パディングトップ */
.pt0 {
  padding-top: 0!important;
}
.pt10 {
  padding-top: 10px!important;
}
.pt20 {
  padding-top: 20px!important;
}
.pt30 {
  padding-top: 30px!important;
}
.pt40 {
  padding-top: 40px!important;
}
.pt50 {
  padding-top: 50px!important;
}
.pt60 {
  padding-top: 60px!important;
}
/* パディングボトム */
.pb0 {
  padding-bottom: 0!important;
}
.pb10 {
  padding-bottom: 10px!important;
}
.pb20 {
  padding-bottom: 20px!important;
}
.pb30 {
  padding-bottom: 30px!important;
}
.pb40 {
  padding-bottom: 40px!important;
}
.pb50 {
  padding-bottom: 50px!important;
}
.pb60 {
  padding-bottom: 60px!important;
}
/* パディングレフト */
.pl0 {
  padding-left: 0!important;
}
.pl10 {
  padding-left: 10px!important;
}
.pl20 {
  padding-left: 20px!important;
}
.pl30 {
  padding-left: 30px!important;
}
.pl40 {
  padding-left: 40px!important;
}
.pl50 {
  padding-left: 50px!important;
}
.pl60 {
  padding-left: 60px!important;
}
.pl80 {
  padding-left: 60px!important;
}
.pl100 {
  padding-left: 60px!important;
}
/* パディングライト */
.pr0 {
  padding-right: 0!important;
}
.pr10 {
  padding-right: 10px!important;
}
.pr20 {
  padding-right: 20px!important;
}
.pr30 {
  padding-right: 30px!important;
}
/* パディング上下 */
.ptb0 {
  padding-top: 0!important;
  padding-bottom: 0!important;
}
.ptb10 {
  padding-top: 10px!important;
  padding-bottom: 10px!important;
}
.ptb20 {
  padding-top: 20px!important;
  padding-bottom: 20px!important;
}
.ptb30 {
  padding-top: 30px!important;
  padding-bottom: 30px!important;
}
.ptb40 {
  padding-top: 40px!important;
  padding-bottom: 40px!important;
}
.ptb50 {
  padding-top: 50px!important;
  padding-bottom: 50px!important;
}
.ptb60 {
  padding-top: 60px!important;
  padding-bottom: 60px!important;
}
/* パディング左右 */
.plr10 {
  padding-left: 10px!important;
  padding-right: 10px!important;
}
.plr20 {
  padding-left: 20px!important;
  padding-right: 20px!important;
}
.plr30 {
  padding-left: 30px!important;
  padding-right: 30px!important;
}
.plr40 {
  padding-left: 40px!important;
  padding-right: 40px!important;
}
.plr50 {
  padding-left: 50px!important;
  padding-right: 50px!important;
}
.plr60 {
  padding-left: 60px!important;
  padding-right: 60px!important;
}
.plr64 {
  padding-left: 64px!important;
  padding-right: 64px!important;
}
.plr72 {
  padding-left: 72px!important;
  padding-right: 72px!important;
}
/************************************
** 角丸設定
************************************/
.radius0 {
  border-radius: 0px;
}
.radius0 img {
  border-radius: 0px;
}
.radius6 {
  border-radius: 6px;
}
.radius6 img {
  border-radius: 6px;
}
.radius8 {
  border-radius: 8px;
}
.radius8 img {
  border-radius: 8px;
}
.radius10 {
  border-radius: 10px;
}
.radius10 img {
  border-radius: 10px;
}
.radius20 {
  border-radius: 20px;
}
.radius20 img {
  border-radius: 20px;
}
.radius30 {
  border-radius: 30px;
}
.radius30 img {
  border-radius: 30px;
}
.radius40 {
  border-radius: 40px;
}
.radius40 img {
  border-radius: 40px;
}
.radius50 {
  border-radius: 50px;
}
.radius50 img {
  border-radius: 50px;
}
.radius50p{
  border-radius:50%;
}
.radius50p img{
  border-radius:50%;
}
.radius9999 {
  border-radius: 9999px;
}
.radius9999 img {
  border-radius: 9999px;
}
.radius-top-10 {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.radius-top-10 img {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.radius-top-20 {
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}
.radius-top-20 img {
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}
.radius-left-10 {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
.radius-left-10 img {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
.radius-left-20 {
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
}
.radius-left-20 img {
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
}
.radius-right-10 {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}
.radius-right-10 img {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}
.radius-right-20 {
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
}
.radius-right-20 img {
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
}
/************************************
** 背景画像の配置
************************************/
/* 背景画像のサイズと位置の調整 */
.bg-contain {
  background-size: contain;
}
.bg-cover {
  background-size: cover;
}
.bg-repeat {
  background-repeat: repeat;
  background-size: auto;
}
.bg-repeat-none {
  background-repeat: no-repeat;
}
.bg-repeat-y {
  background-repeat: repeat-y;
}
.bg-repeat-x {
  background-repeat: repeat-x;
}
.bg-position-top {
  background-position: top;
}
.bg-position-center {
  background-position: center;
}
/* 背景画像の上にドットレイヤーを敷く */
.is-layer-dot {
  position: relative;
  &:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    display: block;
    background-color: rgba(0, 0, 0, .4);
    background-image: radial-gradient(#000 20%, transparent 0), radial-gradient(#000 20%, transparent 0);
    background-position: 0 0, 10px 10px;
    background-size: 4px 4px;
  }
}
/************************************
** 背景色
************************************/
.bg-color-lightgray {
  background: #efefef;
}
.bg-color-blue {
  background: #0000ff;
}
.bg-color-green {
  background: #048a3c;
}
.bg-color-yellow {
  background: #fcdc0a;
}
.bg-color-gray {
  background: #eee;
}
.bg-color-pink {
  background: #fae1d7;
}
.bg-color-white {
  background: #fff;
}
.bg-color-black {
  background: #1a1a1a;
}
.bg-color-bluegrade {
  background-color: #1890d0;
  background-image: linear-gradient(90deg, #1890d0 60%, #004492 100%);
}
.bg-color-light-pink {
  background-color: #f2edef;
}
.bg-color-light-orange {
  background-color: #fff3e3;
}
.bg-color-beige {
  background-color: #fae1d7;
}
.bg-grad-yellow-white {
  background-color: #f6f8de;
  background-image: -webkit-linear-gradient(160deg, #f6f8de 1%, #ffffff 50%, #f6f8de 90%);
  background-image: -moz-linear-gradient(160deg, #f6f8de 1%, #ffffff 50%, #f6f8de 90%);
  background-image: -o-linear-gradient(160deg, #f6f8de 1%, #ffffff 50%, #f6f8de 90%);
  background-image: linear-gradient(160deg, #f6f8de 1%, #ffffff 50%, #f6f8de 90%);
}
/************************************
** フッターのカスタマイズ
************************************/
.footer-box {
  min-height: 284px;
}
@media (max-width: 960px) {
  .footer-1st {
    text-align: center;
  }
}
/* フッターロゴ */
.footer-logo {
  width: 80px;
}
@media (max-width: 960px) {
  .footer-logo {
    width: 60px;
  }
}
/* コピーライト */
.l-footer .copyright {
  font-size: 14px;
  letter-spacing: 1px;
  text-align: center;
}
/* フッターメニュー */
.c-listMenu a {
  font-size: 16px;
  border-bottom: 0;
  padding: .75em 1em 0.5em 1em;
}
.c-listMenu a:hover {
  font-size: 16px;
  border-bottom: 0;
}
@media screen and (max-width: 767px) { 
  .c-listMenu a {
    font-size: 18px;
    color:#333;
  }
}
/************************************
** ページトップボタン
************************************/
.p-fixBtnWrap {
  bottom: 30px;
  right: 30px;
}
.c-fixBtn {
  background:#cc104c;
  color: #fff;
  opacity: 1;
  height: 70px;
  width: 70px;
  border:2px solid #cc104c;
}
.c-fixBtn__icon {
  font-size: 34px
}
@media (min-width: 960px) {
  .c-fixBtn:hover {
    background:#fff!important;
    color: #cc104c!important;
  }
}
@media screen and (max-width: 767px) {
  .c-fixBtn {
    display: none;
  }
}
/************************************
** 以下　サイト独自設定
************************************/

/* セクションタイトル用グラデーション */

.grad-1 {
  display: inline-block;
  background: linear-gradient(45deg, #fd841f 0%, #e04c2b 40%, #cd104d 80%);
  background: -webkit-linear-gradient(45deg, #fd841f 0%, #e04c2b 40%, #cd104d 80%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* パンくずリスト */
.p-breadcrumb__list {
  margin-left: 0;
}
/* カスタムヘッダー */
.custom-header-div {
  max-width: 90%;
}
.cta-button {
  padding: 6px 20px;
}
.catch-copy {
  color: inherit;
  font-weight: normal;
}
/* ロゴを上下中央に配置 */
.c-headLogo__link {
  display: flex;
  align-items: center;
}
/************************************
** グローバルナビ　設定
************************************/
/* メニューとメニューの間隔*/
.c-gnav>.menu-item>a {
  padding: 1rem 1.2rem;
}
/*メニュー項目のホバーとカレントの色*/
.c-gnav>li:hover>a,
.c-gnav>.-current>a {
  color: #cd104d;
  background: transparent;
  transition: all .25s;
}
.c-gnav>.menu-item>a .ttl:hover {
  color:#cd104d;
}
/* メニュータイトル */
.c-gnav>.menu-item>a .ttl {
  font-family: "Zen Maru Gothic", serif;
  font-size: clamp(14px, 2vw, 18px);
  font-weight: 500;
}

/* メニュー下 */
.c-smallNavTitle {
  display: block;
  position: relative;
  top: 6px;
  color: #e14d2a;
  font-size: 13px;
  font-weight:600;
  text-align: center;
  letter-spacing:1px;
  opacity: 1;
}
@media (min-width: 960px) {
  .-parallel .l-header__gnav .c-gnav>li>a {
    padding: 16px 30px;
  }
}
/* サブメニューカスタマイズ */
.c-gnav .sub-menu .ttl {
  font-size:1em;
}
.c-gnav .sub-menu a {
  background-color: #fedbd0;
  padding:.8em;
  padding-left:2.6em;
}
.c-gnav .sub-menu a:hover {
  background-color: #e36144;
  color:#fff;
  transition:.5s;
}
/* デフォルトのサブメニューのホバーエフェクトを相殺 */
.c-gnav .sub-menu a:hover .ttl {
  left: 0px;
}
/************************************
** フォント
************************************/
.shippori{
  font-family: "Shippori Mincho", serif;
}
.raleway {
  font-family: "Raleway", serif;

}
.lato {
  font-family: "Lato", serif;
}

/************************************
** 見出し・タイトル
************************************/
.c-pageTitle {
  margin: 0;
  font-size: clamp(1.8em, 4vw, 2.6rem);
  font-weight: 600;
}
.post_content h2 {
  margin: 0;
  font-size: clamp(22px, 4vw, 42px);
}
.post_content h3 {
  margin: 0;
  font-size: clamp(18px, 3vw, 26px);
}
.post_content h4 {
  margin: 0;
  font-size: clamp(16px, 2vw, 20px);
}
h2.is-style-section_ttl {
  font-weight: 400;
  font-size: clamp(22px, 4vw, 44px);
  position: relative;
  margin: 0 0 20px 0;
  padding: 6% 2%;
  line-height: 1.3;
  overflow: hidden;
}
h3.is-style-section_ttl {
  font-weight: 500;
  font-size: clamp(18px, 3vw, 24px);
  position: relative;
  margin: 0 0 40px 0;
  padding: 4% 2%;
  line-height: 1.3;
  overflow: hidden;
}
h4.is-style-section_ttl {
  font-weight: 300;
  font-size: clamp(16px, 2vw, 20px);
  margin-bottom: 16px;
}
.fs-ss {
  font-size: clamp(14px, 1vw, 12px)!important;
}
.fs-s {
  font-size: clamp(15px, 1.4vw, 15px)!important;
}
.fs-r {
  font-size: clamp(16px, 1.6vw, 18px)!important;
}
.fs-m {
  font-size: clamp(18px, 1.8vw, 22px)!important;
}
.fs-l {
  font-size: clamp(24px, 2.5vw, 32px)!important;
}
.fs-ll {
  font-size: clamp(26px, 3.2vw, 38px)!important;
}
.fs-xl {
  font-size: clamp(28px, 4vw, 44px)!important;
}
/*ボックスの設定*/
.subtitle-wrapper {
  padding: 2% 5%;
  font-size: 3.0vw;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
  color: #121212;
  background-color: #F0F0F0;
  border: 4px #121212 solid;
  border-radius: 10px;
  overflow: hidden;
  margin: 0;
}
.white-box-r {
  position: relative;
  display: block;
  margin: 0;
  padding: 4% 5%;
  background-color: #FFF;
  border-radius: 8px;
}
.about-contents-wrap {
  padding: 4% 0;
  border-radius: 10px;
  background-color: #e2e2e2;
  border: 4px #121212 solid;
}
.section-ttl-box {
  padding: 2% 2%;
  border-radius: 50vh;
  background-color: #fcfced;
  border: 4px #121212 solid;
}
.second-service-website-text {
  display: block;
  margin-top: 0;
  padding: 3%;
  border-top: solid 1px #CCC;
  border-bottom: solid 1px #CCC;
}
.sublead-center {
  display: block;
  font-size: 1.6vw;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
  color: #121212;
  text-align: center;
  border-radius: 50vh;
  border: 4px #121212 solid;
  padding: 2% 2%;
}
/************************************
** 記事ページのカスタム
************************************/
.c-categoryList:before {
  display: none;
}
/************************************
** ボタンの設定
************************************/
/* ヘッダーボタンサイズを文字合わせに*/
.w-header .swell-block-columns .swell-block-column {
  width: auto;
}
/* スライドボタン */
.right-slide-btn {
  display: flex;
  align-items: center;
}
.right-slide-btn:hover {
  transition: all .5s ease-in-out;
  margin-left: 20px;
}
/* ノーマルボタン　white */
.is-style-btn_normal-w a {
  color: #1a1a1a;
  background: #fff;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.is-style-btn_normal-w a::after {
  color: #fff;
  background: #1a1a1a;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
.is-style-btn_normal-w a:hover {
  color: #fff;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
}
.is-style-btn_normal-w a:hover::after {
  transform: scale(1, 1);
}
/* ノーマルボタン　black */
.is-style-btn_normal-b a {
  color: #fff;
  background: #333;
  border-radius:999px;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.is-style-btn_normal-b a::after {
  color: #fff;
  background: #e04c2b;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
.is-style-btn_normal-b a:hover {
  color: #fff;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
}
.is-style-btn_normal-b a:hover::after {
  transform: scale(1, 1);
}
/* ノーマルボタン　orange */
.is-style-btn_normal-o a {
  color: #fff;
  background: #fc8421;
  border-radius:999px;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.is-style-btn_normal-o a::after {
  color: #fff;
  background: #9c2c76;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
.is-style-btn_normal-o a:hover {
  color: #fff;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
}
.is-style-btn_normal-o a:hover::after {
  transform: scale(1, 1);
}
/* ノーマルボタン　pink */
.is-style-btn_normal-p a {
  color: #fff;
  background: #cd104d;
  border-radius:999px;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.is-style-btn_normal-p a::after {
  color: #fff;
  background: #9c2c77;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
.is-style-btn_normal-p a:hover {
  color: #fff;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
}
.is-style-btn_normal-p a:hover::after {
  transform: scale(1, 1);
}
/* ノーマルボタン　dark orange */
.is-style-btn_normal-do a {
  color: #fff;
  background: #e14d2a;
  border-radius:999px;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.is-style-btn_normal-do a::after {
  color: #fff;
  background: #9c2c77;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
.is-style-btn_normal-do a:hover {
  color: #fff;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
}
.is-style-btn_normal-do a:hover::after {
  transform: scale(1, 1);
}
/* 濃色背景用のゴーストボタン */
.under-line-btn-bw a {
  color: #00adcc;
}
.under-line-btn-bw a:hover {
  border: solid #fff 1px;
}
/* ラインボタンの背景色を白 */
.is-style-btn_line a {
  background: #fff;
  border: 1px solid;
  color: var(--the-btn-color, var(--color_main));
  position: relative;
  transition: background-color .25s;
}
.is-style-btn_normal a {
  letter-spacing: 2px;
  font-weight: 400;
}
.is-style-btn_solid a {
  letter-spacing: 2px;
  font-weight: 400;
}
/************************************
** セクションタイトル用BOX
************************************/
.title-box-pink {
  border: 3px solid #ff7aab;
  background-color: rgba(255, 255, 255, 1);
  padding-top: 10px;
  padding-bottom: 16px;
  padding-left: 10px;
  padding-right: 10px;
  border-radius: 20px;
}
.title-box-orange {
  border: 3px solid #FF951C;
  background-color: rgba(255, 255, 255, 1);
  padding-top: 10px;
  padding-bottom: 16px;
  padding-left: 10px;
  padding-right: 10px;
  border-radius: 20px;
}
.title-box-green {
  border: 3px solid #7ac943;
  background-color: rgba(255, 255, 255, 1);
  padding-top: 16px;
  padding-bottom: 16px;
  padding-left: 10px;
  padding-right: 10px;
  border-radius: 20px;
}
.title-box-blue {
  border: 3px solid #40a7f6;
  background-color: rgba(255, 255, 255, 1);
  padding-top: 10px;
  padding-bottom: 16px;
  padding-left: 10px;
  padding-right: 10px;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .title-box-pink,
  .title-box-orange,
  .title-box-green,
  .title-box-blue {
    border-radius: 10px;
  }
  .subpage-heading {
    border: 1px solid;
    width: auto;
    border-image: linear-gradient(to right, #7ac943, #fff91d, #ff7aab) 1;
  }
}
.subpage-heading {
  border: 6px solid;
  width: auto;
  border-image: linear-gradient(to right, #7ac943, #fff91d, #ff7aab) 1;
}

/************************************
** スマホ固定フッター
************************************/
#fix_bottom_menu .menu_list {
  height: 60px;
  background-color: #80bf41;
  color: #fff;
}
#fix_bottom_menu span {
  font-size: 12px;
  margin-top: 8px;
}
#fix_bottom_menu .menu-item i {
  font-size: 24px;
}
.h60 {
  height: 60px;
}
/*スマホ用固定フッターのアイコンの色*/
#fix_bottom_menu .menu-item i:before {
  color: #fff;
}

/************************************
** フッター上ウィジェット
************************************/
.c-bannerLink__text {
  text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
}
/************************************
** 投稿リスト
************************************/
.-type-simple .p-postList__body {
  display: flex;
  align-items: center;
}
/* 記事タイトルの文字サイズ */
.-type-simple .p-postList__title {
    font-size: clamp(15px, 1vw, 22px) !important;
    font-weight:500;
    position:relative;
    top:-3px;
    margin-left:20px;
    transition: .5s;
}

/* 記事タイトルのホバー */
.-type-simple .p-postList__title:hover {
    text-decoration: underline;
    text-underline-offset: 6px;
}

/* 日付とカテゴリーのアイコン非表示 */
.c-postTimes__posted::before,
.icon-posted:before {
    display: none !important;
}

.icon-folder:before {
    display: none !important;
}

/* 日付 */
.c-postTimes__posted::before,
.icon-posted {
    font-size: 18px;
    letter-spacing: 1px;
    font-weight: 500;
}

/* ホバー時の背景色 */
.-type-simple .p-postList__link:hover {
    background-color:transparent;
}
/* リストの先頭行と後部の罫線を消去 */
.-type-simple .p-postList__link {
    border-bottom:none;
}
.p-postList.-type-simple {
    border-top: none;
}

.top-newslist .p-postList__title {
    font-weight: 600;
    font-size: 16px;
}

/* カテゴリーのラベルの透明度をリセット */
.u-thin {
    opacity: 1;
}


/************************************
** ブログカードのお知らせ一覧
************************************/
.p-postList__thumb:before {
    background: none;
}

/* カテゴリーのフォルダアイコンを非表示 */
.c-postThumb__cat:before {
    display: none;
}

/* テキストBOX間の余白の設定 */
.-type-card .p-postList__item {
    margin-bottom: 2em;
    margin-top: 0;
    padding-bottom: .8em;
    width: 50%;
}

@media screen and (max-width: 767px) {
    .-type-card .p-postList__item {
        margin-bottom: 2em !important;
        margin-top: 0;
        padding-bottom: .8em;
        width: 50%;
    }
}

/* テキストBOXの設定 */
.-type-big .p-postList__body,
.-type-card .p-postList__body {
    padding: 20px 10px !important;
    min-height: 100px;
}

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

    .-type-big .p-postList__body,
    .-type-card .p-postList__body {
        min-height: auto !important;
    }
}