/*
theme Name: shisei-kaizen-roots
Author: 株式会社グリーンエステート
Description: original theme
version： 1.0.0
*/

:root {
    --color-main: #333;
    --color-theme: #033059;
    --color-background: #fff;
    --font-main: "Noto Sans JP", sans-serif;
    --font-en: "Cormorant Garamond", serif;
    --font-en2: "Crimson Text", serif;
    --gradient-primary: linear-gradient(300deg, #ffd688, #ffe3af);
}


html {
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}

@media (min-width: 768px) {
    html {
        scroll-padding-top: 8vh;
    }

    [id] {
        scroll-margin-top: 8vh;
    }
}

@media (max-width: 767px) {
    [id] {
        scroll-margin-top: 4vh;
    }
}

body {
    line-height: 1;
    letter-spacing: 0.05em;
    font-family: "Noto Sans JP", sans-serif;
/* 		"游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; */
    font-size: 1.6rem;
    font-weight: normal;
    color: #333;
    font-feature-settings: "palt" 1;
	    line-height: 1.8;
}

.container {
    max-width: 100%;
    margin: 0 auto;
    overflow: hidden;
}

a:hover {
    opacity: .7;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}

@media (max-width: 768px) {
    .main-nav {
        position: fixed;
        inset: 0;
        background: rgba(255, 255, 255, 0.95);
        -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
        transform: translateX(-100%);
        -webkit-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }

    .main-nav.is-active {
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0);
    }

    .nav-list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 2rem;
    }
}


.pc_block {
    display: block;
}

.sp_block {
    display: none !important;
}

br.sp_block,
.sp_inlineblock {
    display: none !important;
}

.pc_inlineblock {
    display: inline-block;
}

p.center {
    text-align: center;
}

.flex-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.flex-wrap.sb {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

/*---------------------------------------------------------
アニメーション
---------------------------------------------------------*/

.js-animation {
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px);
    -webkit-transition: all 2s;
    -o-transition: all 2s;
    transition: all 2s;
}

.js-animation.is-show {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0px);
    -ms-transform: translateY(0px);
    transform: translateY(0px);
}

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

.bg1 {
    background: #36f;
    background: -moz-linear-gradient(top,#3366ff 0%,#3399ff 100%);
    background: -webkit-linear-gradient(top, #3366ff 0%, #3399ff 100%);
    background: linear-gradient(to bottom, #3366ff 0%, #3399ff 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#3366ff',endColorstr='#3399ff',GradientType=0);
}
.header_h1 h1, .header_h1 p {
   max-width: 69.2%;
    font-size: .9vw;
    padding: 1vh 0;
    box-sizing: border-box;
    margin: 0 auto;
    color: #fff;
}

.header_h1 .single_h1 {
	height: 4rem;
}
.header_cn {
	max-width: 69.2%;
	margin: 0 auto 2vh;
}

.header_cn_area {
    display: flex;
    justify-content: space-between;
}

.header_cn .logo_area, .header_cn .header_center, .header_cn .header_right {
    width: 31%;
}

.header_cn .logo_area img {
    width: 100%;
    margin-top: 2vh;
}

.header_cn .logo_area p {
    text-align: center;
    margin-top: 2vh;
    font-size: 1.05vw;
    background: #E0E0E0;
    padding: .7vh 0;
    border-radius: .2vw;
    font-weight: 500;
}

.header_cn .logo_area .sns_box {
	text-align: right;
	margin: 0 0 10px;
}
.header_cn .logo_area .sns_box {
	text-align: right;
}
.header_cn .logo_area .sns_box ul {
	display: inline-block;
}
.header_cn .logo_area .sns_box ul li {
    width: 2.5vw;
    float: left;
    margin: 0 10px 0 0;
    list-style: none;
}
.header_cn .logo_area .sns_box ul li:last-child {
	margin: 0;
}
.header_cn .logo_area .sns_box ul li a img {
	width: 100%;
	border-radius: 5px;
}

.header_center .table.ad, .header_right .table.ad {
    margin-top: 2vh;
}

.header_center .table dl.address dt {
	    padding: 0;
    background: #06f;
    border-radius: 3px;
}
.header_right .table dl.address dt {
	    padding: 0;
        background: #4CAF50;
    border-radius: 3px;
}

.header_cn .header_center dl.address dt span, .header_right .table dl.address dt span {
	    display: block;
    font-size: 1.1vw;
    text-align: center;
    color: #fff;
    margin: 1vh 0;
    padding: .7vh;
    font-weight: 500;
    letter-spacing: .1vw;
}
.header_cn .header_center .table dl.address dd, .header_right .table dl.address dd {
    font-size: 1.1vw;
    line-height: 1.6;
	    text-align: center;
	    margin-bottom: 1vh;
}

.header_cn_area .tel p{
  display: flex;
  align-items: center;   /* ←縦中央 */
  gap: .5vw;
  margin: 0;
    justify-content: center;
}

/* アイコンはインライン→ブロック化してベースライン影響を消す */
.header_cn_area .tel p i.fa{
  display: block;        /* ←重要 */
  font-size: 3.1vw;
  color: #E91E63;
  line-height: 1;
  vertical-align: middle; /* 念のため */
	transform: translateY(.05em);
}

/* 電話番号側も line-height を1に */
.header_cn_area .tel p a{
  display: block;
      font-size: 2.4vw;
  font-weight: bold;
  color: #E91E63;
  line-height: 1;
}

.header_cn_area .web {
    margin-top: 1vh;
}

.header_center .web a, .header_right .web a {
	display: block;
	background: #f00;
	border-radius: 5px;
    padding: .5vh 0;
}
.header_center .web a:hover .header_right .web a:hover {
	background: none;
	padding: 3px 0 0;
}
.header_center .web .table, .header_right .web .table {
	width: 100%;
	border-radius: 5px;
}

.header_center .web .table dl, .header_right .web .table dl {
    display: flex
;
}
.header_center .web .table dl dt, .header_right .web .table dl dt {
    padding: 1vh 0 1vh .75vw;
}
i.fa.fa-laptop {
    color: #fff;
}

.header_center .web .table dl dd, .header_right .web .table dl dd {
    vertical-align: middle;
    font-size: 1.2vw;
    text-align: center;
    color: #fff;
    font-weight: 600;
    width: 100%;
	    display: flex
;
    justify-content: center;
    align-items: center;
	    line-height: 1.5;
}
.header_center .web .table dl dd span, .header_right .web .table dl dd span {
    display: block;
    font-size: .75vw;
    color: #fff;
    margin: .5vh 0 0;
}
.header_center .web .contactbtn, .header_right .web .contactbtn {
	background: #f60;
}
/* PCレイアウト非表示 */
button.tab_menu.drawer-hamburger, .sp_header {
	display: none;
}
.sp_side_sub_bana {
	display: none;
}
.drawer-nav {
	position: fixed;
	right: 110%;
}

/*---------------------------------------------------------
グローバルナビ
---------------------------------------------------------*/

/* -- gnavi -- */
.gnavi nav {
	width: 100%;
	max-width: 69.2%;
	border-right: 1px solid #fff;
	table-layout: fixed;
	margin: 0 auto;
}
nav.table ul {
    display: flex
;
    justify-content: space-between;
}

.gnavi nav ul li {
	vertical-align: middle;
	border-left: 1px solid #fff;
	width: 12.5%;
    display: flex
;
    justify-content: center;
    align-items: center;
}
.gnavi nav ul li:last-child {
	display: none;
}
.gnavi nav ul li > a {
	padding: 1.5vh 0;
	display: flex;
	color: #fff;
	position: relative;
	align-items: center;
	justify-content: center;
	    font-size: 1vw;
    line-height: 1.5;
	text-align: center;
	transition: 0.5s;
	    width: 100%;
	height: 100%;
}

.gnavi nav ul li > a:hover {
    color: #36f;
    background: rgba(255, 255, 255, 0.70);
}
.gnavi.fixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999;
}
.gnavi.fixed nav ul li:last-child {
	width: 150px;
	display: table-cell;
	padding: 5px;
}
.gnavi.fixed nav ul li > a {
	height: 86px;
	font-size: 1.4vmin;
}
.gnavi.fixed nav ul li .tel {
	margin: 0 0 3px;
}
.gnavi.fixed nav ul li .tel span {
	vertical-align: middle;
	font-size: 1.7vmin;
	font-weight: 900;
	color: #fff;
}
.gnavi.fixed nav ul li .tel i {
	vertical-align: middle;
	font-size: 2.2vmin;
	color: #fff;
	margin: 0 3px 0 0;
}
.gnavi.fixed nav ul li .web a {
	display: block;
	background: #f00;
	border-radius: 5px;
	padding: 0 0 3px;
}
.gnavi.fixed nav ul li .web a:hover {
	background: none;
	padding: 3px 0 0;
}
.gnavi.fixed nav ul li .web .table {
	width: 100%;
	border-radius: 5px;
}
.gnavi.fixed nav ul li .web .table dl dt {
	vertical-align: middle;
	padding: 5px 0 5px 5px;
}
.gnavi.fixed nav ul li .web .table dl dt i {
	font-size: 3.3vmin;
	color: #fff;
}
.gnavi.fixed nav ul li .web .table dl dd {
	vertical-align: middle;
	font-size: 1.6vmin;
	color: #fff;
}
.gnavi.fixed nav ul li .web .table dl dd span {
	display: block;
	font-size: 1.3rem;
	color: #ff0;
	margin: 0 0 2px;
}

/*---------------------------------------------------------
メインビジュアル
---------------------------------------------------------*/

.mainvisual_sp, .mainvisual .spSlider {
    display: none;
}

/* =====================
   mainvisual 基本設定
   ===================== */
.mainvisual {
  width: 100%;
      max-width: 69.2%;
  margin: 0 auto 60px;
  position: relative;
  overflow: hidden;
	 overflow: visible;
}
.mainvisual img {
  width: 100%;
  height: auto;
  display: block;
  vertical-align: bottom;
}

/* PC/SP 出し分け */
.pcSlider { display: block; }
.spSlider,
.mainvisual_sp { display: none; }
@media (max-width: 768px){
  .pcSlider { display: none; }
  .spSlider,
  .mainvisual_sp { display: block; }
}

/* =====================
   矢印（参考サイト仕様）
   ===================== */
.slick-prev,
.slick-next {
	width: 30px !important;
    height: 100% !important;
    top: 0 !important;
       background: rgba(0, 0, 0, 0.05) !important;
    transform: none !important;
  position: absolute;
  font-size: 0;
  border: none;
  cursor: pointer;
  z-index: 100;
}

.mainvisual .slick-prev,
.mainvisual .slick-next {
  z-index: 2000;
}
.slick-prev { left: 0 !important; }
.slick-next { right: 0 !important; }

/* 矢印アイコン部分（borderで作成） */
.slick-prev:before,
.slick-next:before {
  content: "" !important;
  position: absolute;
  display: block;
  width: 20px;
  height: 20px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  border: solid #000;
  border-width: 0 0 1px 1px;
}

/* 左矢印 → 左向き */
.slick-prev:before {
  left: 10px;
  transform: translateY(-50%) rotate(45deg);
}

/* 右矢印 → 右向き */
.slick-next:before {
  right: 10px;
  transform: translateY(-50%) rotate(-135deg);
}

.slick-dotted.slick-slider {
    margin-bottom: 0 !important;
}

/* =====================
   ドット（画像の外側・下中央）
   ===================== */
.mainvisual .slick-dots {
  position: absolute;
	    bottom: -30px;
  left: 0;
  right: 0;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}
.mainvisual .slick-dots li {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 10px 0 0;
  padding: 0;
  cursor: pointer;
}
.mainvisual .slick-dots li button {
  width: 10px;
  height: 10px;
  padding: 0;
  border: 0;
  border-radius: 5px;
  background: #ccc;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
}
.mainvisual .slick-dots li.slick-active button { background: #666; }

.slick-dots li button:before {
    font-family: 'slick';
    font-size: 0!Important;
}

/* スマホでは非表示（参考サイト準拠） */
@media (max-width: 800px){
  .mainvisual .slick-prev,
  .mainvisual .slick-next,
  .mainvisual .slick-dots { display: none !important; }
}


/* TOPコンテンツ */
p.mb {
    margin-bottom: .7em;
}

/*---------------------------------------------------------
  TOPページ
  ---------------------------------------------------------*/
div#contents {
    width: 100%;
    max-width: 69.2%;
    margin: 0 auto;
}

/*---------------------------------------------------------
  サイドバー1
  ---------------------------------------------------------*/
.sidebar {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-width: 0;
    width: 25%;
}

section.side_bana1 {
	background: #fff;
	border: 3px solid red;
	margin: 0 0 25px;
}

section.side_bana1 h3 {
	    font-size: 1.5vw;
	text-align: center;
	color: #fff;
	background: red;
	border: 3px solid #fff;
	padding: 0;
		font-weight: 700;
}

section.side_bana1 h3::before,
section.side_bana1 h3::after {
	display: none;
}

section.side_bana1 p {
	position: relative;
	font-weight: 700;
	text-align: center;
	z-index: 2;
		    font-size: 1.4vw;
}

section.side_bana1 .time {
	position: relative;
	top: -3px;
}

section.side_bana1 .time p {
	    font-weight: 700;
    color: #fff;
    background: red;
    padding: 0 0 5px;
    margin: 0 3px;
    font-size: 1.2vw;
}

section.side_bana1 p span {
	display: block;
}

section.side_bana1 .text1 {
	    font-size: 1.3vw;
	border-top: 3px solid red;
	    padding: 1vh 0;
	margin: 0;
}

section.side_bana1 .text1 span {
	font-size: 1.8vw;
    font-weight: 700;
    line-height: 1.4;
}



section.side_bana1 .text2 {
    position: relative;
	    padding: 2vh 0 0;
    text-align: center; /* 中央寄せのベース */
}

section.side_bana1 .text2 span {
	    font-size: 1.6vw;
    font-weight: 700;
}

/* 上の帯部分 */
section.side_bana1 .text2 .arrow1 {
       width: 10.5vw;
        height: 12vh;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(to bottom, #fff0 0%, rgb(255 204 0) 100%);
}

/* 下の三角部分 */
section.side_bana1 .text2 .arrow2 {
        width: 0;
    height: 0;
    position: absolute;
    top: 12vh;
    left: 50%;
    transform: translateX(-50%);
    border: 7vw solid transparent;
    border-top: 4vw solid #fc0;
}

section.side_bana1 .text3 {
	font-size: 3.5vw;
	font-size: bold;
	color: red;
	text-shadow: 0 -2px 0 #fff, -2px 0 0 #FFF, 2px 0 0 #fff, 0 2px 0 #fff;
	padding: 0 0 1vh;
}

section.side_bana1 .text3 span {
	display: inline;
	    font-size: 2.5vw;
	font-weight: 700;
	color: red;
}

/* 症状別メニュー  */
.side_symptom{
      border: 0.25vw solid #3DA0FF;
    background: #fff;
    overflow: hidden;
    font-size: 1.1vw;
    color: #222;
	margin-bottom: 5vh;
}

/* 見出しバー */
.side_symptom > h3{
  display: flex;
  align-items: center;
  gap: 0.6vw;
  margin: 0;
  padding: 1.5vh 1vw;
  background: #3DA0FF;
  color: #fff;
  font-weight: 700;
  font-size: 1.2vw;               /* タイトル文字サイズ */
  line-height: 1.4;
  letter-spacing: 0.05vw;
  position: relative;
}

/* アイコン（左上の人のマーク画像を表示） */
.side_symptom > h3::before{
  content: "";
  display: inline-block;
  width: 2vw;
  height: 2vw;
  background: url("https://shisei-kaizen-roots.com/wp-content/uploads/2025/10/side_menu_icon.png") no-repeat center/contain;
}

/* リスト全体 */
.side_symptom > ul{
  list-style: none;
  margin: 0;
}

/* 各項目 */
.side_symptom > ul > li{
  border-top: 0.15vw solid #E9ECEF;
}
.side_symptom > ul > li:first-child{
  border-top: none;
}

/* リンク */
.side_symptom > ul > li > a{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1vw;
  padding: 2vh 1vw;
  color: inherit;
  text-decoration: none;
  border-radius: 0.6vw;
  font-size: 1.1vw;
}

/* 右矢印 */
.side_symptom > ul > li > a::after{
      content: "";
    flex: none;
    width: 1vw;
    height: 1vw;
    border-right: 0.15vw solid #616161;
    border-top: 0.15vw solid #616161;
    transform: rotate(45deg);
    margin-left: 0.8vw;
}

/* hover時 */
.side_symptom > ul > li > a:hover{
  background: #F7FBFF;
}

/* モバイル最適化 */
@media (max-width: 768px){
  .side_symptom{ font-size: 3.5vw; }
  .side_symptom > h3{ font-size: 3.8vw; padding: 2.5vh 2vw; }
  .side_symptom > h3::before{ width: 5vw; height: 5vw; }
  .side_symptom > ul > li > a{ font-size: 3.4vw; padding: 2.2vh 2vw; }
  .side_symptom > ul > li > a::after{ width: 2vw; height: 2vw; border-width: 0.5vw; }
}

/* サイドバー　メニュー一覧 */
.side_mune{
  border: 0.25vw solid #3DA0FF;
  background: #fff;
  overflow: hidden;
  font-size: 1.1vw;
  color: #222;
	margin-bottom: 5vh;
}

/* 見出しバー */
.side_mune > h3{
  display: flex;
  align-items: center;
  gap: 0.6vw;
  margin: 0;
  padding: 1.5vh 1vw;
  background: #3DA0FF;
  color: #fff;
  font-weight: 700;
  font-size: 1.2vw;   /* タイトル文字サイズ */
  line-height: 1.4;
  letter-spacing: 0.05vw;
  position: relative;
}

/* アイコン（FontAwesome または画像） */
.side_mune > h3 i{
  font-size: 1.4vw;
  line-height: 1;
}

/* リスト全体 */
.side_mune > ul{
  list-style: none;
  margin: 0;
}

/* 各項目 */
.side_mune > ul > li{
  border-top: 0.15vw solid #E9ECEF;
}
.side_mune > ul > li:first-child{
  border-top: none;
}

/* リンク */
.side_mune > ul > li > a{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1vw;
  padding: 2vh 1vw;
  color: inherit;
  text-decoration: none;
  border-radius: 0.6vw;
  font-size: 1.1vw;
}

/* 右矢印 */
.side_mune > ul > li > a::after{
  content: "";
  flex: none;
  width: 1vw;
  height: 1vw;
  border-right: 0.15vw solid #616161;
  border-top: 0.15vw solid #616161;
  transform: rotate(45deg);
  margin-left: 0.8vw;
}

/* hover時 */
.side_mune > ul > li > a:hover{
  background: #F7FBFF;
}

/* モバイル最適化 */
@media (max-width: 768px){
  .side_mune{ font-size: 3.5vw; }
  .side_mune > h3{ font-size: 3.8vw; padding: 2.5vh 2vw; }
  .side_mune > h3::before{ width: 5vw; height: 5vw; }
  .side_mune > ul > li > a{ font-size: 3.4vw; padding: 2.2vh 2vw; }
  .side_mune > ul > li > a::after{ width: 2vw; height: 2vw; border-width: 0.5vw; }
}


/* ===== サイドバー：ブログ新着 ===== */

.side_blog{
  border: 0.25vw solid #3DA0FF;
  background: #fff;
  overflow: hidden;
  font-size: 1.1vw;
  color: #222;
	    margin-bottom: 5vh;
}

/* 見出し */
.side_blog > h3{
  display:flex; align-items:center; gap:0.6vw;
  margin:0; padding:1.5vh 1vw;
  background:#3DA0FF; color:#fff; font-weight:700;
  font-size:1.2vw; line-height:1.4; letter-spacing:0.05vw;
}
.side_blog > h3 i{ font-size:1.5vw; line-height:1; }

/* リスト */
.side_blog > ul{ list-style:none; margin:0; padding:0; }
.side_blog > ul > li{ border-top:0.15vw solid #E9ECEF; }
.side_blog > ul > li:first-child{ border-top:none; }

/* 通常行（右の“く”） */
.side_blog > ul > li > a{
  display:flex; align-items:center; justify-content:space-between;
  gap:1vw; padding:2vh 1vw; color:inherit; text-decoration:none;
  border-radius:0.6vw; font-size:1.1vw; position:relative;
}
.side_blog > ul > li > a::after{
  content:""; width:1vw; height:1vw; flex:none;
  border-right:0.15vw solid #616161; border-top:0.15vw solid #616161;
  transform:rotate(45deg); margin-left:0.8vw;
}
.side_blog > ul > li > a:hover{ background:#F7FBFF; }

/* === 最下段「ブログ一覧」だけ別デザイン === */
.side_blog > ul > li.blog_archive > a{
  justify-content: right;
    font-weight: 400;
    position: relative;
    padding-right: 4vw;
    text-align: right;
}

/* 通常の“く”は上書きして使わない → 三角に描き替える */
.side_blog > ul > li.blog_archive > a::after{
    content: "";
    position: absolute;
    top: 50%;
    right: 1.5vw;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border: 0.4vw solid transparent;
    border-left: 0.6vw solid #fff;
    z-index: 1;
}

/* 右端の青い丸 */
.side_blog > ul > li.blog_archive > a::before{
  content:""; position:absolute; top:50%; right: 1.5vw;
    transform: translateY(-50%);
    width: 1.5vw;
    height: 1.5vw; border-radius:50%; background:#39f; z-index:0;
}

/* スマホ */
@media (max-width:768px){
  .side_blog{ font-size:3.5vw; }
  .side_blog > h3{ font-size:3.8vw; padding:2.5vh 2vw; }
  .side_blog > h3 i{ font-size:4.2vw; }
  .side_blog > ul > li > a{ font-size:3.4vw; padding:2.2vh 2vw; }
  .side_blog > ul > li > a::after{ width:2vw; height:2vw; border-width:0.5vw; }

  .side_blog > ul > li.blog_archive > a{ padding-right:8vw; }
  .side_blog > ul > li.blog_archive > a::before{ right:2.4vw; width:4vw; height:4vw; }
  .side_blog > ul > li.blog_archive > a::after{
    right:2.6vw; border-width:1.2vw; border-left-width:1.7vw;
  }
}

/* ===== サイドバー：ライン ===== */
/* ===== LINE バナー（vw / vh 統一版） ===== */
.line_bana{
  border: 0.25vw solid #fffbb8;
  border-radius: 0.8vw;
  background: transparent;
}

.line_bana .line_img img{
  width: 100%;
  height: auto;
}

.line_bana .text_area{
  margin: 1.4vh 1.3vw;
}

.line_bana .text_area p{
  line-height: 120%;
  margin: 0;
  font-size: 1.1vw;             /* フォントは vw */
}

/* --- コンテンツ枠 --- */
.line_bana .line_cn{
  background: #fff;
  border-radius: 0.6vw;
  padding: 1.2vh 1vw;           /* 縦は vh / 横は vw */
  margin: 0 1.3vw 1.8vh;
}

.line_bana .line_cn .line_id{
  margin: 0 0 2vh;
}

/* --- ラベル（dt） --- */
.line_bana .line_cn div dl dt{
      min-width: 100%;
    display: inline-block;
    position: relative;
    font-size: 1vw;
    text-align: center;
    color: #fff;
    background: #008c31;
    box-sizing: border-box;
}
.line_bana .line_cn div dl dd {
    text-align: center;
	    font-size: 1.2vw;
}

.line_bana .line_cn .line_btn dl dd a img {
    width: 100%;
    display: block;
}

/* ボタン行の余白 */
.line_bana .line_cn .line_btn dl dd{
  text-align: center;
  margin: 1.4vh 0 0;
}

/* モバイル微調整（任意） */
@media (max-width: 768px){
  .line_bana{ border-width: 0.5vw; border-radius: 1.6vw; }
  .line_bana .text_area{ margin: 1.6vh 2vw; }
  .line_bana .text_area p{ font-size: 3.6vw; }
  .line_bana .line_cn{ padding: 1.6vh 2vw; margin: 0 2vw 2vh; border-radius: 1.2vw; }
  .line_bana .line_cn div dl dt{
    min-width: 24vw;
    line-height: 4.2vh;
    font-size: 3.8vw;
    margin-right: 3vw;
    padding: 0 2vw;
  }
  .line_bana .line_cn div dl dt::before{
    right: -4vw;
    border-width: 2.2vw;
    border-left-width: 2vw;
  }
  .line_bana .line_cn .line_qr dd p{ font-size: 3.8vw; margin: 1.6vh 0; }
  .line_bana .line_cn .line_qr dd img{ width: 28vw; border-width: 0.25vw; }
  .line_bana .line_cn .line_btn dl dd{ margin-top: 1.8vh; }
}



/*---------------------------------------------------------
  footer
  ---------------------------------------------------------*/

footer#footer {
    position: relative;
    background: #033059;
}

.footer-inner {
    padding: 8vh 0 6vh;
}

.footer_logo img {
    width: 26%;
    margin: 0 auto;
}

footer#footer .link a {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: .5vh 5vw;
    display: block;
    text-align: center;
    margin: 3vh auto;
    background: -o-linear-gradient(150deg, rgb(255 214 136), rgb(255 227 175));
    background: linear-gradient(300deg, rgb(255 214 136), rgb(255 227 175));
    font-size: 1.2rem;
    letter-spacing: .05vw;
    font-weight: 500;
    position: relative;
    border-radius: 50px;
}

.sns-wrap.flex-wrap {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 18%;
    margin: 4vh auto 0;
    position: relative;
    left: 1vw;
}

.sns-box {
    width: 34%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.sns-box.tw {
    width: 14%;
}

.sns-box.tw img {
    width: 58%;
}

.sns-box.no img {
    width: 81%;
}

.sns-box.la img {
    width: 100%;
}

.copyright p {
    color: #ffffff;
    text-align: center;
    font-size: .9rem;
    font-weight: 500;
    font-family: var(--font-en);
    letter-spacing: .05vw;
    padding-left: 1vw;
}

a.topBtn {
    display: grid;
    place-content: center;
    width: 4vw;
    height: 4vw;
    cursor: pointer;
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease-out, visibility 0.5s ease-out;
}

a.topBtn.is-visible {
    opacity: 1;
    visibility: visible;
}

a.topBtn::before {
    position: absolute;
    inset: 0;
    content: "";
    background: var(--gradient-primary);
    opacity: 0.8;
}

a.topBtn::after {
    width: 1vw;
    height: 1vw;
    content: "";
    border: solid #033059;
    border-width: 2.5px 2.5px 0 0;
    margin-top: 0.7vw;
    transform: rotate(-45deg);
}

/*---------------------------------------------------------
お客様の声
---------------------------------------------------------*/
/* ===== お客様の声（vw/vh統一） ===== */

article#post-36 {
    width: 50%;
    margin: 4vh auto;
}

/* 外枠：※ここに枠が付くのが正解（数値をvwに） */
.top_content2 .review_box{
  background:#fff;
  border:0.25vw solid rgba(255,204,153,.8);
  border-radius:0.4vw;
  margin:0 auto 2.2vw;
}

/* 見出し帯（文字=vw, 高さ/余白=vw/vh） */
.top_content2 .review_box h4{
  font-size: 1.8vw;
  font-weight:700;
  background:rgba(255,204,153,.8);
  padding:1.5vh 1.5vw;
  margin:0;
}
.top_content2 .review_box h4 a{
  color:red;
  text-decoration:none;
}
.top_content2 .review_box h4 a:hover{
  text-decoration:underline;
}

/* 内側パディング */
.top_content2 .review_box .review_box_inner{
  padding:3vh 3vw;
}

/* 動画は上段フル幅（高さはアスペクト比指定） */
.top_content2 .review_box_inner .video_area{
  width:100%;
  margin:0 0 2vw;
}
.top_content2 .review_box_inner .video_area iframe{
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  border:0;
}

/* 横2カラム（画像左・本文右） */
.top_content2 .review_box_inner .image_area{
  float:left;
  width:30%;
  margin:1vh 3% 0 0; /* 右だけ%でOK */
}
.top_content2 .review_box_inner .text_area{
  width:100%;
}

/* 画像の白マット＋薄枠（vw化） */
.top_content2 .review_box_inner .image_area span{
  display:block;
  margin:0 0 1.4vw;
}
.top_content2 .review_box_inner .image_area img{
  width:100%;
  height:auto;
  display:block;
  background:#fff;
  border:0.1vw solid #ccc;
  padding:0.35vw;
}

/* 本文：行間=vw、余白=vw */
.top_content2 .review_box_inner .text_area p{
      margin: 0 0 1.0vw;
    font-size: 1.25vw;
}

/* 名前（右寄せ） */
.top_content2 .review_box_inner .text_area .name{
  text-align:right;
}

/* 注意文（ボックス下部中央） */
.top_content2 .review_box > p,
.top_content2 .review_box_inner > p.attention{
  font-size:1.1vw;
  text-align:center;
  color:#666;
  margin:0 0 1.6vw;
}

/* 「症状」ラベル（vw化） */
.label-sx{
  display:inline-block;
  background:#ffff00;
  color:#000;
  padding:0.3vw 0.8vw;
  border-radius:0.25vw;
  font-size:1.25vw;
}

/* クリアフィックス（float解除） */
.clearfix::after{
  content:"";
  display:block;
  clear:both;
}

/* ---------- SP（768px以下）は縦積み ---------- */
@media (max-width:768px){
  .top_content2 .review_box{
    border-width:0.5vw;
    border-radius:1vw;
    margin-bottom:4vw;
  }
  .top_content2 .review_box h4{
    font-size:4.0vw;
    line-height:5vw;
    padding:2.5vh 3vw;
  }
  .top_content2 .review_box .review_box_inner{
    padding:3vh 4vw;
  }
  .top_content2 .review_box_inner .image_area,
  .top_content2 .review_box_inner .text_area{
    float:none;
    width:100%;
    margin:0 0 3vw;
  }
  .top_content2 .review_box_inner .image_area span{
    margin-bottom:3vw;
  }
  .top_content2 .review_box_inner .text_area p{
    font-size:3.6vw;
    line-height:6vw;
    margin-bottom:2.6vw;
  }
  .label-sx{
    font-size:3.6vw;
    padding:0.8vw 1.6vw;
    border-radius:1vw;
  }
  .top_content2 .review_box > p,
  .top_content2 .review_box_inner > p.attention{
    font-size:3.2vw;
    margin-bottom:3vw;
  }
}


/*---------------------------------------------------------
下層ページ
---------------------------------------------------------*/

section.page-mv {
    height: 25vh;
    position: relative;
    margin-top: 12vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #033059;
    background-size: cover;
    position: relative;
    background-position: 0% 70%;
}

section.page-mv::after {
    background: rgb(3 48 89 / 64%);
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

.h1-wrap {
    text-align: center;
    position: relative;
    z-index: 1;
}

section.page-mv h1 {
    font-weight: 500;
    font-size: 2.3rem;
    color: #ffe3af;
    letter-spacing: .5vw;
}

.page-id-3 section.page-mv h1,
.page-id-861 section.page-mv h1 {
    font-size: 5.5rem;
}

.h1-wrap p {
    font-size: 1.6rem;
    font-weight: 600;
    font-family: var(--font-en);
    color: #fff;
    letter-spacing: .2vw;
}

.h1-wrap img.logo {
    position: absolute;
    width: 4.5vw;
    top: -.5vw;
    left: 55%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    opacity: .6;
}

.breadcrumb {
    width: 90%;
    margin: 0 auto;
    font-size: .9rem;
    padding-top: 1vh;
}

/*---------------------------------------------------------
サービス・料金
---------------------------------------------------------*/


/*---------------------------------------------------------
プロフィール
---------------------------------------------------------*/


/*---------------------------------------------------------
対応範囲一覧
---------------------------------------------------------*/

/*---------------------------------------------------------
取引企業
---------------------------------------------------------*/

/*---------------------------------------------------------
お客様の声
---------------------------------------------------------*/


/*---------------------------------------------------------
Q&A
---------------------------------------------------------*/


/*---------------------------------------------------------
ブログ
---------------------------------------------------------*/

.page.container.blog .inner {
    max-width: 72%;
    width: 100%;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 7vh 0 10vh;
}

section.blog_wrap {
    width: calc(100% - 30%);
    padding-right: 4rem;
}

article.article-list {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    margin-bottom: 3vh;
    padding: 3vh 2vh;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-shadow: 0px 5px 10px 0px rgb(0 0 0 / 17%);
    box-shadow: 0px 5px 7px 2px rgb(120 120 120 / 22%);
    -ms-flex-pack: distribute;
    justify-content: space-around;
    border: 1px solid #E0E0E0;
}

article.article-list .img-wrap {
    width: 37%;
    height: auto;
    display: -ms-grid;
    display: grid;
    place-items: center;
}

article.article-list .text {
    width: 60%;
    position: relative;
}

article.article-list .text h2 {
    font-size: 1.2rem;
    margin-bottom: .2em;
    line-height: 1.4;
    font-weight: 600;
}

article.article-list a {
    text-decoration: none;
    width: 100%;
}

article.article-list a img {
    width: 100%;
}

.cat-day {
    position: relative;
}

ul.post-categories {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

ul.post-categories a {
    background: #033059;
    display: inline;
    color: #fff;
    padding: .2em 1em;
    margin-right: .5em;
    font-size: .8rem;
}

ul.post-categories li {
    list-style: none;
}

article.article-list p.article-date {
    position: absolute;
    top: 0;
    right: 0;
}

article.article-list .archive-text {
    margin-top: 1vh;
    line-height: 1.6;
}

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

.pagination ul {
    font-size: 0;
}

.pagination ul li {
    font-size: 1rem;
    display: inline-block;
    margin-right: .5vw;
}

.pagination ul li:last-child {
    border: 0;
}

.pagination ul li a,
.pagination .current {
    display: block;
    padding: .5vh 1vw;
    border: 1.5px solid #033059;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

i.fas.fa-angle-right,
i.fas.fa-angle-left {
    color: var(--color-theme);
}

.pagination ul li .prev,
.pagination ul li .next {
    border: 0;
}

.pagination ul li a {
    text-decoration: none;
    color: var(--color-theme);
    font-weight: 500;
}

.pagination ul li a:hover {
    opacity: .6;
}

.pagination .current {
    color: #fff;
    background-color: var(--color-theme);
}


/*---------------------------------------------------------
投稿ページ
---------------------------------------------------------*/

span.cat-data a {
    background: #033059;
    display: inline;
    color: #fff;
    padding: .2em 1em;
    margin-right: .5em;
    font-size: .8rem;
}

.single h1 {
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: .02vw;
    line-height: 1.6;
}

.article-date {
    text-align: right;
    margin-bottom: 3vh;
    font-size: 1rem;
}

span.st-mymarker-s {
    background: -o-linear-gradient(transparent 70%, #d4dff4 0%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(0%, #d4dff4));
    background: linear-gradient(transparent 70%, #d4dff4 0%);
    font-weight: 700;
}

.fixed-page h2,
.single article h2 {
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: .04vw;
    margin: 5vh auto 3vh;
    padding: 2vh 1vw;
    border-left: .25vw solid #033059;
    line-height: 1;
    background-color: #f7f7f7;
}

.fixed-page h3,
.single article h3 {
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: .04vw;
    margin: 3vh auto 3vh;
    padding: 1vh .5vw;
    border-bottom: 2px solid #033059;
}

.fixed-page h4,
.single article .blog-main h4 {
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: .04vw;
    margin: 3vh auto 3vh;
    padding: 1vh 1.2vw 0;
    position: relative;
}

.fixed-page h4::before,
.single article h4::before {
    content: "";
    display: block;
    position: absolute;
    top: 1.3vw;
    left: 0;
    width: .7vw;
    height: .7vw;
    background-color: var(--color-theme);
}

.fixed-page h5,
.single article h5 {
    font-size: 1.3rem;
    font-weight: 600;
    letter-spacing: .04vw;
    margin: 3vh auto 3vh;
    padding: 1vh 0 0;
    position: relative;
}

.fixed-page .inner p,
.single article p {
    font-size: 1.2rem;
    font-weight: 400;
    margin-top: 3vh;
    line-height: 2;
}

.fixed-page .inner ul,
.single .blog-main ul,
.fixed-page .inner ol,
.single .blog-main ol {
    margin: 3vh auto 5vh;
    padding: 3vh 1vw 3vh 2.5vw;
    background-color: #f7f7f7;

}

.fixed-page .inner ul ul,
.single .blog-main ul ul {
    margin-top: unset;
    margin-bottom: .7vw;
    margin-left: 0;
}

.fixed-page .inner ul li,
.single .blog-main ul li {
    list-style-type: disc;
    font-size: 1.2rem;
    margin-bottom: .7vh;
}

.fixed-page .inner ol li,
.single .blog-main ol li {
    font-size: 1.2rem;
    margin-bottom: .7vh;
}

.fixed-page .inner ul ul li,
.single .blog-main ul ul li {
    list-style: none;
}

.single article p.box-title {
    position: relative;
    top: 5vh;
    background: #033059;
    color: #fff;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0 2vw;
    letter-spacing: .1vw;
    margin-top: 0;
}

.fixed-page figure,
.single article figure {
    margin: 3vh 0;
}

.single article p.article-date {
    font-size: 1rem;
    margin-top: 0;
    text-align: right;
}

.page_sns {
    width: 48%;
    margin: 0 auto;
}


.single section.page-mv p.title {
    font-size: 6rem;
    font-weight: 500;
    font-family: "Josefin Sans", sans-serif;
    line-height: .9;
    position: relative;
    z-index: 1;
    text-align: center;
}

.single .contents {
    width: 60%;
    margin: 10vh auto;
}

section.single-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 80%;
    margin: 0 auto;
}

.page.single .inner {
    max-width: 72%;
    width: 100%;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 3vh 0;
}

section.blog_wrap {
    width: calc(100% - 30%);
    padding-right: 3vw;
}

article.article-content {
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 0.5em;
}

article.article-content p.cat-data a {
    background-image: -o-linear-gradient(43deg, #37c1ff, #30bdff);
    background-image: linear-gradient(47deg, #37c1ff, #30bdff);
    display: inline;
    color: #fff;
    padding: 0.5vh 1em;
    border-radius: 50px;
    margin-right: 0.5em;
    font-size: .8rem;
    text-decoration: none;
}

.article-tag {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

section.blog_wrap table {
    margin: 3vh auto 5vh;
}

section.blog_wrap td,
section.blog_wrap th {
    border: 1.5px solid #033059 !important;
    padding: 1vh 1vw;
    font-size: 1.2rem;
}

.article-tag ul {
    margin-bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: 0 !Important;
}

.single .post p.tag {
    background: #333;
    color: #fff;
    text-align: center;
    width: 10%;
    border-radius: 4px;
    font-size: .9rem !important;
    padding: 0 0;
    margin-bottom: 0;
    display: -ms-grid;
    display: grid;
    place-items: center;
}

.single .post .article-tag ul {
    margin-bottom: 0;
    margin-left: 0;
}

.single article .article-tag ul li {
    list-style-type: none;
    list-style: none;
    padding-right: 1em;
    font-size: 1.2rem;
}

.article-tag a {
    text-decoration: none;
    color: var(--color-main);
    font-size: 1.2rem;
}

.article-tag a::before {
    background: no-repeat;
    width: 1.2vw;
    height: 2.2vh;
    background-image: url(https://hp6.veronica9.com/wp-content/uploads/2025/01/tag-n.svg);
    content: '';
    margin-right: .3vw;
    display: inline-block;
    top: .3vh;
    position: relative;
}

.youtube {
    width: 100%;
    aspect-ratio: 16 / 9;
    margin-bottom: 2em;
}

.youtube iframe {
    width: 100%;
    height: 100%;
}

blockquote {
    position: relative;
    border: 1px solid #607D8B;
    border-radius: .5vw;
    padding: 5vh 2vh 1vh;
    background: #f7f7f7;
    margin: 5vh auto;
}

blockquote:before {
    margin-right: 1em;
    display: block;
    position: absolute;
    width: 1.5vw;
    height: 1.5vw;
    background-image: url("https://web6.veronica9.com/wp-content/uploads/2024/05/block-quote.svg");
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    left: 1.5vh;
    top: 1.5vh;
}

blockquote:after {
    margin-right: 1em;
    display: block;
    position: absolute;
    width: 1.5vw;
    height: 1.5vw;
    background-image: url(https://web6.veronica9.com/wp-content/uploads/2024/05/block-quote.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    right: 0;
    bottom: .5vh;
    -webkit-transform: scale(-1, 1);
    -ms-transform: scale(-1, 1);
    transform: scale(-1, 1);
}

blockquote cite {
    display: block;
    font-size: 1rem;
    text-align: right;
    color: #9e9e9e;
    padding-right: 5vh;
}

.single article blockquote p {
    margin-top: 0;
}

blockquote a {
    display: block;
    text-align: right;
    margin-right: 2vw;
}

#ez-toc-container {
    border-width: 2px !important;
    border-radius: 0;
    margin-top: 5vh;
}

#ez-toc-container .ez-toc-toggle:checked+label {
    width: 100%;
}

div#ez-toc-container .ez-toc-title {
    font-size: 1.2rem;
    float: left;
}

#ez-toc-container a:visited {
    color: var(--color-main);
}

#ez-toc-container label {
    float: left !important;
    margin-left: 10px;
}

ul.ez-toc-list.ez-toc-list-level-1 {
    margin-top: 5vh !important;
}

#ez-toc-container ul.ez-toc-list a {
    display: block;
    border-bottom: 1px solid #eee;
    padding: .5vh;
    font-size: 1.2rem;
}

.ez-toc-title-container {
    display: block;
    width: 100%;
}

#ez-toc-container p.ez-toc-title {
    display: block;
    text-align: center;
    margin-bottom: 5px;
}

.ez-toc-title-toggle {
    position: relative;
    top: 0;
    right: 0;
}

.blog-profile {
    border: 2px solid #033059;
    position: relative;
    margin-top: 7vh;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 2vh 1vw 2vh;
}

.single article p.writhing {
    position: absolute;
    top: -2vh;
    margin-top: 0;
    background: #033059;
    color: #fff;
    width: 20%;
    text-align: center;
    letter-spacing: .15vw;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.blog-profile .flex-box.left {
    width: 20%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.blog-profile .flex-box.left img {
    width: 55%;
    border-radius: 50%;
    background: #f7f7f7;
}

.single article .blog-profile p.name {
    font-size: 1.3rem;
    font-weight: bold;
    letter-spacing: .1vw;
    color: var(--color-theme);
}

.single article .blog-profile .text-wrap p {
    font-size: 1.1rem;
    margin-top: 1vh;
    line-height: 1.8;
    font-weight: 500;
}

nav.page-nav {
    margin: 5vh auto 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.page-nav .prev-link {
    width: 49%;
    text-align: left;
    text-decoration: none;
    position: relative;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: var(--color-main);
    border: 2px solid #033059;
    -webkit-transition: .4s ease-in-out;
    -o-transition: .4s ease-in-out;
    transition: .4s ease-in-out;
    font-size: .85rem;
    line-height: 1.5;
    padding: 1vh .7vw;
    font-weight: 600;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: 0.1em;
}

.page-nav .next-link {
    width: 49%;
    text-align: right;
    text-decoration: none;
    position: relative;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: var(--color-main);
    border: 2px solid #033059;
    -webkit-transition: .4s ease-in-out;
    -o-transition: .4s ease-in-out;
    transition: .4s ease-in-out;
    font-size: .85rem;
    line-height: 1.5;
    padding: 1vh .7vw;
    font-weight: 600;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: 0.1em;
}

.page-nav .prev-link::before {
    content: "PREV";
    position: absolute;
    top: -.85em;
    left: 0;
    line-height: 1;
    color: var(--color-theme);
    font-size: 1.4rem;
    font-family: var(--font-en);
    letter-spacing: .1vw;
    font-weight: bold;
}

.page-nav .next-link:before {
    content: "NEXT";
    position: absolute;
    top: -.85em;
    right: 0;
    line-height: 1;
    color: var(--color-theme);
    font-size: 1.4rem;
    font-family: var(--font-en);
    letter-spacing: .1vw;
    font-weight: bold;
}

nav.page-nav a:hover {
    background: #ebf9ff;
}

.share {
    margin-bottom: 7vh;
    margin-top: 3vh;
    position: relative;
    z-index: 1;
}

.home .share,
.page-id-711 .share {
    width: 55%;
    margin: 0 auto;
}

.single article .share p {
    text-align: center;
    font-size: 1.5rem;
    margin-bottom: 0;
    letter-spacing: .15vw;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 600;
    color: var(--color-theme);
    font-family: var(--font-en);
}

.single article .share ul {
    width: 40%;
    margin: 1vh auto 0;
    padding: 0;
    list-style: none;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    margin-left: auto;
}

.share li {
    width: 31%;
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.share li a,
.share li button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 2.5vw;
    width: 2.5vw;
    border-radius: 50px;
}

.share li a {
    border-radius: 50px;
}

.share li button {
    border-radius: .1vw;
    width: 3.5vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.share li button img {
    width: 66%;
}

.share li a:visited {
    opacity: .6;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}

.facebook_share a {
    background-color: #1877f1;
    color: #ffffff;
}

li.facebook_share a img {
    width: 32%;
}

.line_share a {
    background-color: #1dcd00;
    color: #ffffff;
}

li.line_share a img {
    width: 63%;
}

.tweet_share a {
    background-color: #444;
    color: #fff;
}

li.tweet_share a img {
    width: 50%;
}

.share li a:hover {
    opacity: 0.6;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}

button.share-url {
    background-color: var(--color-theme);
    color: #ffffff;
}

.url-copied {
    display: none;
    position: absolute;
    bottom: -6vh;
    left: 67%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 1000;
}

.url-copied span {
    background: #033059;
    color: #fff;
    padding: 6px 12px;
    border-radius: 3px;
    font-size: .8rem;
    white-space: nowrap;
}

@media(max-width: 599px) {
    .share li {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    .share li i {
        font-size: 1.3em;
        padding-top: 3px;
    }

    .share li a {
        font-size: .7rem;
    }

    .share li a svg {
        font-size: .95rem;
    }

    .share ul {
        width: 46%;
        margin: 3vw auto 0;
    }

    .share li a {
        height: 9.8vw;
        width: 9.8vw;
    }

    nav.page-nav {
        margin: 5vh 0;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
}

.related-post-wrap {
    margin: 5vh auto 0;
}

.related-post-wrap h4 {
    margin: 0 auto 2vh;
    font-size: 1.2rem;
    font-weight: 600;
    background: #f7f7f7;
    width: 100%;
    text-align: center;
    letter-spacing: .15vw;
    padding: .5vh 0;
}

.related-post-wrap ul {
    display: -ms-grid;
    display: grid;
    list-style: none;
    gap: .875em;
    -ms-grid-columns: 1fr .875em 1fr .875em 1fr .875em 1fr;
    grid-template-columns: repeat(4, 1fr);
}

.related-post a {
    display: block;
    text-decoration: none;
    color: #000;
}

.related-post a:hover {
    opacity: .6;
}

.related-post img {
    display: block;
    width: 100%;
    aspect-ratio: 3/2;
    margin-bottom: .5vh;
    -o-object-fit: cover;
    object-fit: cover;
}

.related-post .text-wrap {
    font-size: .8rem;
    font-weight: 600;
}

@media (max-width: 600px) {
    .related-post-wrap ul {
        -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
    }
}



div#block-22 h2,
aside#sidebar h4 {
    font-size: 1.2rem;
    border-bottom: 2.5px solid #033059;
    margin-bottom: 2vh;
    padding-bottom: .5vh;
    font-weight: 600;
    letter-spacing: .1vw;
    color: var(--color-theme);
}

div#block-22 li a:first-of-type,
div#execphp-3 li a.np_img {
    width: 40%;
}

ul.wpp-list a.wpp-post-title {
    width: 57%;
    font-size: 1rem;
}

ul.wpp-list a img {
    width: 100%;
}

.wpp-thumbnail {
    margin: 0 !important;
}

.popular-posts.wpp-ajax {
    counter-reset: rank_number;
}

div#execphp-3 li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.sidebar p.blog_title {
    line-height: 1.4;
    width: 57%;
}

.sidebar p.blog_title a {
    font-size: 1rem;
    font-weight: 600;
}

div#block-22 li {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 1.5vh;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

div#block-22 li::after {
    counter-increment: rank_number;
    content: counter(rank_number);
    display: block;
    position: absolute;
    left: 0;
    width: 2vw;
    height: 1.5vw;
    background: rgb(3 48 89 / 80%);
    color: #fff;
    font-size: .9rem;
    text-align: center;
}

ul.wpp-list li,
div#execphp-3 li {
    margin-bottom: 1em;
}

ul.wpp-list li:last-of-type,
div#execphp-3 li:last-of-type {
    margin-bottom: unset;
}

a.wpp-post-title,
.sidebar p.blog_title a {
    line-height: 1.4;
    font-weight: 600;
}

.sidebar p.blog_title {
    width: 57%;
}

ul.wpp-list li a:hover,
.Widget_newpost li a:hover {
    opacity: 0.6;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

aside#sidebar a {
    text-decoration: none;
}

aside#sidebar .widget_block {
    margin-bottom: 5vh;
}

a.np-title,
div#categories-3 a,
div#archives-3 a {
    color: var(--color-theme);
}

div#categories-3,
div#archives-3 {
    margin-top: 5vh;
}

div#categories-3 ul,
div#archives-3 ul {
    padding-left: 1em;
    list-style: none;
}

div#categories-3 li,
div#archives-3 li {
    padding: .5vh 0;
    font-size: 1.1rem;
}

div#categories-3 li::before,
div#archives-3 li::before {
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #033059;
    display: inline-block;
    margin-right: 10px;
    vertical-align: middle;
}


/*---------------------------------------------------------
アーカイブ
---------------------------------------------------------*/

.archive.date section.blog_wrap h1,
.archive.category section.blog_wrap h1,
.archive.tag section.blog_wrap h1 {
    font-size: 1.5rem;
    margin-bottom: 1vh;
    color: var(--color-theme);
    letter-spacing: .05vw;
    font-weight: 600;
}


/*---------------------------------------------------------
お問い合わせ
---------------------------------------------------------*/

.table-res-form {
    width: 100%;
    margin-top: 5vh;
}


.table-res-form tr.td_last {
    border: unset;
}

.table-res-form th,
.table-res-form td {
    padding: 3vh 3vh 3vh 0;
}

.table-res-form th {
    font-size: 1.3rem;
    width: 27%;
    text-align: right;
    vertical-align: top;
    font-weight: 500;
}

.table-res-form th span.parentheses {
    font-size: 1rem;
    display: block;
    line-height: 1.5;
    margin-top: 1vh;
}

.table-res-form td {
    vertical-align: middle;
}

.table-res-form .requied {
    font-size: .8em;
    color: #fff;
    display: inline-block;
    padding: .2vh .3vw;
    background: var(--color-theme);
    position: relative;
    top: -1px;
    margin-left: .2vw;
}

.wpcf7 input,
.wpcf7 textarea {
    border: 1px solid #033059 !important;
}

.wpcf7 .wpcf7-submit {
    width: 50% !important;
}

span.wpcf7-form-control.wpcf7-checkbox {
    display: -ms-grid;
    display: grid;
    text-align: left;
    font-size: 1.2rem;
}

span.wpcf7-list-item-label {
    line-height: 1.8;
}

span.wpcf7-list-item.last.has-free-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

span.wpcf7-list-item.last.has-free-text label {
    width: 12%;
}

span.wpcf7-list-item.last.has-free-text input.wpcf7-free-text {
    width: 30%;
    padding: 0 0.5em;
    height: 25px;
    margin-top: 4px;
}

.table-res-form input[type="text"],
input[type="email"],
textarea,
.wpcf7 input[type="tel"],
select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
select.wpcf7-form-control.wpcf7-select,
.wpcf7-text {
    padding: 0.2em 0.5em;
    height: 2.5vw;
    font-size: 1.2rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 0;
    width: 100%;
}

.table-res-form input[type="text"]:focus,
textarea:focus {
    background: #FFF;
    -webkit-box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5);
    box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5);
}

.wpcf7 input[type="checkbox"] {
    left: -.2vw;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    width: 1.1vw;
    height: 1.1vw;
    border-radius: 0;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    top: -.2vh;
    position: relative;
}

.wpcf7 input[type="checkbox"]:checked {
    background-color: var(--color-theme);
    border-color: var(--color-theme);
    position: relative;
}

.wpcf7 input[type=checkbox]:checked:after {
    content: "";
    display: block;
    width: 1vw;
    height: .5vw;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
            transform: rotate(135deg);
    position: absolute;
    left: 1px;
    top: 1px;
    z-index: 1;
}

textarea.wpcf7-form-control.wpcf7-textarea {
    height: 16em;
    padding: 0.5em;
}


.table-res-form input[type=submit] {
    position: relative;
    padding: .5vh 0;
    color: #fff;
    background: var(--color-theme);
    font-weight: 500;
    font-size: 1.4rem;
    letter-spacing: .2em;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
    border: 1.5px solid #fff !important;
    border-radius: 0;
}

.table-res-form input[type=submit]:hover {
    -webkit-box-shadow: none;
    box-shadow: none;
    border: 1.5px solid #033059 !important;
    background: #ffffff;
    color: var(--color-theme);
}

span.wpcf7-spinner {
    display: none;
}

tr.td_last {
    text-align: center;
}

tr.td_last td {
    padding: 1.5em 0;
}

.home tr.td_last td {
    padding: 0;
}

span.wpcf7-not-valid-tip {
    color: #E91E63;
    text-align: center;
    display: block;
    font-size: 1rem;
}

.wpcf7 form .wpcf7-response-output {
    margin: 2vh auto 2vh !important;
    padding: .5em !important;
}

form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #e91e63 !important;
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: #E91E63 !important;
}

.wpcf7-response-output {
    text-align: center;
    color: #e91e63;
    margin-top: 2em;
    padding: 0.5em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

select {
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
    border: .5px solid #333 !important;
}

.recaptcha {
    text-align: center;
    margin-bottom: 1em;
}

.recaptcha a {
    text-decoration: none;
    color: var(--color-main);
}

.grecaptcha-badge {
    visibility: hidden;
}

.screen-reader-response {
    display: none;
}

p.pp {
    text-align: center;
}

p.pp a {
    color: var(--color-main);
    text-decoration: none;
    font-size: 1.2rem;
}

p.pp a:hover {
    opacity: 0.6;
}

.contact_text_bottom {
    text-align: center;
    margin-top: 3vh;
    font-size: 1rem;
}

/*---------------------------------------------------------
固定ページ
---------------------------------------------------------*/
.fixed-page {
    margin-top: 12vh;
}

.fixed-page .inner {
    width: 55%;
    margin: 0 auto;
    padding: 7vh 0 10vh;
}

.fixed-page h1 {
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: .02vw;
    line-height: 1.8;
}

.fixed-page a {
    text-decoration: underline;
    color: var(--color-theme);
}

.breadcrumb a {
    text-decoration: none;
}

/*---------------------------------------------------------
404 ページ
---------------------------------------------------------*/
.error404 main {
    text-align: center;
    padding: 7vh 0 15vh;
}

.error404 main h2 {
    font-size: 2rem;
    margin-bottom: 3vh;
    color: var(--color-theme);
}

.error404 main p {
    font-size: 1.3rem;
}

.error404 main div {
    margin-top: 5vh;
}

.error404 main div a {
    width: 20%;
    padding: .7vh 0;
    display: block;
    text-align: center;
    margin: 0 auto;
    background: #033059;
    color: #fff;
    font-size: 1.2rem;
    letter-spacing: .05vw;
    font-weight: 500;
    position: relative;
}

/*---------------------------------------------------------
  スマホ
  ---------------------------------------------------------*/

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

    body {
        line-height: 1.7;
    }

    .topBtn {
        display: none !important;
    }

    br.sp_block {
        display: block !important;
    }

    .sp_block {
        display: block !important;
    }

    .sp_inlineblock {
        display: inline-block !important;
    }

    span.pc_inlineblock {
        display: none !important;
    }

    .pc_block {
        display: none !important;
    }

    .pc_inlineblock {
        display: none;
    }

    header {
        position: relative;
    }



    .site-title-wrap {
        width: 100%;
    }

    .site-title-wrap img {
        width: 68%;
        margin: 0 auto;
    }


    /* margin-top */


    /* text-align */


    /* width */

    /* font-size */


    /*--------------------------------
スマホフッター固定バー
---------------------------------*/


    _::-webkit-full-page-media,
    _:future,
    :root ul.floating li {
        padding: 2svh 0 3svh;
    }

    _::-webkit-full-page-media,
    _:future,
    :root footer#footer .footer-inner {
        padding: 5svh 0 13svh;
    }


    ul.floating {
        background: rgb(3 48 89 / 90%);
        margin: 0 auto;
        overflow: hidden;
        display: table;
        table-layout: fixed;
        text-align: center;
        width: 100%;
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 3;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        border-top: .5px solid #ffe3af;
    }

    ul.floating li {
        padding: 2svh 0 2svh;
        display: table-cell;
        border-right: .5px solid #ffe3af;
    }

    ul.floating li a {
        border: none;
        display: block;
        color: #fff;
        text-align: center;
        text-decoration: none;
        font-weight: 500;
        line-height: 1;
        color: #ffe3af;
    }

    ul.floating li.one a,
    ul.floating li.three {
        letter-spacing: .5vw;
    }

    li.two {
        width: 50%;
    }

    li.two a {
        font-size: 4vw;
        font-weight: 500;
    }

    ul.floating li.three {
        border-right: unset;
    }


    /*--------------------------------
ハンバーガーメニュー
---------------------------------*/
    .g-nav-openbtn {
        display: block;
        position: absolute;
        z-index: 999999;
        top: 3vw;
        right: 3%;
        cursor: pointer;
        width: 50px;
        height: 11svh;
    }


    .g-nav-openbtn .openbtn-area {
        -webkit-transition: all .4s;
        -o-transition: all .4s;
        transition: all .4s;
    }

    .g-nav-openbtn span {
        display: inline-block;
        -webkit-transition: all .4s;
        -o-transition: all .4s;
        transition: all .4s;
        position: absolute;
        left: 14px;
        height: 2px;
        border-radius: 2px;
        width: 45%;
    }

    .nav-menu .menu-list,
    nav.globalMenuSp ul {
        display: block;
    }

    nav#g-nav {
        background: #033059;
    }

    .hamburger {
        display: block;
        height: auto;
        cursor: pointer;
        text-align: center;
        color: #ffe3af;
    }

    nav.globalMenuSp {
        position: fixed;
        z-index: 1000;
        top: 0;
        left: 0;
        color: #fff;
        background: #3ad6ff;
        text-align: center;
        width: 100%;
        -webkit-transform: translateX(100%);
            -ms-transform: translateX(100%);
                transform: translateX(100%);
        -webkit-transition: -webkit-transform 0.3s ease-in-out;
        transition: -webkit-transform 0.3s ease-in-out;
        -o-transition: transform 0.3s ease-in-out;
        transition: transform 0.3s ease-in-out;
        transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
        min-height: 100%;
    }

    nav#g-nav {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        z-index: 10000;
    }

    .g-nav_logo {
        width: 68%;
        margin: 0 auto 3svh;
    }

    nav.globalMenuSp ul#g-navi {
        margin: 0 auto;
        padding: 0;
        width: 80%;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        height: unset;
    }

    nav.globalMenuSp ul li {
        padding: 1svh 0;
        width: 100%;
    }

    nav ul li a {
        font-weight: 400;
        font-family: unset;
        border-right: unset;
    }

    .menu-list {
        width: 100%;
        top: 0;
        border: unset;
        position: relative;
    }

    .menu-list>li.one a {
        border-bottom: unset;
    }

    nav ul li.contact {
        outline: unset;
        outline-offset: unset;
        background: unset;
    }

    header nav ul li,
    nav.globalMenuSp ul li a,
    li.nav-menu {
        display: block;
        font-size: 4.5vw;
    }

    nav.globalMenuSp ul li:hover {
        background: rgb(255 255 255 / 50%);
    }

    nav.globalMenuSp ul li a,
    li.nav-menu {
        display: block;
        color: #fff;
        padding: 0;
        text-decoration: none;
        letter-spacing: 2px;
        font-weight: 500;
        text-align: center;
    }

    nav.globalMenuSp.active {
        -webkit-transform: translateX(0);
            -ms-transform: translateX(0);
                transform: translateX(0);
    }

    nav.globalMenuSp ul li:hover {
        background: unset;
    }

    .is-fixed {
        display: none !important;
    }

    nav#g-nav .hamburger {
        color: #171c61;
        font-size: 3.6vw;
        background: #ffffff;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: 3svh auto 0;
        padding: .5svh 1.5em;
        border-radius: 50px;
    }

    nav.globalMenuSp ul li.contact a {
        padding: 1.2svh 0;
        background: var(--gradient-primary);
        height: unset;
        width: 100%;
        margin: 0 auto;
        text-align: center;
        margin-top: 1svh;
        color: var(--color-main);
        outline: .7px solid #333;
        outline-offset: -1vw;
    }

    nav ul li.contact a hr {
        border-top: 1px solid #333;
        margin: .5svh auto 0;
        width: 60%;
    }
}




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

    ul.floating {
        display: none !important;
    }
}



/*---------------------------------------------------------
  i pad all portrait
  ---------------------------------------------------------*/
@media only screen and (min-device-width: 743px) and (max-device-width: 1024px) and (orientation: portrait) {
	

    /* height */


    /* top */



    /* padding */



    /* margin */


    /* font-size */

}


/*---------------------------------------------------------
  i pad pro landscape
  ---------------------------------------------------------*/
@media only screen and (min-device-width: 744px) and (max-device-width: 1400px) and (orientation: landscape) {
	

    /* font-size */

}

/*---------------------------------------------------------
  i pad portrait
  ---------------------------------------------------------*/
@media screen and (min-width: 767px) and (max-width: 768px) {}

/*---------------------------------------------------------
  i pad landscape
  ---------------------------------------------------------*/
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {}

/*---------------------------------------------------------
 小型PC～中型PC
---------------------------------------------------------*/
@media screen and (min-width:1200px) and (max-width:1700px) {


    /* font-size */

}


/*---------------------------------------------------------
 大型PC
---------------------------------------------------------*/

@media screen and (min-width:1920px) {
	/* font-size */
 
}